-
Notifications
You must be signed in to change notification settings - Fork 0
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
Horizontal Addressing Mode #1
Comments
Hi, I'm glad to hear that my old work may still be useful to someone. Unfortunately I don't have time to read the SSD1309 datasheet again. I'm pretty sure my SSD1306 library has a better implementation because it was prepared for DMA (it was never finished). They should be very similar. |
Marcin,
Thank you for your reply. I looked over your code and updated mine to reflect the changes, but I still get a garbled display when writing the entire frame buffer in one call to sendData. If I send it as pages as your original code 1309 code it works fine, even if I don't reconfigure the memory mode back to page. I've been scouring the SSD1309 datasheet version 1.1 and can not find a reason why it doesn't work.
Any suggestions would be appreciated!
Stuart
…________________________________
From: Marcin Bober ***@***.***>
Sent: Sunday, February 11, 2024 6:15 AM
To: mbober1/RPi-Pico-SSD1309-library ***@***.***>
Cc: Stuart Wood ***@***.***>; Author ***@***.***>
Subject: Re: [mbober1/RPi-Pico-SSD1309-library] Horizontal Addressing Mode (Issue #1)
Hi, I'm glad to hear that my old work may still be useful to someone. Unfortunately I don't have time to read the SSD1309 datasheet again. I'm pretty sure my SSD1306 library has a better implementation because it was prepared for DMA (it was never finished).
https://github.com/mbober1/RPi-Pico-SSD1306-library/blob/16c2e233bdddae7016b144ab3a3366e0e815545c/SSD1306.cpp#L177
They should be very similar.
—
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAYE6HRNVPU7UIJTTR67C4DYTCR3XAVCNFSM6AAAAABDDDS3QKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZXGU4DSMRUGQ>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello, I've been playing around with your driver for a few days and was very happy to get it working quickly.
I see you set up the device for Horizontal Addressing Mode.
27 this->sendCommand(SSD1309_setMemoryAddressingMode);
28 this->sendCommand(0x00);
But when you actually send the data you're using Page mode.
161 void SSD1309::display(unsigned char data)
162 {
163 if(data == nullptr) data = this->buffer;
164 for(uint8_t i = 0; i < this->height/8; i++) {
165 this->sendCommand(0xB0 + i);
166 this->sendCommand(0x00);
167 this->sendCommand(0x10);
168 this->sendData(&data[this->widthi], this->width);
169 }
170 }
Were you ever able to get horizontal addressing mode working where you write the entire buffer to the display in one go?
I really need this so I can implement the display refresh via a DMA transfer to the I2C hardware to free up processing time.
Thanks,
Stuart
The text was updated successfully, but these errors were encountered: