{"action":"created","issue":{"url":"https://api.github.com/repos/astralien3000/aversive--/issues/78","labels_url":"https://api.github.com/repos/astralien3000/aversive--/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/astralien3000/aversive--/issues/78/comments","events_url":"https://api.github.com/repos/astralien3000/aversive--/issues/78/events","html_url":"https://github.com/astralien3000/aversive--/issues/78","id":109705440,"number":78,"title":"Hardware Abstraction Layer (HAL) - Begining","user":{"login":"astralien3000","id":1277843,"avatar_url":"https://avatars.githubusercontent.com/u/1277843?v=3","gravatar_id":"","url":"https://api.github.com/users/astralien3000","html_url":"https://github.com/astralien3000","followers_url":"https://api.github.com/users/astralien3000/followers","following_url":"https://api.github.com/users/astralien3000/following{/other_user}","gists_url":"https://api.github.com/users/astralien3000/gists{/gist_id}","starred_url":"https://api.github.com/users/astralien3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astralien3000/subscriptions","organizations_url":"https://api.github.com/users/astralien3000/orgs","repos_url":"https://api.github.com/users/astralien3000/repos","events_url":"https://api.github.com/users/astralien3000/events{/privacy}","received_events_url":"https://api.github.com/users/astralien3000/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/astralien3000/aversive--/labels/AVR","name":"AVR","color":"eb6420"},{"url":"https://api.github.com/repos/astralien3000/aversive--/labels/big%20task","name":"big task","color":"5319e7"},{"url":"https://api.github.com/repos/astralien3000/aversive--/labels/STM32","name":"STM32","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"astralien3000","id":1277843,"avatar_url":"https://avatars.githubusercontent.com/u/1277843?v=3","gravatar_id":"","url":"https://api.github.com/users/astralien3000","html_url":"https://github.com/astralien3000","followers_url":"https://api.github.com/users/astralien3000/followers","following_url":"https://api.github.com/users/astralien3000/following{/other_user}","gists_url":"https://api.github.com/users/astralien3000/gists{/gist_id}","starred_url":"https://api.github.com/users/astralien3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astralien3000/subscriptions","organizations_url":"https://api.github.com/users/astralien3000/orgs","repos_url":"https://api.github.com/users/astralien3000/repos","events_url":"https://api.github.com/users/astralien3000/events{/privacy}","received_events_url":"https://api.github.com/users/astralien3000/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/astralien3000/aversive--/milestones/3","html_url":"https://github.com/astralien3000/aversive--/milestones/v15.xx","labels_url":"https://api.github.com/repos/astralien3000/aversive--/milestones/3/labels","id":1179962,"number":3,"title":"v15.xx","description":"2015 version\r\nHope it will be finished in 2015...","creator":{"login":"Elioty","id":5834064,"avatar_url":"https://avatars.githubusercontent.com/u/5834064?v=3","gravatar_id":"","url":"https://api.github.com/users/Elioty","html_url":"https://github.com/Elioty","followers_url":"https://api.github.com/users/Elioty/followers","following_url":"https://api.github.com/users/Elioty/following{/other_user}","gists_url":"https://api.github.com/users/Elioty/gists{/gist_id}","starred_url":"https://api.github.com/users/Elioty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Elioty/subscriptions","organizations_url":"https://api.github.com/users/Elioty/orgs","repos_url":"https://api.github.com/users/Elioty/repos","events_url":"https://api.github.com/users/Elioty/events{/privacy}","received_events_url":"https://api.github.com/users/Elioty/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":4,"state":"open","created_at":"2015-06-24T20:44:28Z","updated_at":"2015-10-22T16:37:47Z","due_on":"2015-12-30T23:00:00Z","closed_at":null},"comments":18,"created_at":"2015-10-04T21:24:03Z","updated_at":"2015-10-23T23:49:47Z","closed_at":null,"body":"Here it is ! @Elioty and I have been working on this for a few weeks.\r\n\r\nThe HAL is currently located in `/include/*/hardware` directory. The problem is that the interface provided for STM32 and AVR is not the same. The project is to have a new common interface, that will be available to the user.\r\n\r\nIndeed, we concluded that it is not possible to provide generic devices and to enable the user to use every options of the hardware. So we decided to split the configuration of the hardware, and the use of the device. So that, the user will be able to use the full potential of his microcontroller, while being able the use the simple device interface.\r\n\r\nThe functionalities that are not available on an hardware are marked as deprecated, and may trigger a compilation error. As always, the error message should be clear.\r\n\r\nThe interface is almost done for GPIO, TIMER, and UART modules.\r\n\r\nEDIT : \r\n\r\nThis issue only deals with : \r\n - [x] Create the directories architecture\r\n - [x] Declare the GPIO Driver interface\r\n - [x] Declare the TIMER Driver interface\r\n - [x] Declare the UART Driver interface\r\n - [x] Document the Interfaces\r\n - [ ] Create a tutorial on how to make a driver\r\n\r\nEDIT 2:\r\n\r\n - [x] Switch some arguments' order\r\n - [x] Find an better solution than deprecated."},"comment":{"url":"https://api.github.com/repos/astralien3000/aversive--/issues/comments/150719055","html_url":"https://github.com/astralien3000/aversive--/issues/78#issuecomment-150719055","issue_url":"https://api.github.com/repos/astralien3000/aversive--/issues/78","id":150719055,"user":{"login":"astralien3000","id":1277843,"avatar_url":"https://avatars.githubusercontent.com/u/1277843?v=3","gravatar_id":"","url":"https://api.github.com/users/astralien3000","html_url":"https://github.com/astralien3000","followers_url":"https://api.github.com/users/astralien3000/followers","following_url":"https://api.github.com/users/astralien3000/following{/other_user}","gists_url":"https://api.github.com/users/astralien3000/gists{/gist_id}","starred_url":"https://api.github.com/users/astralien3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astralien3000/subscriptions","organizations_url":"https://api.github.com/users/astralien3000/orgs","repos_url":"https://api.github.com/users/astralien3000/repos","events_url":"https://api.github.com/users/astralien3000/events{/privacy}","received_events_url":"https://api.github.com/users/astralien3000/received_events","type":"User","site_admin":false},"created_at":"2015-10-23T23:49:47Z","updated_at":"2015-10-23T23:49:47Z","body":"The problem with your technic is that we must copy-paste the message at the end of each line... Which is not really cool.\r\nDeprecated is beter for that, and if you want to generate an error, we can enable by default the flag -Werror in our makefiles."}}