Uses *spark d-fuser controller hardware as a USB-DMX interface. Developed for visualising Laurel Pardue’s augmented violin with lights.

Dependencies:   DMX mbed spk_oled_ssd1305

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers spk_oled_gfx.h Source File

spk_oled_gfx.h

00001 // *spark audio-visual
00002 // OLED display using SSD1305 driver
00003 // Copyright *spark audio-visual 2012
00004 
00005 #ifndef SPK_OLED_GFX_h
00006 #define SPK_OLED_GFX_h
00007 
00008 #include "mbed.h"
00009 
00010 const uint8_t spkDisplayLogo[] = {
00011 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x8F, 0x07, 0x03, 0x03, 0x01, 0xC0, 0xF8, 0xBC, 0x80, 0x80, 0x80, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
00012 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xE0, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x1F, 0x4F, 0xE7, 0xE7, 0xF3, 0xB9, 0xD8, 0xEC, 0x6E, 0x7E, 0x7D, 0x53, 0x47, 0x1E, 0x3F, 0x93, 0x83, 0xC3, 0xC1, 0xE1, 0xE1, 0xF1, 0xF9, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 
00013 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x80, 0xFE, 0x80, 0xF0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0x7C, 0x7C, 0x3F, 0x9F, 0x0F, 0xCF, 0xE7, 0xE3, 0x33, 0xB9, 0xDC, 0x6C, 0x76, 0x3E, 0x3C, 0x7C, 0x6E, 0x05, 0x03, 0x8F, 0x8F, 0xC8, 0xE0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x1F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 
00014 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x60, 0x70, 0xE0, 0xE2, 0xC4, 0xCC, 0xD8, 0xF0, 0xE0, 0xC8, 0xF0, 0xE0, 0xC3, 0x8C, 0xB8, 0xF0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3E, 0x30, 0x98, 0xCC, 0x0E, 0x27, 0x73, 0xF1, 0xD9, 0xFC, 0x6E, 0x36, 0x3B, 0x9F, 0x8F, 0xCC, 0xE1, 0xF3, 0xE7, 0xCE, 0xC8, 0xE0, 0xF6, 0xFE, 0xFE, 0xFC, 0xFE, 0xFE, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
00015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x09, 0x9B, 0xDF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3D, 0x3F, 0x7F, 0x1F, 0x87, 0xEF, 0xC7, 0x07, 0x03, 0x39, 0x79, 0xFC, 0x6E, 0x36, 0xBB, 0xDD, 0x6C, 0x76, 0x3E, 0x9C, 0x90, 0xC1, 0xE3, 0xE6, 0xD0, 0xD1, 0xCF, 0xCF, 0xCF, 0x87, 0xC7, 0x43, 0x43, 0x01, 0x01, 0x80, 0x81, 0x81, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
00016 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x01, 0x81, 0x81, 0xC7, 0xD7, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x30, 0x83, 0xC7, 0xEF, 0x7E, 0x7E, 0x7F, 0xFF, 0xFF, 0x9C, 0x1C, 0x4C, 0xCC, 0xC0, 0xC2, 0xF3, 0xF9, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x9F, 0x1B, 0x19, 0x19, 0x19, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
00017 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0xA0, 0xB0, 0xF0, 0x78, 0xF9, 0xBD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0x79, 0xFC, 0xFC, 0xFE, 0xFC, 0xF1, 0xF3, 0xF9, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF1, 0xF1, 0xD3, 0xC3, 0x87, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x07, 0x0C, 0x0D, 0x19, 0x10, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
00018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x22, 0x71, 0x71, 0x39, 0x1C, 0x1E, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x21, 0x31, 0x18, 0x0F, 0x07, 0x03, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x3F, 0x0F, 0x3F, 0x3F, 0x1F, 0x0F, 0x3F, 0x7F, 0xFF, 0x7F, 0x4F, 0x1B, 0x13, 0x01, 0x03, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
00019 };
00020 
00021 // number of columns, column0 hex, column1 hex...
00022 const uint8_t char33[] = {1, 0x2F};
00023 const uint8_t char34[] = {1, 0x06};
00024 const uint8_t char35[] = {5, 0x14, 0x3E, 0x14, 0x3E, 0x14};
00025 const uint8_t char36[] = {5, 0x24, 0x2A, 0x7F, 0x2A, 0x12};
00026 const uint8_t char37[] = {5, 0x06, 0x36, 0x08, 0x36, 0x30};
00027 const uint8_t char38[] = {6, 0x14, 0x2A, 0x2A, 0x24, 0x10, 0x08};
00028 const uint8_t char39[] = {1, 0x06};
00029 const uint8_t char40[] = {2, 0x3E, 0x41};
00030 const uint8_t char41[] = {2, 0x41, 0x3E};
00031 const uint8_t char42[] = {5, 0x14, 0x08, 0x3E, 0x08, 0x14};
00032 const uint8_t char43[] = {5, 0x08, 0x08, 0x3E, 0x08, 0x08};
00033 const uint8_t char44[] = {2, 0x40, 0x20};
00034 const uint8_t char45[] = {3, 0x08, 0x08, 0x08};
00035 const uint8_t char46[] = {1, 0x20};
00036 const uint8_t char47[] = {3, 0x30, 0x08, 0x06};
00037 const uint8_t char48[] = {5, 0x1C, 0x22, 0x2A, 0x22, 0x1C};
00038 const uint8_t char49[] = {3, 0x22, 0x3E, 0x20};
00039 const uint8_t char50[] = {5, 0x32, 0x2A, 0x2A, 0x2A, 0x24};
00040 const uint8_t char51[] = {5, 0x22, 0x2A, 0x2A, 0x2A, 0x14};
00041 const uint8_t char52[] = {5, 0x18, 0x14, 0x12, 0x3E, 0x10};
00042 const uint8_t char53[] = {5, 0x2E, 0x2A, 0x2A, 0x2A, 0x12};
00043 const uint8_t char54[] = {5, 0x1C, 0x2A, 0x2A, 0x2A, 0x10};
00044 const uint8_t char55[] = {4, 0x02, 0x32, 0x0A, 0x06};
00045 const uint8_t char56[] = {5, 0x14, 0x2A, 0x2A, 0x2A, 0x14};
00046 const uint8_t char57[] = {5, 0x04, 0x2A, 0x2A, 0x2A, 0x1C};
00047 const uint8_t char58[] = {1, 0x24};
00048 const uint8_t char59[] = {2, 0x40, 0x24};
00049 const uint8_t char60[] = {3, 0x08, 0x14, 0x22};
00050 const uint8_t char61[] = {4, 0x14, 0x14, 0x14, 0x14};
00051 const uint8_t char62[] = {3, 0x22, 0x14, 0x08};
00052 const uint8_t char63[] = {4, 0x01, 0x2D, 0x05, 0x02};
00053 const uint8_t char64[] = {6, 0x3E, 0x41, 0x4D, 0x55, 0x15, 0x1E};
00054 const uint8_t char65[] = {5, 0x3C, 0x0A, 0x0A, 0x0A, 0x3C};
00055 const uint8_t char66[] = {5, 0x3E, 0x2A, 0x2A, 0x2A, 0x14};
00056 const uint8_t char67[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x14};
00057 const uint8_t char68[] = {5, 0x3E, 0x22, 0x22, 0x22, 0x1C};
00058 const uint8_t char69[] = {4, 0x3E, 0x2A, 0x2A, 0x22};
00059 const uint8_t char70[] = {4, 0x3E, 0x0A, 0x0A, 0x02};
00060 const uint8_t char71[] = {5, 0x1C, 0x22, 0x22, 0x2A, 0x1A};
00061 const uint8_t char72[] = {5, 0x3E, 0x08, 0x08, 0x08, 0x3E};
00062 const uint8_t char73[] = {1, 0x3E};
00063 const uint8_t char74[] = {5, 0x10, 0x20, 0x20, 0x20, 0x1E};
00064 const uint8_t char75[] = {5, 0x3E, 0x08, 0x08, 0x14, 0x22};
00065 const uint8_t char76[] = {4, 0x3E, 0x20, 0x20, 0x20};
00066 const uint8_t char77[] = {5, 0x3E, 0x04, 0x08, 0x04, 0x3E};
00067 const uint8_t char78[] = {5, 0x3E, 0x04, 0x08, 0x10, 0x3E};
00068 const uint8_t char79[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x1C};
00069 const uint8_t char80[] = {5, 0x3E, 0x0A, 0x0A, 0x0A, 0x04};
00070 const uint8_t char81[] = {3, 0x1C, 0x22, 0x72};
00071 const uint8_t char82[] = {5, 0x3E, 0x0A, 0x0A, 0x1A, 0x24};
00072 const uint8_t char83[] = {5, 0x24, 0x2A, 0x2A, 0x2A, 0x12};
00073 const uint8_t char84[] = {5, 0x02, 0x02, 0x3E, 0x02, 0x02};
00074 const uint8_t char85[] = {5, 0x1E, 0x20, 0x20, 0x20, 0x1E};
00075 const uint8_t char86[] = {5, 0x06, 0x18, 0x20, 0x18, 0x06};
00076 const uint8_t char87[] = {7, 0x1E, 0x20, 0x10, 0x0E, 0x10, 0x20, 0x1E};
00077 const uint8_t char88[] = {5, 0x22, 0x14, 0x08, 0x14, 0x22};
00078 const uint8_t char89[] = {5, 0x02, 0x04, 0x38, 0x04, 0x02};
00079 const uint8_t char90[] = {5, 0x22, 0x32, 0x2A, 0x26, 0x22};
00080 const uint8_t char91[] = {2, 0x7F, 0x41};
00081 const uint8_t char92[] = {3, 0x06, 0x08, 0x30};
00082 const uint8_t char93[] = {2, 0x41, 0x7F};
00083 const uint8_t char94[] = {3, 0x04, 0x02, 0x04};
00084 const uint8_t char95[] = {4, 0x40, 0x40, 0x40, 0x40};
00085 const uint8_t char96[] = {2, 0x02, 0x04};
00086 const uint8_t char97[] = {5, 0x3C, 0x0A, 0x0A, 0x0A, 0x3C};
00087 const uint8_t char98[] = {5, 0x3E, 0x2A, 0x2A, 0x2A, 0x14};
00088 const uint8_t char99[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x14};
00089 const uint8_t char100[] = {5, 0x3E, 0x22, 0x22, 0x22, 0x1C};
00090 const uint8_t char101[] = {4, 0x1C, 0x2A, 0x2A, 0x22};
00091 const uint8_t char102[] = {4, 0x3E, 0x0A, 0x0A, 0x02};
00092 const uint8_t char103[] = {1, 0x1C};
00093 const uint8_t char104[] = {5, 0x3E, 0x08, 0x08, 0x08, 0x3E};
00094 const uint8_t char105[] = {1, 0x3A};
00095 const uint8_t char106[] = {5, 0x10, 0x20, 0x22, 0x22, 0x1E};
00096 const uint8_t char107[] = {5, 0x3E, 0x08, 0x08, 0x14, 0x22};
00097 const uint8_t char108[] = {4, 0x3E, 0x20, 0x20, 0x20};
00098 const uint8_t char109[] = {5, 0x3E, 0x04, 0x08, 0x04, 0x3E};
00099 const uint8_t char110[] = {5, 0x3E, 0x04, 0x08, 0x10, 0x3E};
00100 const uint8_t char111[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x1C};
00101 const uint8_t char112[] = {5, 0x3E, 0x0A, 0x0A, 0x0A, 0x04};
00102 const uint8_t char113[] = {3, 0x1C, 0x22, 0x72};
00103 const uint8_t char114[] = {5, 0x3E, 0x0A, 0x0A, 0x1A, 0x24};
00104 const uint8_t char115[] = {5, 0x24, 0x2A, 0x2A, 0x2A, 0x12};
00105 const uint8_t char116[] = {5, 0x02, 0x02, 0x3E, 0x02, 0x02};
00106 const uint8_t char117[] = {5, 0x1E, 0x20, 0x20, 0x20, 0x1E};
00107 const uint8_t char118[] = {5, 0x06, 0x18, 0x20, 0x18, 0x06};
00108 const uint8_t char119[] = {7, 0x1E, 0x20, 0x10, 0x0E, 0x10, 0x20, 0x1E};
00109 const uint8_t char120[] = {5, 0x22, 0x14, 0x08, 0x14, 0x22};
00110 const uint8_t char121[] = {5, 0x02, 0x04, 0x38, 0x04, 0x02};
00111 const uint8_t char122[] = {5, 0x22, 0x32, 0x2A, 0x26, 0x22};
00112 const uint8_t char123[] = {3, 0x08, 0x77, 0x41};
00113 const uint8_t char124[] = {1, 0x3E};
00114 const uint8_t char125[] = {3, 0x41, 0x77, 0x08};
00115 const uint8_t char126[] = {4, 0x04, 0x02, 0x04, 0x02};
00116 
00117 const int characterBytesStartChar = 33;
00118 const int characterBytesEndChar = 126;
00119 const uint8_t* characterBytes[] = {char33, char34, char35, char36, char37, char38, char39, char40, char41, char42, char43, char44, char45, char46, char47, char48, char49, char50, char51, char52, char53, char54, char55, char56, char57, char58, char59, char60, char61, char62, char63, char64, char65, char66, char67, char68, char69, char70, char71, char72, char73, char74, char75, char76, char77, char78, char79, char80, char81, char82, char83, char84, char85, char86, char87, char88, char89, char90, char91, char92, char93, char94, char95, char96, char97, char98, char99, char100, char101, char102, char103, char104, char105, char106, char107, char108, char109, char110, char111, char112, char113, char114, char115, char116, char117, char118, char119, char120, char121, char122, char123, char124, char125, char126, };
00120 
00121 #endif