#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
void setup(void)
{
u8x8.begin();
u8x8.setFont(u8x8_font_chroma48medium8_r);
u8x8.drawString(0,0,"JOE");
}
void loop(){
}
`
`End Code``
I have a cheap logic analyzer and hooked it up to scl and sda and get a good run, but,
I can not find where it actually writes the data to the device. It does 8 pages of 16 groups of each.
I can see where it turns the display on, but not the data "JOE". Anyone have experience using pulseview on a SSD1306 oled?
BTW After clicking <code> to post code, how to you end it?
Thanks
After you click the < CODE > icon just paste your code where indicated by the "type or paste code here" message and leave the lines with the 3 backticks before and after it in place
Even easier, right click in the IDE and select "Copy for Forum" and the code tags will be added to the code copied to the clipboard so no need to do anything other than paste into a reply here
Just an 8 bit salae clone. Screen shot way too big to paste and forum won't allow the pulseview stored file. The oled is going thru all 8 pages, then turns the display on the does page B0 twice. I am wondering if it changes the data some way. If it was in the loop, I would have to come up with a way to sync it. Now I give the run command to pulseview and push reset on the uno. BTW, it does work just fine. I was trying to educate myself with the logic analyzer. I had a problem when doing a SSD1306 oled with a PIC mcu and was going nuts, so did a minimal hit with the Uno thinking it would be easy. Ha ha.
If your scope has an external trigger, wire an Arduino digital pin to the scope external trigger input and have a "while(buttonNotPressed)" waiting just before the JOE send. When the Arduino button is pressed, a pin goes HIGH, scope is triggered, and JOE sends.
When you send "JOE" it doesn't send a J-O-E to the screen. The library figures out which pixels need to be lit up in order to display those letters in the particular font and size you've chosen. Then that screen buffer is sent. Nowhere in it are the actual letters J, O, or E. Just the data on which pixels need to be lit up and how.
xfpd: this was done with a salae clone usb device. I did not loop. I just told pulseview to run then pressed reset on the uno to get the trace. The trace does begin at the beginning. It is a very large run for such a small program.
All: I found the sigrok-dump and downloaded it and looked at the dump of SS1306 on that and it behaves just about the same.