Created
August 10, 2012 17:46
-
-
Save zyphlar/3316070 to your computer and use it in GitHub Desktop.
Arduino code for SkyMotion Mark IV 16x72 RS232 LED matrix sign
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <SoftwareSerial.h> | |
uint8_t la[8]={0x00,0x7c,0x44,0x44,0x7c,0x44,0x00,0x00}; | |
uint8_t lb[8]={0x00,0x7c,0x44,0x78,0x44,0x7c,0x00,0x00}; | |
uint8_t lc[8]={0x00,0x7c,0x40,0x40,0x40,0x7c,0x00,0x00}; | |
uint8_t ld[8]={0x00,0x78,0x44,0x44,0x44,0x78,0x00,0x00}; | |
uint8_t le[8]={0x00,0x7c,0x40,0x78,0x40,0x7c,0x00,0x00}; | |
uint8_t lf[8]={0x00,0x7c,0x40,0x70,0x40,0x40,0x00,0x00}; | |
uint8_t lg[8]={0x00,0x7c,0x40,0x4c,0x44,0x7c,0x00,0x00}; | |
uint8_t lh[8]={0x00,0x44,0x44,0x7c,0x44,0x44,0x00,0x00}; | |
uint8_t li[8]={0x00,0x7c,0x10,0x10,0x10,0x7c,0x00,0x00}; | |
uint8_t lj[8]={0x00,0x0c,0x04,0x04,0x44,0x7c,0x00,0x00}; | |
uint8_t lk[8]={0x00,0x44,0x48,0x70,0x48,0x44,0x00,0x00}; | |
uint8_t ll[8]={0x00,0x40,0x40,0x40,0x40,0x7c,0x00,0x00}; | |
uint8_t lm[8]={0x00,0x44,0x6c,0x54,0x44,0x44,0x00,0x00}; | |
uint8_t ln[8]={0x00,0x44,0x64,0x54,0x4c,0x44,0x00,0x00}; | |
uint8_t lo[8]={0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00}; | |
uint8_t lp[8]={0x00,0x78,0x44,0x78,0x40,0x40,0x00,0x00}; | |
uint8_t lq[8]={0x00,0x7c,0x44,0x44,0x7c,0x10,0x00,0x00}; | |
uint8_t lr[8]={0x00,0x78,0x44,0x78,0x44,0x44,0x00,0x00}; | |
uint8_t ls[8]={0x00,0x7c,0x40,0x7c,0x04,0x7c,0x00,0x00}; | |
uint8_t lt[8]={0x00,0x7c,0x10,0x10,0x10,0x10,0x00,0x00}; | |
uint8_t lu[8]={0x00,0x44,0x44,0x44,0x44,0x7c,0x00,0x00}; | |
uint8_t lv[8]={0x00,0x44,0x44,0x28,0x28,0x10,0x00,0x00}; | |
uint8_t lw[8]={0x00,0x44,0x44,0x54,0x54,0x28,0x00,0x00}; | |
uint8_t lx[8]={0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00}; | |
uint8_t ly[8]={0x00,0x44,0x44,0x28,0x10,0x10,0x00,0x00}; | |
uint8_t lz[8]={0x00,0x7c,0x08,0x10,0x20,0x7c,0x00,0x00}; | |
uint8_t nze[8]={0x00,0x7c,0x4c,0x54,0x64,0x7c,0x00,0x00}; | |
uint8_t non[8]={0x00,0x10,0x30,0x10,0x10,0x38,0x00,0x00}; | |
uint8_t ntw[8]={0x00,0x78,0x04,0x38,0x40,0x7c,0x00,0x00}; | |
uint8_t nth[8]={0x00,0x7c,0x04,0x38,0x04,0x7c,0x00,0x00}; | |
uint8_t nfo[8]={0x00,0x40,0x40,0x50,0x7c,0x10,0x00,0x00}; | |
uint8_t nfi[8]={0x00,0x7c,0x40,0x78,0x04,0x78,0x00,0x00}; | |
uint8_t nsi[8]={0x00,0x7c,0x40,0x7c,0x44,0x7c,0x00,0x00}; | |
uint8_t nse[8]={0x00,0x7c,0x04,0x08,0x10,0x10,0x00,0x00}; | |
uint8_t nei[8]={0x00,0x7c,0x44,0x7c,0x44,0x7c,0x00,0x00}; | |
uint8_t nni[8]={0x00,0x7c,0x44,0x7c,0x04,0x7c,0x00,0x00}; | |
uint8_t sp[8]={0,0,0,0,0,0,0,0}; | |
SoftwareSerial mySerial(2, 3, true); | |
String lineread; | |
char output[5]; | |
/* uint8_t a[] = {0x2,0x0,0x1,0x0,0x1,0x3}; | |
uint8_t b[] = {0x2,0x0,0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x1,0x23,0x4,0x1B,0xE7,0xFA,0x0,0x16,0x03}; | |
uint8_t c[] = {0x2,0x0,0x0,0x0,0x0,0x3}; | |
uint8_t d[] = {0x2,0x0,0xA,0x0,0xA,0x3}; | |
uint8_t e[] = {0x2,0x0,0x1A,0x0,0x1A,0x3}; | |
uint8_t f[] = {0x2,0x0,0x1,0x0,0x1,0x3}; | |
uint8_t g[] = {0x2,0x0,0x6,0x7,0xD4,0x09,0x05,0x1B,0xE8,0x01,0x23,0x05,0x00,0x1B,0xE7,0x0,0x1D,0x3}; | |
uint8_t h[] = {0x2,0x0,0x18,0x0,0x18,0x3}; | |
uint8_t i[] = {0x2,0x0,0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x07,0xD4,0x0A,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x34,0x36,0x30,0x30,0x33,0x30,0x30,0x30,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x36,0x39,0x36,0x39,0x36,0x39,0x61,0x62,0x1,0x4D,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1B,0xE8,0x8F,0x0E,0x3C,0x38,0xF0,0x6,0x0,0x1,0x80,0x1C,0x1B,0xE8,0x06,0x36,0x0C,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38}; | |
uint8_t j[] = {0x2,0x0,0x19,0x44,0x49,0x53,0x50,0x0,0x0,0x0,0x48,0x0,0x10,0x1,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x0,0x50,0x0,0x0,0x58,0x0,0x72,0x3}; | |
*/ | |
uint8_t a[1]; | |
uint8_t b[13]; | |
uint8_t c[1]; | |
uint8_t d[1]; | |
uint8_t e[1]; | |
uint8_t f[1]; | |
uint8_t g[12]; | |
uint8_t h[1]; | |
uint8_t i[262]; | |
uint8_t j[24]; | |
void setup() | |
{ | |
Serial.begin(57600); | |
Serial.println("Goodnight moon!"); | |
// set the data rate for the SoftwareSerial port | |
mySerial.begin(9600); | |
mySerial.println("Hello, world?"); | |
} | |
void loop() // run over and over | |
{ | |
load_message(" welcome to "); | |
send_data(); | |
load_message("heatsync labs "); | |
send_data(); | |
} | |
void send_data() { | |
array_sw(a, sizeof(a)); | |
ser_print(); | |
array_sw(b, sizeof(b)); | |
ser_print(); | |
array_sw(c, sizeof(c)); | |
ser_print(); | |
array_sw(d, sizeof(d)); | |
ser_print(); | |
array_sw(e, sizeof(e)); | |
ser_print(); | |
array_sw(f, sizeof(f)); | |
ser_print(); | |
array_sw(g, sizeof(g)); | |
ser_print(); | |
array_sw(h, sizeof(h)); | |
ser_print(); | |
array_sw(i, sizeof(i)); | |
ser_print(); | |
array_sw(j, sizeof(j)); | |
ser_print(); | |
} | |
void load_invert_dot() { | |
// Inverted dot | |
a = {0x1}; | |
b = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x37,0x1B,0xE8,0xE4}; | |
c = {0x0}; | |
d = {0xA}; | |
e = {0x1A}; | |
f = {0x1}; | |
g = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x38,0x0,0x9C}; | |
h = {0x18}; | |
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; | |
j = {0x19,0x44,0x49,0x53,0x50,0x0,0x0,0x0,0x48,0x0,0x10,0x1,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x0,0x50,0x0,0x0,0x58}; | |
} | |
void load_dot() { | |
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0x00,0x00}; | |
} | |
void load_stripes() { | |
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0, | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //1 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //2 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //3 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //4 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //5 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //6 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //7 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //8 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //9 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //10 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //11 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //12 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //13 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //14 | |
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //15 | |
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; //16 | |
} | |
void load_message(char textmsg[18]) { | |
// max size is 262 bytes with 118 bytes of header, leaving 144 bytes for 16x72 (1152 pixels) | |
// this is the 118 byte header | |
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0}; | |
uint8_t* message[18]; | |
// convert message to led font | |
for(int chr=0;chr<18;chr++){ | |
switch(textmsg[chr]) { | |
case 'a': | |
message[chr] = la; | |
break; | |
case 'b': | |
message[chr] = lb; | |
break; | |
case 'c': | |
message[chr] = lc; | |
break; | |
case 'd': | |
message[chr] = ld; | |
break; | |
case 'e': | |
message[chr] = le; | |
break; | |
case 'f': | |
message[chr] = lf; | |
break; | |
case 'g': | |
message[chr] = lg; | |
break; | |
case 'h': | |
message[chr] = lh; | |
break; | |
case 'i': | |
message[chr] = li; | |
break; | |
case 'j': | |
message[chr] = lj; | |
break; | |
case 'k': | |
message[chr] = lk; | |
break; | |
case 'l': | |
message[chr] = ll; | |
break; | |
case 'm': | |
message[chr] = lm; | |
break; | |
case 'n': | |
message[chr] = ln; | |
break; | |
case 'o': | |
message[chr] = lo; | |
break; | |
case 'p': | |
message[chr] = lp; | |
break; | |
case 'q': | |
message[chr] = lq; | |
break; | |
case 'r': | |
message[chr] = lr; | |
break; | |
case 's': | |
message[chr] = ls; | |
break; | |
case 't': | |
message[chr] = lt; | |
break; | |
case 'u': | |
message[chr] = lu; | |
break; | |
case 'v': | |
message[chr] = lv; | |
break; | |
case 'w': | |
message[chr] = lw; | |
break; | |
case 'x': | |
message[chr] = lx; | |
break; | |
case 'y': | |
message[chr] = ly; | |
break; | |
case 'z': | |
message[chr] = lz; | |
break; | |
case '0': | |
message[chr] = nze; | |
break; | |
case '1': | |
message[chr] = non; | |
break; | |
case '2': | |
message[chr] = ntw; | |
break; | |
case '3': | |
message[chr] = nth; | |
break; | |
case '4': | |
message[chr] = nfo; | |
break; | |
case '5': | |
message[chr] = nfi; | |
break; | |
case '6': | |
message[chr] = nsi; | |
break; | |
case '7': | |
message[chr] = nse; | |
break; | |
case '8': | |
message[chr] = nei; | |
break; | |
case '9': | |
message[chr] = nni; | |
break; | |
case ' ': | |
message[chr] = sp; | |
break; | |
} | |
} | |
// for each char in message: | |
for(int chr=0;chr<18;chr++){ | |
// width is 9 bytes | |
// each letter occupies 1 byte in width and 8 bytes in height (horizontal scanning) | |
// max height is 16 lines | |
// max offset is 118+72+9+63 = 262 | |
int col = chr%9; // col must never exceed 9 bytes | |
int prerow = chr/9; // if we're on a new row of text... | |
int row = 72*prerow; // ...shift by 72 (8 lines of 9 bytes) | |
int ofst = 118+row+col; // also we have an 118 byte offset due to the header | |
i[ofst] = message[chr][0]; | |
i[ofst+9] = message[chr][1]; | |
i[ofst+18] = message[chr][2]; | |
i[ofst+27] = message[chr][3]; | |
i[ofst+36] = message[chr][4]; | |
i[ofst+45] = message[chr][5]; | |
i[ofst+54] = message[chr][6]; | |
i[ofst+63] = message[chr][7]; | |
} | |
} | |
void ser_print(){ | |
Serial.print("RX: {"); | |
while (mySerial.available()) { | |
lineread = String(mySerial.read(),HEX); | |
lineread.toCharArray(output,5); | |
Serial.print("0x"); | |
Serial.print(output); | |
Serial.print(","); | |
} | |
Serial.println("};"); | |
} | |
void array_sw(uint8_t data[], int datasize) { | |
Serial.print("TX: {"); | |
uint8_t datasum = 0; | |
sw(0x2); | |
sw(0x0); | |
Serial.print("0x2,0x0,"); | |
for(int i=0;i<datasize;i++){ | |
sw(data[i]); | |
datasum = datasum+data[i]; | |
Serial.print("0x"); | |
Serial.print(data[i], HEX); | |
Serial.print(","); | |
} | |
sw(0x0); | |
sw(datasum); | |
sw(0x3); | |
Serial.print("0x0,0x"); | |
Serial.print(datasum, HEX); | |
Serial.print(",0x3"); | |
Serial.println("};"); | |
delay(20); | |
} | |
void sw(int hex) { | |
mySerial.write((uint8_t)hex); | |
} | |
void sw(uint8_t hex) { | |
mySerial.write(hex); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment