{"action":"created","issue":{"url":"https://api.github.com/repos/betaflight/betaflight/issues/1422","repository_url":"https://api.github.com/repos/betaflight/betaflight","labels_url":"https://api.github.com/repos/betaflight/betaflight/issues/1422/labels{/name}","comments_url":"https://api.github.com/repos/betaflight/betaflight/issues/1422/comments","events_url":"https://api.github.com/repos/betaflight/betaflight/issues/1422/events","html_url":"https://github.com/betaflight/betaflight/pull/1422","id":185976276,"number":1422,"title":"Configuration Menu System (CMS)","user":{"login":"jflyper","id":14850998,"avatar_url":"https://avatars.githubusercontent.com/u/14850998?v=3","gravatar_id":"","url":"https://api.github.com/users/jflyper","html_url":"https://github.com/jflyper","followers_url":"https://api.github.com/users/jflyper/followers","following_url":"https://api.github.com/users/jflyper/following{/other_user}","gists_url":"https://api.github.com/users/jflyper/gists{/gist_id}","starred_url":"https://api.github.com/users/jflyper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jflyper/subscriptions","organizations_url":"https://api.github.com/users/jflyper/orgs","repos_url":"https://api.github.com/users/jflyper/repos","events_url":"https://api.github.com/users/jflyper/events{/privacy}","received_events_url":"https://api.github.com/users/jflyper/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-10-28T17:21:01Z","updated_at":"2016-11-01T07:26:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/betaflight/betaflight/pulls/1422","html_url":"https://github.com/betaflight/betaflight/pull/1422","diff_url":"https://github.com/betaflight/betaflight/pull/1422.diff","patch_url":"https://github.com/betaflight/betaflight/pull/1422.patch"},"body":"This is a continuation of #1352.\n\nWith enormous help from the community, the CMS is now:\n- Partially separated from OSD; more separation needs CMS data structures to be moved to osd.c.\n- Capable of running on multiple display devices: OSD, UART connected external OSD (MWOSD with CANVAS extension) and I2C OLED; if multiple displays are available simultaneously, they can be switched from one to another.\n\nIntegrated OSD & External MWOSD\n![img_6516](https://cloud.githubusercontent.com/assets/14850998/19816856/f9a6ae16-9d83-11e6-9790-7045c6462df7.JPG)\n\nI2C OLED\n![ca15631e-d757-45da-ab86-4ce4607c54de](https://cloud.githubusercontent.com/assets/14850998/19816865/01bc8c10-9d84-11e6-958f-fe3fb6a5efde.png)\n\nCode branch:\n[https://github.com/jflyper/cleanflight/tree/bfdev-osd-cms-separation-poc](https://github.com/jflyper/cleanflight/tree/bfdev-osd-cms-separation-poc)\n\nMWOSD: (already merged in the current master)\n[https://github.com/ShikOfTheRa/scarab-osd/tree/master](https://github.com/ShikOfTheRa/scarab-osd/tree/master)\n"},"comment":{"url":"https://api.github.com/repos/betaflight/betaflight/issues/comments/257504615","html_url":"https://github.com/betaflight/betaflight/pull/1422#issuecomment-257504615","issue_url":"https://api.github.com/repos/betaflight/betaflight/issues/1422","id":257504615,"user":{"login":"jflyper","id":14850998,"avatar_url":"https://avatars.githubusercontent.com/u/14850998?v=3","gravatar_id":"","url":"https://api.github.com/users/jflyper","html_url":"https://github.com/jflyper","followers_url":"https://api.github.com/users/jflyper/followers","following_url":"https://api.github.com/users/jflyper/following{/other_user}","gists_url":"https://api.github.com/users/jflyper/gists{/gist_id}","starred_url":"https://api.github.com/users/jflyper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jflyper/subscriptions","organizations_url":"https://api.github.com/users/jflyper/orgs","repos_url":"https://api.github.com/users/jflyper/repos","events_url":"https://api.github.com/users/jflyper/events{/privacy}","received_events_url":"https://api.github.com/users/jflyper/received_events","type":"User","site_admin":false},"created_at":"2016-11-01T07:26:08Z","updated_at":"2016-11-01T07:26:08Z","body":"> A better solution if bandwidth is really that much of an issue would be to have the client request an array of strings on connection and have a separate draw string function that provides an index in this array. Since pretty much all of the text is predefined there shouldn't be too much issue with this.\r\n\r\nThings to consider in this approach:\r\n1. Latency at menu start or menu page transition. How long does it take to download strings for all or the current page.\r\n2. If lua has local storage, then strings can really be cached, and string ordinals can be invalidated by version info of string sets.\r\n"}}
{"actor":{"display_login":"jflyper"}}