#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); // Fast I2C / TWI
int progress = 0;
void setup() {
// Serial.begin(115200);
// Serial.println("foo!\n");
mySetup(115200);
xprintf("\nhello world.\n");
u8g.setFont(u8g_font_unifont);
u8g.setColorIndex(1);
loopz();
for (; ; );
}
int counter;
void loop()
{
Serial.println(counter);
counter++;
loopz();
}
// u8g by pages
void loopz(void) {
u8g.firstPage();
do {
draw();
} while (u8g.nextPage());
}
// redraw the entire OLED display
void draw(void) {
u8g.drawStr( 0, 10, "Seriously");
char buff[32];
sprintf(buff, "%d", counter);
u8g.drawStr( 0, 32, buff);
}
// programmer misses printf...
void xprintf(const char *format, ...)
{
char buffer[256];
va_list args;
va_start(args, format);
vsprintf(buffer, format, args);
va_end(args);
Serial.print(buffer);
}
// programmer forgets day of week, version
void mySetup(unsigned long bandRate)
{
Serial.begin(bandRate);
char s[] = __FILE__;
byte b = sizeof(s);
while ( (b > 0) && (s[b] != 47)) b--;
char *u = s + b + 1;
xprintf("\nHEllo WOrld!\n");
xprintf("%s %s\n\n", __DATE__, u);
xprintf("!\n");
}
Loading
ssd1306
ssd1306