-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSD1306 OLED emulation ? #3
Comments
Yes this is interesting though there are two reasons I went for LCD in the first place:
It's something to try as an experiment in due course and see how it goes. |
Some thoughts on issue 2. Perhaps I2C DMA can be paused for a short time (eg <10us) at the critical point on each scan line. eg. Set up a TIM2 or TIM3 channel in output-compare mode, and enable IRQ on compare-match. This could IRQ eg 2-3us before the OSD box, where we disable I2C DMA. Now we can either spin for eg 6us, or retask TIM1 to interrupt us again. Former is easier but note that CPU activity can also jitter the OSD (bus-matrix contention presumably). One possible solution: After disabling DMA, reprogram TIM1, then trigger a slightly lower-pri IRQ. This IRQ handler can WFI until TIM1 fires. This is all subject to confirmation that I2C DMA can be safely paused at all. I have noticed when trying this before that subsequent DMA transfers are corrupted, but possibly disabled DMA for too long. |
Item 1 - you could double the image in the X direction as an option ? |
Issue 2 is now completely fixed:
|
FF OSD now works alongside an existing OLED quite happily at 400kHz rate. Driving bitmap data to FF OSD at that rate would not be a problem. |
Is this under consideration for a future release ?
The text was updated successfully, but these errors were encountered: