{"action":"created","issue":{"url":"https://api.github.com/repos/df8oe/UHSDR/issues/1089","repository_url":"https://api.github.com/repos/df8oe/UHSDR","labels_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1089/labels{/name}","comments_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1089/comments","events_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1089/events","html_url":"https://github.com/df8oe/UHSDR/issues/1089","id":260782117,"number":1089,"title":"New LCD proposal","user":{"login":"sp9bsl","id":17089070,"avatar_url":"https://avatars3.githubusercontent.com/u/17089070?v=4","gravatar_id":"","url":"https://api.github.com/users/sp9bsl","html_url":"https://github.com/sp9bsl","followers_url":"https://api.github.com/users/sp9bsl/followers","following_url":"https://api.github.com/users/sp9bsl/following{/other_user}","gists_url":"https://api.github.com/users/sp9bsl/gists{/gist_id}","starred_url":"https://api.github.com/users/sp9bsl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sp9bsl/subscriptions","organizations_url":"https://api.github.com/users/sp9bsl/orgs","repos_url":"https://api.github.com/users/sp9bsl/repos","events_url":"https://api.github.com/users/sp9bsl/events{/privacy}","received_events_url":"https://api.github.com/users/sp9bsl/received_events","type":"User","site_admin":false},"labels":[{"id":249580240,"url":"https://api.github.com/repos/df8oe/UHSDR/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":249580243,"url":"https://api.github.com/repos/df8oe/UHSDR/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":61,"created_at":"2017-09-26T21:52:45Z","updated_at":"2017-10-03T10:13:03Z","closed_at":null,"author_association":"NONE","body":"Hello everyone, my name is Slawek, this is my first post in this topic. \r\nEncouraged by Andreas, i would like to present some work with raspberry pi LCD connected to UI board.\r\nThis LCD module has resolution 480x320, size of 3.5\" and SPI interface.\r\nYou can see it working in my video published few weeks ago: \r\n[video](https://www.youtube.com/watch?v=HzEP_i8pxCs&t=41s)\r\nI made simple adapter board with few connectors and 5V voltage regulator, simply inserted in socket for 2.8\" LCD. The only modification of UI board is connected 8V for 5V voltage regulator on unused LCD pin. I decided to add a voltage regulator because of thermal hazard of U3 (LM2941), this LCD (its backlight) needs about 80mA more current. This is all regarding hardware. Ofcourse i can always step back to old 2.8 LCD by simply replacing it without soldering. This LCD is also few milimeters bigger in both directions and won't fit in tight case prepared for current LCD.\r\n\r\nNow about firmware. \r\nAs you can see on video there is simultaneous spectrum and waterfall display. This is the main advantage over normal solution with 2.8\" LCD. I managed overall outfit of lcd by watching video recorded by HAM  from Russia:\r\n[video](https://www.youtube.com/watch?v=PrIvSIxiitw&t=26s)\r\nAs you may think, there is a lot of differences with driver code. This LCD uses ILI9486 controller and it has little similarity to ILI932x, so almost all basic functions regarding communications required changes.\r\nAlso because of twice as width compared to old LCD i also changed buffers size and depth of FFT.\r\nSimultaneous spectrum and waterfall display requires more memory for buffers that are swapped between waterfall or spectrum in current firmware.\r\n\r\nDisplay of spectrum and waterfal at one time required rewrite DMA based LCD functions to speed it up.\r\nInstead of drawing every bin of FFT pixel by pixel i changed it to two pre drawn buffers. The first buffer contains background with grid, second is full filled with color of spectrum display also with grid. Drawing function simply changes buffers instead of pushing every pixel to buffer and flushing it when is full. This step gives speed up for about twice. I also added highlight for filter bandwidth working in the same way.\r\n\r\nThere is one drawback, i did not test freedv communication. Display improvements i made required more RAM for double buffers for FFT results needed by scope and waterfall. Now i have 102292 bss and 3736 data. There is some room for heap/stack but i cannot guarantee that freedv will now work, . I didn't mention that i still use STM32F405 with 192kb of RAM. Although i didn't find any RAM usage statistics for freedv.\r\n\r\nI know that it will require a lot of work to integrate new lcd with current project, although i think that this change will bring big enhancement in overall look on this fantastic project. There is a lot to speak and think about it, i'm open for any suggestion where to start. At the beginning there should be a little cleanup with current definitions of placement items on LCD and touch. Plenty of them are coded inline (touch panel mainly). If we decide to integrate this lcd to current project, i think there should be conditional code compilation for new lcd version because of different item positions and size.\r\n\r\n73, Slawek SP9BSL\r\n"},"comment":{"url":"https://api.github.com/repos/df8oe/UHSDR/issues/comments/333799036","html_url":"https://github.com/df8oe/UHSDR/issues/1089#issuecomment-333799036","issue_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1089","id":333799036,"user":{"login":"DG9BFC","id":17382592,"avatar_url":"https://avatars1.githubusercontent.com/u/17382592?v=4","gravatar_id":"","url":"https://api.github.com/users/DG9BFC","html_url":"https://github.com/DG9BFC","followers_url":"https://api.github.com/users/DG9BFC/followers","following_url":"https://api.github.com/users/DG9BFC/following{/other_user}","gists_url":"https://api.github.com/users/DG9BFC/gists{/gist_id}","starred_url":"https://api.github.com/users/DG9BFC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DG9BFC/subscriptions","organizations_url":"https://api.github.com/users/DG9BFC/orgs","repos_url":"https://api.github.com/users/DG9BFC/repos","events_url":"https://api.github.com/users/DG9BFC/events{/privacy}","received_events_url":"https://api.github.com/users/DG9BFC/received_events","type":"User","site_admin":false},"created_at":"2017-10-03T10:13:03Z","updated_at":"2017-10-03T10:13:03Z","author_association":"NONE","body":"i could test the new lcd on mchf :-) cause mine is not mounted in a case (yet) .... i would just need that adaptor pcb and the lcd (plus a spot where to download modded firmware)"}}
{"actor":{"display_login":"DG9BFC"}}