{"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":12,"created_at":"2015-10-04T21:24:03Z","updated_at":"2015-10-22T21:29:54Z","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] Creating the directories architecture\r\n - [x] Declaring the GPIO Driver interface\r\n - [x] Declaring the TIMER Driver interface\r\n - [x] Declaring the UART Driver interface\r\n - [x] Documenting the Interfaces\r\n - [ ] Creating a tutorial on how to make a driver"},"comment":{"url":"https://api.github.com/repos/astralien3000/aversive--/issues/comments/150361789","html_url":"https://github.com/astralien3000/aversive--/issues/78#issuecomment-150361789","issue_url":"https://api.github.com/repos/astralien3000/aversive--/issues/78","id":150361789,"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-22T21:29:54Z","updated_at":"2015-10-22T21:29:54Z","body":"As we were discussing by mail, I think it would be better to replace \"deprecated\" secification from the interface (which is dirty, anyway), and replace it with just a protected or private interface. The error would not be at link-time, but at compile-time.\r\n\r\nAnd also, maybe we should move the `pin_number` and `pin_mask` parameters to the begining of parameters list."}}