I've read the reference page on PROGMEM, and also Nick GAMMON's webpage on it. I don't understand how to put my images in PROGMEM, as it seems quite different than working with your normal strings.
I'll post a sample code below. Basically, look at the line: ui.image(test1, 0, 0);
It sends the image file to the display over I2C. test1 has all the data in it, including the size of it, at the very beginning.
I got as far as adding "#include <avr/pgmspace.h>" to the beginning, and then got stumped. If it's too complex, I can forgo adding pictures to my project. But I'd like to figure it out if it's not too hard.
Thanks,
#include <bv4612_I.h>
#include <Wire.h>
// 128x64 display with 16 way keypad
uint8_t test1[] = {
8, 128,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x02, 0x02,
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0xfe, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
0xe2, 0x22, 0x22, 0x22, 0x22, 0x3e, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3e, 0x22, 0x22,
0x3e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x80, 0x40, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x42, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40,
0x40, 0x40, 0xfc, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x41, 0x21, 0x21, 0x21, 0x21, 0x11, 0x11,
0x11, 0x11, 0x11, 0x21, 0x21, 0x21, 0x21, 0x41, 0x81, 0x81, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x01, 0x01, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00,
0x00, 0x80, 0x80, 0x04, 0x84, 0x84, 0x07, 0x04, 0x84, 0x87, 0x00, 0x00, 0x00, 0x80,
0x87, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x84, 0x84,
0x84, 0x87, 0x80, 0x80, 0x80, 0x80, 0x06, 0x01, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x10, 0x0c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x01, 0x02, 0x0c, 0x10,
0xe0, 0x00, 0x00, 0x00, 0x03, 0x7f, 0xfc, 0x80, 0xf8, 0x3f, 0x03, 0x3f, 0xf8, 0x80,
0xfc, 0x7f, 0x03, 0x00, 0xfd, 0xfd, 0x00, 0x04, 0xff, 0xff, 0x04, 0x04, 0x00, 0xff,
0xff, 0x0c, 0x04, 0x04, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
0x01, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0xf0, 0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8,
0xf0, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xf0, 0xf8, 0x0c,
0x04, 0x04, 0x0c, 0x98, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x04, 0x04, 0xfc, 0xf8, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e,
0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc1, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03,
0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x00, 0x03,
0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x03, 0x01,
0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x01, 0x03,
0x02, 0x02, 0x03, 0x01, 0x01, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x04, 0x18, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x18, 0x04,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
0x70, 0x38, 0x7c, 0xee, 0xc7, 0x83, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x98, 0x88, 0x88,
0xb8, 0xf0, 0x40, 0x00, 0x38, 0xf8, 0xc0, 0x00, 0xc0, 0xf8, 0x18, 0x00, 0xf8, 0xf8,
0x10, 0x08, 0x08, 0x18, 0xf0, 0xe0, 0x00, 0xa0, 0xb8, 0x88, 0x48, 0x48, 0xf8, 0xf0,
0x00, 0x00, 0xf0, 0xf8, 0x18, 0x08, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x04, 0x04,
0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07,
0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x04,
0x06, 0x02, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x1e, 0x07, 0x00, 0x00, 0x00, 0x3f, 0x3f,
0x02, 0x04, 0x04, 0x06, 0x03, 0x01, 0x00, 0x03, 0x07, 0x04, 0x04, 0x06, 0x07, 0x07,
0x00, 0x00, 0x01, 0x07, 0x06, 0x04, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
// 7 bit adddress is used
BV4612 ui(0x35);
void setup()
{
ui.clear();
ui.image(test1, 0, 0);
}
void loop()
{
}