{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/Firmware/issues/8812","repository_url":"https://api.github.com/repos/PX4/Firmware","labels_url":"https://api.github.com/repos/PX4/Firmware/issues/8812/labels{/name}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/8812/comments","events_url":"https://api.github.com/repos/PX4/Firmware/issues/8812/events","html_url":"https://github.com/PX4/Firmware/issues/8812","id":294116518,"number":8812,"title":"board manifest ideas","user":{"login":"dagar","id":84712,"avatar_url":"https://avatars3.githubusercontent.com/u/84712?v=4","gravatar_id":"","url":"https://api.github.com/users/dagar","html_url":"https://github.com/dagar","followers_url":"https://api.github.com/users/dagar/followers","following_url":"https://api.github.com/users/dagar/following{/other_user}","gists_url":"https://api.github.com/users/dagar/gists{/gist_id}","starred_url":"https://api.github.com/users/dagar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dagar/subscriptions","organizations_url":"https://api.github.com/users/dagar/orgs","repos_url":"https://api.github.com/users/dagar/repos","events_url":"https://api.github.com/users/dagar/events{/privacy}","received_events_url":"https://api.github.com/users/dagar/received_events","type":"User","site_admin":false},"labels":[{"id":10884840,"url":"https://api.github.com/repos/PX4/Firmware/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":706033618,"url":"https://api.github.com/repos/PX4/Firmware/labels/proposal","name":"proposal","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":{"login":"dagar","id":84712,"avatar_url":"https://avatars3.githubusercontent.com/u/84712?v=4","gravatar_id":"","url":"https://api.github.com/users/dagar","html_url":"https://github.com/dagar","followers_url":"https://api.github.com/users/dagar/followers","following_url":"https://api.github.com/users/dagar/following{/other_user}","gists_url":"https://api.github.com/users/dagar/gists{/gist_id}","starred_url":"https://api.github.com/users/dagar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dagar/subscriptions","organizations_url":"https://api.github.com/users/dagar/orgs","repos_url":"https://api.github.com/users/dagar/repos","events_url":"https://api.github.com/users/dagar/events{/privacy}","received_events_url":"https://api.github.com/users/dagar/received_events","type":"User","site_admin":false},"assignees":[{"login":"dagar","id":84712,"avatar_url":"https://avatars3.githubusercontent.com/u/84712?v=4","gravatar_id":"","url":"https://api.github.com/users/dagar","html_url":"https://github.com/dagar","followers_url":"https://api.github.com/users/dagar/followers","following_url":"https://api.github.com/users/dagar/following{/other_user}","gists_url":"https://api.github.com/users/dagar/gists{/gist_id}","starred_url":"https://api.github.com/users/dagar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dagar/subscriptions","organizations_url":"https://api.github.com/users/dagar/orgs","repos_url":"https://api.github.com/users/dagar/repos","events_url":"https://api.github.com/users/dagar/events{/privacy}","received_events_url":"https://api.github.com/users/dagar/received_events","type":"User","site_admin":false},{"login":"davids5","id":1945821,"avatar_url":"https://avatars1.githubusercontent.com/u/1945821?v=4","gravatar_id":"","url":"https://api.github.com/users/davids5","html_url":"https://github.com/davids5","followers_url":"https://api.github.com/users/davids5/followers","following_url":"https://api.github.com/users/davids5/following{/other_user}","gists_url":"https://api.github.com/users/davids5/gists{/gist_id}","starred_url":"https://api.github.com/users/davids5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davids5/subscriptions","organizations_url":"https://api.github.com/users/davids5/orgs","repos_url":"https://api.github.com/users/davids5/repos","events_url":"https://api.github.com/users/davids5/events{/privacy}","received_events_url":"https://api.github.com/users/davids5/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-02-03T14:51:01Z","updated_at":"2018-02-13T23:40:11Z","closed_at":null,"author_association":"OWNER","body":"@davids5 I'd like to start planning the long discussed board manifest idea. Let's try to gather some simple requirements and find an incremental path forward.\r\n\r\n\r\nEach board (and particular configurations) not knowing which sensors they actually have, or even how many of each it should have is a huge pain point.\r\n\r\nIt's not clear to me how far we could/should take this, but I'd like to first think about the aspects that pertain to sensors.\r\n\r\n - json of similar board definition\r\n - sensor configuration by bus\r\n  - i2c\r\n     - per bus configuration (frequency)\r\n     - internal/external\r\n  - spi\r\n     - per bus configuration (frequency)\r\n     - internal/external\r\n     - chip selects\r\n     - interrupt configuration?\r\n  - uarts\r\n\r\nFrom this we could fill in large portions of the board_config.h and generate the actual sensor startup code. I think we also need some notion of required devices and optional. The board manifest could contain enough information to determine the device id. Other code could independently verify that all required sensors are present and working. Alternatively the actual startup could somehow be tied together.\r\n\r\nQuestions\r\n - how detailed is the board manifest? Does it cover the low level hardware configuration generically?\r\n - if we want to list and configure specific sensors should it be done at a separate higher level to easily allow different sensor configurations?\r\n - How do we handle extremely variable configs like the px4fmu-v2?\r\n - A subset of this configuration needs to work across all supported platforms. For example on Linux we should know which SPI, I2C, serial are available to PX4, including any additional metadata like internal/external\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/PX4/Firmware/issues/comments/365443650","html_url":"https://github.com/PX4/Firmware/issues/8812#issuecomment-365443650","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/8812","id":365443650,"user":{"login":"davids5","id":1945821,"avatar_url":"https://avatars1.githubusercontent.com/u/1945821?v=4","gravatar_id":"","url":"https://api.github.com/users/davids5","html_url":"https://github.com/davids5","followers_url":"https://api.github.com/users/davids5/followers","following_url":"https://api.github.com/users/davids5/following{/other_user}","gists_url":"https://api.github.com/users/davids5/gists{/gist_id}","starred_url":"https://api.github.com/users/davids5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davids5/subscriptions","organizations_url":"https://api.github.com/users/davids5/orgs","repos_url":"https://api.github.com/users/davids5/repos","events_url":"https://api.github.com/users/davids5/events{/privacy}","received_events_url":"https://api.github.com/users/davids5/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T23:40:11Z","updated_at":"2018-02-13T23:40:11Z","author_association":"MEMBER","body":"@dagar correct it is the PX4 sensor usage. NuttX board is compile time driven (as opposed to runtime driven like libopencm3) I do not think we want expand the scope to that level."}}
{"actor":{"display_login":"davids5"}}