Add OLED support
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 667 B |
@@ -0,0 +1,240 @@
|
||||
const uint8_t UiFontBitmaps[] PROGMEM = {
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0xF8, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7,
|
||||
0x26, 0x26, 0x38, 0xF0, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE3,
|
||||
0xC3, 0x8F, 0x0E, 0x3C, 0x38, 0xF0, 0xE3, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFC, 0xE3, 0xC3, 0x8F, 0x00, 0x1E, 0x07, 0x83, 0xFC, 0xFF, 0xFF, 0xF7,
|
||||
0x8D, 0xE3, 0xFC, 0xFF, 0x0F, 0xF1, 0xEC, 0x7B, 0xFF, 0xFF, 0xFF, 0xF0,
|
||||
0x78, 0x1E, 0x00, 0xF8, 0x3F, 0x60, 0xFD, 0x8F, 0xFE, 0x7C, 0xF9, 0xF0,
|
||||
0x1F, 0x00, 0x7C, 0x07, 0xC0, 0x3E, 0xFC, 0xFB, 0xFF, 0x8C, 0xFE, 0x33,
|
||||
0xE0, 0xFC, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0xFF, 0xFF, 0xFF, 0xFC, 0x78,
|
||||
0x1E, 0x07, 0x81, 0xE0, 0xFF, 0xFF, 0xFF, 0x90, 0x80, 0x01, 0xC0, 0x70,
|
||||
0x7C, 0x7C, 0x1F, 0x0F, 0x83, 0xE3, 0xE0, 0x3E, 0x0F, 0x81, 0xF0, 0x7C,
|
||||
0x07, 0xC0, 0x70, 0x1C, 0xE0, 0x3E, 0x0F, 0x80, 0xF8, 0x3E, 0x07, 0xC1,
|
||||
0xF0, 0x1F, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0xF8, 0x38, 0x0E, 0x00, 0x20,
|
||||
0xC2, 0x0C, 0xF9, 0xFF, 0x9F, 0x3F, 0xC3, 0xFC, 0x1F, 0x03, 0xFC, 0x3F,
|
||||
0xCF, 0x9F, 0xF9, 0xF2, 0x0C, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0xFF, 0xFF,
|
||||
0xFF, 0xFC, 0x78, 0x1E, 0x07, 0x80, 0x39, 0xCF, 0xCE, 0x00, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFE, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xE0, 0x01, 0xF0,
|
||||
0x03, 0xE0, 0x01, 0xF3, 0x83, 0xF1, 0xF3, 0xE0, 0xF9, 0xF0, 0x1F, 0xE0,
|
||||
0x0F, 0xF0, 0x03, 0xE0, 0x00, 0x60, 0x00, 0x30, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87,
|
||||
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0x3F,
|
||||
0xFF, 0xFC, 0x07, 0x01, 0xCF, 0xF3, 0xFF, 0xFC, 0xE0, 0x38, 0x0E, 0x03,
|
||||
0x80, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0x3F, 0xFF, 0xFC, 0x07, 0x01, 0xFF,
|
||||
0xCF, 0xF3, 0xFF, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0xFF, 0xFF, 0xCF, 0xF0,
|
||||
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xC0,
|
||||
0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x80,
|
||||
0xE0, 0x3F, 0xCF, 0xF3, 0xFF, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0xFF, 0xFF,
|
||||
0xCF, 0xF0, 0x3F, 0xCF, 0xFF, 0xFF, 0x80, 0xE0, 0x3F, 0xCF, 0xF3, 0xFF,
|
||||
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF, 0xC3, 0xF0, 0xFF, 0xFF, 0xFF,
|
||||
0xFC, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x07,
|
||||
0x01, 0xC0, 0x70, 0x1C, 0x3F, 0x0F, 0xFF, 0xFF, 0x87, 0xE1, 0xCF, 0xC3,
|
||||
0xF3, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF, 0xC3, 0xF0, 0x3F,
|
||||
0x0F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0xFF, 0x3F, 0xCF, 0xF0,
|
||||
0x1C, 0x07, 0x3F, 0xCF, 0xC3, 0xF0, 0xFF, 0xFE, 0x07, 0xFF, 0xF0, 0x39,
|
||||
0xCE, 0x73, 0x80, 0x07, 0x39, 0xCE, 0x7E, 0x70, 0x01, 0x01, 0x07, 0x1F,
|
||||
0x1F, 0x3F, 0x3F, 0xFF, 0x3F, 0x3F, 0x1F, 0x1F, 0x07, 0x01, 0x01, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80,
|
||||
0xE0, 0xE0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFF, 0xFC, 0xFC, 0xF8, 0xF8, 0xE0,
|
||||
0x80, 0x80, 0x3F, 0x0F, 0xFF, 0xFF, 0x87, 0xE1, 0xC0, 0x70, 0x1C, 0x7F,
|
||||
0x1F, 0x07, 0xC0, 0x00, 0x00, 0x1E, 0x07, 0x81, 0xE0, 0x00, 0xFF, 0xFD,
|
||||
0xFF, 0xF8, 0xFF, 0xF7, 0xFF, 0xEF, 0xFC, 0x3E, 0xF8, 0x7D, 0xF3, 0xE0,
|
||||
0xE7, 0x3D, 0xCE, 0x7B, 0x80, 0xF7, 0x01, 0xEF, 0xFF, 0xDF, 0xFF, 0xBF,
|
||||
0xFF, 0x00, 0x3F, 0x0F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0xFF,
|
||||
0xFF, 0xFF, 0xFE, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1C, 0xFF, 0x3F, 0xFF,
|
||||
0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0xFC, 0xE1, 0xF8, 0x7E, 0x1F, 0x87,
|
||||
0xFF, 0xFF, 0xCF, 0xF0, 0x3F, 0xCF, 0xFF, 0xFF, 0x80, 0xE0, 0x38, 0x0E,
|
||||
0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xFF, 0xCF, 0xF3, 0xFC, 0xFF,
|
||||
0x3F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E,
|
||||
0x1F, 0x87, 0xFF, 0xFF, 0xCF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0,
|
||||
0x3F, 0xCF, 0xF3, 0xFC, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xFF, 0xFF, 0xFF,
|
||||
0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0xFC, 0xFF,
|
||||
0x3F, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x00, 0x3F, 0xCF, 0xFF, 0xFF,
|
||||
0x80, 0xE0, 0x38, 0x0E, 0x03, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF,
|
||||
0xCF, 0xF3, 0xFC, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1C, 0xFF, 0xFF,
|
||||
0xF9, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xCF, 0xFF, 0xFF, 0x80,
|
||||
0x01, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0xE1, 0xF8,
|
||||
0x7E, 0x1F, 0x87, 0xFF, 0xCF, 0xC3, 0xF0, 0xE3, 0xF8, 0xFE, 0x3F, 0x9F,
|
||||
0xE7, 0xFF, 0xCF, 0xF3, 0xFC, 0xE7, 0xF9, 0xFE, 0x3F, 0x8F, 0xE3, 0xF8,
|
||||
0xFE, 0x3C, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80,
|
||||
0xE0, 0x38, 0x0E, 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0x3F, 0xE0,
|
||||
0xFF, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xCF, 0xE0,
|
||||
0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xC0,
|
||||
0xE1, 0xFE, 0x7F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xE1, 0xF8,
|
||||
0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1C, 0x3F, 0x0F, 0xFF, 0xFF, 0x87,
|
||||
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF,
|
||||
0xC3, 0xF0, 0xFF, 0x3F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0xFF,
|
||||
0xFF, 0x3F, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x00, 0x3F, 0x0F, 0xFF,
|
||||
0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87,
|
||||
0xFF, 0x0F, 0xF3, 0xFC, 0x07, 0x01, 0xC0, 0xFF, 0x3F, 0xFF, 0xFF, 0x87,
|
||||
0xE1, 0xF8, 0x7E, 0x1F, 0xFF, 0xFF, 0x3F, 0xCE, 0x1F, 0x87, 0xE1, 0xF8,
|
||||
0x7E, 0x1C, 0x3F, 0xCF, 0xFF, 0xFF, 0x80, 0xE0, 0x3F, 0xCF, 0xF0, 0xFF,
|
||||
0x01, 0xC0, 0x70, 0x1C, 0x07, 0xFF, 0xFF, 0xCF, 0xF0, 0xFF, 0xFF, 0xFF,
|
||||
0xFC, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78,
|
||||
0x1E, 0x07, 0x81, 0xE0, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E,
|
||||
0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF, 0xC3, 0xF0, 0xE1,
|
||||
0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E,
|
||||
0x7F, 0x9F, 0xFF, 0x3F, 0x8F, 0xE0, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8,
|
||||
0x0F, 0xE0, 0x3F, 0x9C, 0xFE, 0x73, 0xF9, 0xCF, 0xE7, 0x3F, 0x9C, 0xFE,
|
||||
0x73, 0xF9, 0xCF, 0xFF, 0xFF, 0xE3, 0xFF, 0x8F, 0xC0, 0xE1, 0xF8, 0x7E,
|
||||
0x1F, 0x87, 0xE1, 0xFF, 0xFF, 0xFC, 0xFC, 0xFF, 0xFF, 0xFE, 0x1F, 0x87,
|
||||
0xE1, 0xF8, 0x7E, 0x1C, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xFF,
|
||||
0xFC, 0xFC, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0x01, 0xF0, 0x7C, 0x07, 0xC1, 0xF0, 0x3E,
|
||||
0x03, 0xE0, 0xF8, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF,
|
||||
0xFF, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0F, 0xFF, 0xFF, 0x80,
|
||||
0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x1F, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0x00, 0x3E, 0x00, 0x7C,
|
||||
0x00, 0xF8, 0x01, 0xF0, 0x00, 0xFF, 0xFF, 0xF8, 0xF1, 0xE3, 0xC7, 0x8F,
|
||||
0x1E, 0x3C, 0x78, 0xFF, 0xFF, 0xFF, 0x80, 0x1E, 0x07, 0xC3, 0xF3, 0xFF,
|
||||
0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, 0xF8, 0x03,
|
||||
0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xC7, 0xFF,
|
||||
0xFE, 0x3F, 0xFE, 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x83, 0xE3, 0xFC, 0x1F,
|
||||
0x1F, 0xE3, 0xE0, 0x3F, 0x1C, 0x18, 0x78, 0xE0, 0xC3, 0xC0, 0x0E, 0x1E,
|
||||
0x00, 0x70, 0xF0, 0x03, 0x87, 0xFF, 0xFC, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF,
|
||||
0x0F, 0xFF, 0xF8, 0x00, 0x3F, 0x0F, 0xCF, 0xFF, 0xFF, 0x01, 0xCF, 0xF3,
|
||||
0xFF, 0x87, 0xE1, 0xFF, 0xF3, 0xFC, 0xFF, 0xE0, 0x38, 0x0E, 0x03, 0xFC,
|
||||
0xFF, 0x3F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xFF,
|
||||
0xCF, 0xF0, 0x3F, 0xCF, 0xFF, 0xFF, 0xFF, 0xE0, 0x38, 0x0E, 0x03, 0x80,
|
||||
0xE0, 0x3F, 0xF3, 0xFC, 0xFF, 0x01, 0xC0, 0x70, 0x1C, 0xFF, 0x3F, 0xFF,
|
||||
0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF, 0xF3, 0xFC,
|
||||
0x3F, 0x0F, 0xCF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x3F,
|
||||
0xF3, 0xF0, 0xFC, 0x0F, 0x87, 0xCF, 0xE7, 0x03, 0x87, 0xFF, 0xFF, 0xFF,
|
||||
0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x3F, 0x0F, 0xCF, 0xFF,
|
||||
0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xF3, 0xFC, 0xFF, 0x01,
|
||||
0xC0, 0x73, 0xFC, 0xFC, 0x3F, 0x00, 0xE0, 0x38, 0x0E, 0x03, 0xFC, 0xFF,
|
||||
0x3F, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E,
|
||||
0x1C, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x1E, 0x3C, 0x00, 0xF1, 0xE3,
|
||||
0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0xFF, 0xFF, 0xF0, 0xE0,
|
||||
0x38, 0x0E, 0x03, 0x87, 0xE1, 0xF9, 0xFE, 0x7F, 0xFC, 0xFF, 0x3F, 0xCE,
|
||||
0x7F, 0x9F, 0xE1, 0xF8, 0x7E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
|
||||
0xFF, 0xF3, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0x9C, 0xFE, 0x73,
|
||||
0xF9, 0xCF, 0xE7, 0x3F, 0x9C, 0xFE, 0x73, 0xF9, 0xCF, 0xFF, 0x3F, 0xCF,
|
||||
0xFF, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87,
|
||||
0x3F, 0x0F, 0xCF, 0xFF, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF,
|
||||
0xF3, 0xF0, 0xFC, 0xFF, 0x3F, 0xCF, 0xFF, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F,
|
||||
0x87, 0xE1, 0xFF, 0xFF, 0xF3, 0xFC, 0xE0, 0x38, 0x0E, 0x00, 0x3F, 0xCF,
|
||||
0xFF, 0xFF, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xF3, 0xFC,
|
||||
0xFF, 0x01, 0xC0, 0x70, 0x1C, 0x3F, 0xCF, 0xFF, 0xFF, 0xFF, 0xE0, 0x38,
|
||||
0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0x3F, 0xCF, 0xFF, 0xFF,
|
||||
0xFF, 0xE0, 0x0F, 0xC3, 0xF0, 0x07, 0x01, 0xFF, 0xFF, 0xF3, 0xFC, 0x38,
|
||||
0x38, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3F,
|
||||
0x1F, 0x1F, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87,
|
||||
0xE1, 0xFF, 0xF3, 0xFC, 0xFF, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8,
|
||||
0x7E, 0x1F, 0x9F, 0xE7, 0xFF, 0xCF, 0xE3, 0xF8, 0xE7, 0x3F, 0x9C, 0xFE,
|
||||
0x73, 0xF9, 0xCF, 0xE7, 0x3F, 0x9C, 0xFE, 0x73, 0xF9, 0xCF, 0xE7, 0x3F,
|
||||
0xFF, 0xF3, 0xFF, 0x0F, 0xFC, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xFF, 0xCF,
|
||||
0xC3, 0xF3, 0xFF, 0xFF, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F,
|
||||
0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xF3, 0xFC, 0xFF, 0x01,
|
||||
0xC0, 0x7F, 0xFF, 0xFC, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x07, 0xC1, 0xF0, 0x1F, 0x03, 0xE0, 0x3E, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x01, 0x00, 0x02, 0x00, 0x1F, 0x00, 0x3E, 0x01, 0xFF, 0x07, 0xFF, 0x8F,
|
||||
0xFF, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x80, 0xFF, 0xFE, 0x7F, 0xF8, 0xFF, 0xF0, 0xFF, 0x81, 0xFF, 0x00, 0xF8,
|
||||
0x00, 0x40, 0x00, 0x80, 0x3E, 0x3E, 0x1F, 0x1F, 0x38, 0x7C, 0x78, 0xF8,
|
||||
0xFC, 0x7C, 0x79, 0xF1, 0xF0, 0xF8, 0xF8 };
|
||||
|
||||
const GFXglyph UiFontGlyphs[] PROGMEM = {
|
||||
{ 0, 1, 1, 8, 0, 0 }, // 0x20 ' '
|
||||
{ 1, 3, 15, 5, 0, -14 }, // 0x21 '!'
|
||||
{ 7, 8, 7, 10, 0, -14 }, // 0x22 '"'
|
||||
{ 14, 14, 15, 15, 0, -14 }, // 0x23 '#'
|
||||
{ 41, 10, 17, 12, 0, -16 }, // 0x24 '$'
|
||||
{ 63, 14, 13, 15, 0, -14 }, // 0x25 '%'
|
||||
{ 86, 10, 11, 12, 0, -13 }, // 0x26 '&'
|
||||
{ 100, 5, 7, 7, 0, -16 }, // 0x27 '''
|
||||
{ 105, 10, 15, 12, 0, -14 }, // 0x28 '('
|
||||
{ 124, 10, 15, 12, 0, -14 }, // 0x29 ')'
|
||||
{ 143, 12, 12, 14, 0, -13 }, // 0x2A '*'
|
||||
{ 161, 10, 10, 12, 0, -11 }, // 0x2B '+'
|
||||
{ 174, 5, 5, 7, 0, -2 }, // 0x2C ','
|
||||
{ 178, 8, 3, 10, 0, -7 }, // 0x2D '-'
|
||||
{ 181, 3, 5, 5, 0, -4 }, // 0x2E '.'
|
||||
{ 183, 17, 14, 19, 0, -13 }, // 0x2F '/'
|
||||
{ 213, 10, 15, 12, 0, -14 }, // 0x30 '0'
|
||||
{ 232, 3, 15, 5, 0, -14 }, // 0x31 '1'
|
||||
{ 238, 10, 15, 12, 0, -14 }, // 0x32 '2'
|
||||
{ 257, 10, 15, 12, 0, -14 }, // 0x33 '3'
|
||||
{ 276, 10, 15, 12, 0, -14 }, // 0x34 '4'
|
||||
{ 295, 10, 15, 12, 0, -14 }, // 0x35 '5'
|
||||
{ 314, 10, 15, 12, 0, -14 }, // 0x36 '6'
|
||||
{ 333, 10, 15, 12, 0, -14 }, // 0x37 '7'
|
||||
{ 352, 10, 15, 12, 0, -14 }, // 0x38 '8'
|
||||
{ 371, 10, 15, 12, 0, -14 }, // 0x39 '9'
|
||||
{ 390, 3, 12, 5, 0, -11 }, // 0x3A ':'
|
||||
{ 395, 5, 14, 7, 0, -11 }, // 0x3B ';'
|
||||
{ 404, 8, 15, 10, 0, -14 }, // 0x3C '<'
|
||||
{ 419, 10, 9, 12, 0, -11 }, // 0x3D '='
|
||||
{ 431, 8, 15, 12, 2, -14 }, // 0x3E '>'
|
||||
{ 446, 10, 15, 12, 0, -14 }, // 0x3F '?'
|
||||
{ 465, 15, 15, 17, 0, -14 }, // 0x40 '@'
|
||||
{ 494, 10, 15, 12, 0, -14 }, // 0x41 'A'
|
||||
{ 513, 10, 15, 12, 0, -14 }, // 0x42 'B'
|
||||
{ 532, 10, 15, 12, 0, -14 }, // 0x43 'C'
|
||||
{ 551, 10, 15, 12, 0, -14 }, // 0x44 'D'
|
||||
{ 570, 10, 15, 12, 0, -14 }, // 0x45 'E'
|
||||
{ 589, 10, 15, 12, 0, -14 }, // 0x46 'F'
|
||||
{ 608, 10, 15, 12, 0, -14 }, // 0x47 'G'
|
||||
{ 627, 10, 15, 12, 0, -14 }, // 0x48 'H'
|
||||
{ 646, 7, 15, 8, 0, -14 }, // 0x49 'I'
|
||||
{ 660, 10, 15, 12, 0, -14 }, // 0x4A 'J'
|
||||
{ 679, 10, 15, 14, 2, -14 }, // 0x4B 'K'
|
||||
{ 698, 10, 15, 12, 0, -14 }, // 0x4C 'L'
|
||||
{ 717, 14, 15, 15, 0, -14 }, // 0x4D 'M'
|
||||
{ 744, 10, 15, 12, 0, -14 }, // 0x4E 'N'
|
||||
{ 763, 10, 15, 12, 0, -14 }, // 0x4F 'O'
|
||||
{ 782, 10, 15, 12, 0, -14 }, // 0x50 'P'
|
||||
{ 801, 10, 17, 12, 0, -14 }, // 0x51 'Q'
|
||||
{ 823, 10, 15, 12, 0, -14 }, // 0x52 'R'
|
||||
{ 842, 10, 15, 12, 0, -14 }, // 0x53 'S'
|
||||
{ 861, 10, 15, 12, 0, -14 }, // 0x54 'T'
|
||||
{ 880, 10, 15, 12, 0, -14 }, // 0x55 'U'
|
||||
{ 899, 10, 15, 12, 0, -14 }, // 0x56 'V'
|
||||
{ 918, 14, 15, 15, 0, -14 }, // 0x57 'W'
|
||||
{ 945, 10, 15, 12, 0, -14 }, // 0x58 'X'
|
||||
{ 964, 10, 15, 12, 0, -14 }, // 0x59 'Y'
|
||||
{ 983, 12, 15, 14, 0, -14 }, // 0x5A 'Z'
|
||||
{ 1006, 7, 15, 8, 0, -14 }, // 0x5B '['
|
||||
{ 1020, 15, 15, 17, 0, -14 }, // 0x5C '\'
|
||||
{ 1049, 7, 15, 8, 0, -14 }, // 0x5D ']'
|
||||
{ 1063, 10, 5, 12, 0, -14 }, // 0x5E '^'
|
||||
{ 1070, 14, 3, 15, 0, 3 }, // 0x5F '_'
|
||||
{ 1076, 21, 21, 20, -2, -18 }, // 0x60 '`'
|
||||
{ 1132, 10, 12, 12, 0, -11 }, // 0x61 'a'
|
||||
{ 1147, 10, 15, 12, 0, -14 }, // 0x62 'b'
|
||||
{ 1166, 10, 12, 12, 0, -11 }, // 0x63 'c'
|
||||
{ 1181, 10, 15, 12, 0, -14 }, // 0x64 'd'
|
||||
{ 1200, 10, 12, 12, 0, -11 }, // 0x65 'e'
|
||||
{ 1215, 9, 15, 8, -2, -14 }, // 0x66 'f'
|
||||
{ 1232, 10, 17, 12, 0, -11 }, // 0x67 'g'
|
||||
{ 1254, 10, 15, 12, 0, -14 }, // 0x68 'h'
|
||||
{ 1273, 3, 15, 5, 0, -14 }, // 0x69 'i'
|
||||
{ 1279, 7, 18, 8, 0, -14 }, // 0x6A 'j'
|
||||
{ 1295, 10, 15, 12, 0, -14 }, // 0x6B 'k'
|
||||
{ 1314, 3, 15, 5, 0, -14 }, // 0x6C 'l'
|
||||
{ 1320, 14, 12, 15, 0, -11 }, // 0x6D 'm'
|
||||
{ 1341, 10, 12, 12, 0, -11 }, // 0x6E 'n'
|
||||
{ 1356, 10, 12, 12, 0, -11 }, // 0x6F 'o'
|
||||
{ 1371, 10, 15, 12, 0, -11 }, // 0x70 'p'
|
||||
{ 1390, 10, 15, 12, 0, -11 }, // 0x71 'q'
|
||||
{ 1409, 10, 12, 12, 0, -11 }, // 0x72 'r'
|
||||
{ 1424, 10, 12, 12, 0, -11 }, // 0x73 's'
|
||||
{ 1439, 8, 15, 10, 0, -14 }, // 0x74 't'
|
||||
{ 1454, 10, 12, 12, 0, -11 }, // 0x75 'u'
|
||||
{ 1469, 10, 12, 12, 0, -11 }, // 0x76 'v'
|
||||
{ 1484, 14, 12, 15, 0, -11 }, // 0x77 'w'
|
||||
{ 1505, 10, 12, 12, 0, -11 }, // 0x78 'x'
|
||||
{ 1520, 10, 17, 12, 0, -11 }, // 0x79 'y'
|
||||
{ 1542, 12, 12, 14, 0, -11 }, // 0x7A 'z'
|
||||
{ 1560, 15, 9, 17, 0, -11 }, // 0x7B '{'
|
||||
{ 1577, 3, 19, 5, 0, -16 }, // 0x7C '|'
|
||||
{ 1585, 15, 8, 17, 0, -7 }, // 0x7D '}'
|
||||
{ 1600, 17, 7, 19, 0, -9 } }; // 0x7E '~'
|
||||
|
||||
const GFXfont UiFont PROGMEM = {
|
||||
(uint8_t *)UiFontBitmaps,
|
||||
(GFXglyph *)UiFontGlyphs,
|
||||
0x20, 0x7E, 28 };
|
||||
|
||||
// Approx. 2287 bytes
|
||||
@@ -0,0 +1,56 @@
|
||||
// bootup logo
|
||||
#define BOOTLOGO_WIDTH 128
|
||||
#define BOOTLOGO_HEIGHT 32
|
||||
const unsigned char bootuplogo [] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x10, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x78, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x01, 0xc8, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x80, 0x03, 0x08, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0xe0, 0x06, 0x68, 0x10, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
|
||||
0x10, 0x3f, 0xfc, 0xec, 0xf0, 0x80, 0x00, 0x00, 0x01, 0xf6, 0x00, 0x00, 0x18, 0x06, 0x00, 0x00,
|
||||
0x17, 0x18, 0x00, 0xad, 0xe3, 0x80, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x14, 0x80, 0x00, 0xed, 0xc7, 0x1f, 0x19, 0x8e, 0x76, 0x07, 0xc3, 0xc7, 0xbe, 0x76, 0x3c, 0x7c,
|
||||
0x14, 0x80, 0x00, 0x64, 0x07, 0x19, 0x99, 0x98, 0xc6, 0x06, 0x66, 0x6c, 0x18, 0xc6, 0x66, 0x66,
|
||||
0x17, 0x00, 0x00, 0x04, 0x00, 0x19, 0x99, 0x98, 0xc6, 0x06, 0x67, 0xef, 0x18, 0xc6, 0x66, 0x66,
|
||||
0x16, 0x00, 0x00, 0x04, 0x00, 0x19, 0x99, 0x98, 0xc6, 0x06, 0x66, 0x07, 0x98, 0xc6, 0x66, 0x66,
|
||||
0x10, 0x00, 0x00, 0x04, 0x00, 0x19, 0x99, 0x98, 0xc3, 0x06, 0x66, 0x01, 0x98, 0xc6, 0x66, 0x66,
|
||||
0x10, 0x00, 0x00, 0x06, 0x03, 0x1f, 0x0f, 0x18, 0xc1, 0xf6, 0x63, 0xef, 0x1e, 0xc6, 0x3c, 0x66,
|
||||
0x10, 0x00, 0x00, 0x22, 0x03, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x02, 0x03, 0x23, 0x03, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x30, 0x22, 0x39, 0xe1, 0x02, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x3e, 0x3c, 0xc1, 0x02, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x0c, 0x18, 0x0f, 0xc2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3f, 0x00, 0x18, 0x01, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf1, 0x80, 0x3c, 0x0d, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x3c, 0x07, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x23, 0x80, 0x7e, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x7e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x70, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x46, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x6c, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x80, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xe0, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
// MIDI CHANNEL logo
|
||||
#define MIDICH_WIDTH 75
|
||||
#define MIDICH_HEIGHT 20
|
||||
const unsigned char midich [] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc3, 0xc7, 0xff, 0xe1,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe3, 0xc7, 0xff, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x7f, 0xff,
|
||||
0xe3, 0xc7, 0xff, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe3, 0xc7, 0xff, 0xf1, 0xe0, 0x00,
|
||||
0x00, 0x00, 0x78, 0xf1, 0xe3, 0xc0, 0x00, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x78, 0xf1, 0xe3, 0xc0,
|
||||
0x00, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1,
|
||||
0xe0, 0x3f, 0x98, 0x00, 0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x7f, 0x98, 0x00, 0x78, 0xf1,
|
||||
0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x60, 0x18, 0x00, 0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x60,
|
||||
0x18, 0x00, 0x78, 0xf1, 0xe3, 0xc7, 0x80, 0xf1, 0xe0, 0x60, 0x1f, 0xc0, 0x78, 0xf1, 0xe3, 0xc7,
|
||||
0x80, 0xf1, 0xe0, 0x60, 0x1f, 0xe0, 0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xf1, 0xe0, 0x60, 0x18, 0x60,
|
||||
0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xf1, 0xe0, 0x60, 0x18, 0x60, 0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xf1,
|
||||
0xe0, 0x7f, 0x98, 0x66, 0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xe1, 0xe0, 0x3f, 0x98, 0x66, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
After Width: | Height: | Size: 6.4 KiB |
@@ -1,11 +1,30 @@
|
||||
#define FW_VER 1.0
|
||||
#define USE_OLED true // LEDC68 (Gotek alphanumeric displays)
|
||||
#define USE_ENCODER false
|
||||
|
||||
// include libraries
|
||||
#include <Adafruit_MCP23X17.h>
|
||||
#include <MIDI.h>
|
||||
|
||||
#if USE_OLED
|
||||
#include <Wire.h>
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#include "font.h"
|
||||
#include "gfx.h"
|
||||
#define SCREEN_WIDTH 128
|
||||
#define SCREEN_HEIGHT 32
|
||||
Adafruit_SSD1306 oled(SCREEN_WIDTH,SCREEN_HEIGHT,&Wire,-1);
|
||||
#endif
|
||||
|
||||
#if USE_ENCODER
|
||||
|
||||
#endif
|
||||
|
||||
// Instantiate libraries
|
||||
Adafruit_MCP23X17 mcp1; // First MCP23017
|
||||
Adafruit_MCP23X17 mcp2; // Second MCP23017
|
||||
|
||||
// Default hardware MIDI. SoftwareSerial is too slow...
|
||||
MIDI_CREATE_DEFAULT_INSTANCE();
|
||||
// A7 A6 A5 A4 A3 A2 A1 A0 <-- GPIO A
|
||||
@@ -17,7 +36,7 @@ MIDI_CREATE_DEFAULT_INSTANCE();
|
||||
// B0 B1 B2 B3 B4 B5 B6 B7 <-- GPIO B
|
||||
|
||||
// Default MIDI channel
|
||||
byte currentMidiChannel = 8; // Default MIDI channel
|
||||
byte currentMidiChannel = MIDI_CHANNEL_OMNI; //8; // Default MIDI channel
|
||||
|
||||
// Struct for 2 MCP chips.
|
||||
struct MCPOutput {
|
||||
@@ -71,15 +90,46 @@ MCPOutput noteToMCP[32] = {
|
||||
};
|
||||
|
||||
|
||||
void updateOLED() {
|
||||
#if USE_OLED
|
||||
oled.clearDisplay();
|
||||
oled.drawBitmap(0, 0, midich, MIDICH_WIDTH, MIDICH_HEIGHT, 1);
|
||||
oled.setCursor(88, 18);
|
||||
oled.setTextColor(SSD1306_WHITE);
|
||||
oled.setTextSize(1);
|
||||
if (currentMidiChannel == MIDI_CHANNEL_OMNI) {
|
||||
oled.print("ALL");
|
||||
} else {
|
||||
oled.print(currentMidiChannel);
|
||||
}
|
||||
oled.display();
|
||||
#endif
|
||||
}
|
||||
|
||||
void setup() {
|
||||
// LED debug
|
||||
#if USE_OLED
|
||||
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // I2C addr 0x3C
|
||||
// Don't halt if missing, just skip display
|
||||
} else {
|
||||
oled.clearDisplay();
|
||||
oled.drawBitmap(0, 0, bootuplogo, BOOTLOGO_WIDTH, BOOTLOGO_HEIGHT, 1);
|
||||
oled.setCursor(62, 18);
|
||||
oled.setTextColor(SSD1306_WHITE);
|
||||
oled.print("FW ver. " + String(FW_VER));
|
||||
oled.display();
|
||||
delay(2500);
|
||||
oled.setFont(&UiFont);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Midi Activity LED on Pin 13 (aka LED_BUILTIN)
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
|
||||
// Initialize MCP23017s
|
||||
mcp1.begin_I2C(0x20);
|
||||
mcp2.begin_I2C(0x21);
|
||||
// Initialize MIDI
|
||||
MIDI.begin(MIDI_CHANNEL_OMNI);
|
||||
MIDI.begin(currentMidiChannel);
|
||||
MIDI.setHandleNoteOn(handleNoteOn);
|
||||
MIDI.setHandleNoteOff(handleNoteOff);
|
||||
|
||||
@@ -90,6 +140,7 @@ void setup() {
|
||||
mcp2.pinMode(i, OUTPUT);
|
||||
mcp2.digitalWrite(i, LOW);
|
||||
}
|
||||
updateOLED();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
@@ -100,16 +151,11 @@ void loop() {
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
ledActive = false;
|
||||
}
|
||||
// if (MIDI.read()) {
|
||||
// digitalWrite(LED_BUILTIN, HIGH);
|
||||
// delay(50);
|
||||
// digitalWrite(LED_BUILTIN, LOW);
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
void handleNoteOn(byte channel, byte pitch, byte velocity) {
|
||||
if (channel == currentMidiChannel) {
|
||||
if (currentMidiChannel == MIDI_CHANNEL_OMNI || channel == currentMidiChannel) {
|
||||
|
||||
if (pitch >= 57 && pitch <= 88) {
|
||||
MCPOutput out = noteToMCP[pitch - 57];
|
||||
@@ -121,14 +167,14 @@ void handleNoteOn(byte channel, byte pitch, byte velocity) {
|
||||
}
|
||||
}
|
||||
|
||||
// Flash LED on any valid Note On
|
||||
// Flash LED on Note On
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
ledOnTime = millis();
|
||||
ledActive = true;
|
||||
}
|
||||
|
||||
void handleNoteOff(byte channel, byte pitch, byte velocity) {
|
||||
if (channel == currentMidiChannel) {
|
||||
if (currentMidiChannel == MIDI_CHANNEL_OMNI || channel == currentMidiChannel) {
|
||||
if (pitch >= 57 && pitch <= 88) {
|
||||
MCPOutput out = noteToMCP[pitch - 57];
|
||||
if (out.chip == 0) {
|
||||
|
||||
|
After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1 @@
|
||||
{"hostname":"Aletheia","username":"sgilissen"}
|
||||
@@ -1 +0,0 @@
|
||||
{"hostname":"Rhea","username":"sgilissen"}
|
||||