Comments (6)
No, the library was never tested with 0.49" 64x32 displays. Please make sure you are using proper SSD1306_WIDTH and SSD1306_HEIGHT values https://github.com/afiskon/stm32-ssd1306/blob/master/ssd1306/ssd1306_conf_template.h If you are certain there is a bug please feel free submitting a pull request.
from stm32-ssd1306.
I got the code working now after completely re-doing the ssd1306_Init. I looked into the how u8g2 library does the init for SSD1306 it closely matches the sequence in the datasheet so I used that as a basis. I also had to set SSD1306_X_OFFSET to 32 but I consider that configuration and not a bug. So the delta for the pull request will be considerable and possibly with regressions for other display geometries.
from stm32-ssd1306.
Also got DMA working:
@400kHz iic 4 pages (1 frame) takes around 7 ms. Potential frame rate 140 Hz with zero CPU usage for frame transfer.
from stm32-ssd1306.
as indicated ssd1306_Init() is:
- not maintainable
- definitely not working with 64x32 and very likely also not working with other odd formats
In case of issues with the proposed change finding an issue is relatively easy. With the current implementation it is like finding a needle in a haystack as I experienced myself. I took me more then 6 hours to get the 64x32 display working. ssd1306_Init() is a mess and completely diverging from the init in the datasheet.
I2C DMA is nicely implemented with an optional compile switch and there is no dependency with a SPI implementation.
If the pull request is not acceptable for you I will maintain a separate fork or alternative implementation. Without DMA support the applicability of the library for "real" application is limited unless you want to burn CPU cycles with your 32-bit microcontroller.
from stm32-ssd1306.
I took me more then 6 hours to get the 64x32 display working.
Glad that you managed to fix this issue. Please consider submitting a pull request.
If the pull request is not acceptable for you I will maintain a separate fork or alternative implementation. Without DMA support the applicability of the library for "real" application is limited unless you want to burn CPU cycles with your 32-bit microcontroller.
I don't see how DMA is related to this discussion.
from stm32-ssd1306.
Will maintain a fork.
from stm32-ssd1306.
Related Issues (20)
- Testing on STM32L1 HOT 2
- Smaller bitmap images not working HOT 1
- Add support for STM32G0 HOT 2
- Custom fonts HOT 1
- [Solved] There is always a vertical line on the right side of the screen HOT 2
- [Duplicate] How to convert fonts to 16bits ? HOT 2
- Possible endless cycle HOT 2
- use screen as portrait mode ? HOT 1
- Support for STM32WB55 (Nucleo-WB55RG) family HOT 3
- Support for STM32C0XX Series MCU HOT 1
- last 2 pixels at RHS of display remain on after reset HOT 5
- Files distributed without permission HOT 1
- DMA support HOT 2
- Custom-fonts Generate not working for me HOT 2
- How to utlize this library for Float values ? HOT 5
- How to Add Degree Celsius Symbol °C HOT 3
- Bidirectional SPI doesn't work with SSD1306 HOT 1
- Cyrillic symbols HOT 2
- Horizontal = Page
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stm32-ssd1306.