71,7 → 71,7 |
*/ |
void draw_compass(uint8_t x, uint8_t y, uint16_t heading) { |
//char* rose = "---N---O---S---W---N---O---S---W---N---O---S---W"; |
char rose[48] = {216, 215, 216, 211, 216, 215, 216, 213, 216, 215, 216, 212, |
static char rose[48] PROGMEM = {216, 215, 216, 211, 216, 215, 216, 213, 216, 215, 216, 212, |
216, 215, 216, 214, 216, 215, 216, 211, 216, 215, 216, 213, |
216, 215, 216, 212, 216, 215, 216, 214, 216, 215, 216, 211, |
216, 215, 216, 213, 216, 215, 216, 212, 216, 215, 216, 214}; |
80,7 → 80,7 |
// and *10 / 225 would take ages... so we take the uncorrect way |
uint8_t front = 19 + (heading / 22); |
for (uint8_t i = 0; i < 9; i++) { |
write_char_xy(x++, y, rose[front - 4 + i]); |
write_char_xy(x++, y, pgm_read_byte(&rose[front - 4 + i])); |
} |
} |
|
147,22 → 147,22 |
} |
|
// big vario arrays |
char vario_00[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xff}; |
char vario_01[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xc0}; |
char vario_02[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xc1}; |
char vario_03[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0x00}; |
char vario_04[5] PROGMEM = {0x00, 0x00, 0xc2, 0xc0, 0x00}; |
char vario_05[5] PROGMEM = {0x00, 0x00, 0xc2, 0xc1, 0x00}; |
char vario_06[5] PROGMEM = {0x00, 0x00, 0xc2, 0x00, 0x00}; |
char vario_07[5] PROGMEM = {0x00, 0x00, 0xbb, 0x00, 0x00}; |
char vario_08[5] PROGMEM = {0x00, 0x00, 0xc3, 0x00, 0x00}; |
char vario_09[5] PROGMEM = {0x00, 0xc4, 0xc3, 0x00, 0x00}; |
char vario_10[5] PROGMEM = {0x00, 0xc5, 0xc3, 0x00, 0x00}; |
char vario_11[5] PROGMEM = {0x00, 0xff, 0xc3, 0x00, 0x00}; |
char vario_12[5] PROGMEM = {0xc4, 0xff, 0xc3, 0x00, 0x00}; |
char vario_13[5] PROGMEM = {0xc5, 0xff, 0xc3, 0x00, 0x00}; |
char vario_14[5] PROGMEM = {0xff, 0xff, 0xc3, 0x00, 0x00}; |
char* vario_pnt[15] PROGMEM = {vario_00, vario_01, vario_02, vario_03, vario_04, |
const char vario_00[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xff}; |
const char vario_01[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xc0}; |
const char vario_02[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0xc1}; |
const char vario_03[5] PROGMEM = {0x00, 0x00, 0xc2, 0xff, 0x00}; |
const char vario_04[5] PROGMEM = {0x00, 0x00, 0xc2, 0xc0, 0x00}; |
const char vario_05[5] PROGMEM = {0x00, 0x00, 0xc2, 0xc1, 0x00}; |
const char vario_06[5] PROGMEM = {0x00, 0x00, 0xc2, 0x00, 0x00}; |
const char vario_07[5] PROGMEM = {0x00, 0x00, 0xbb, 0x00, 0x00}; |
const char vario_08[5] PROGMEM = {0x00, 0x00, 0xc3, 0x00, 0x00}; |
const char vario_09[5] PROGMEM = {0x00, 0xc4, 0xc3, 0x00, 0x00}; |
const char vario_10[5] PROGMEM = {0x00, 0xc5, 0xc3, 0x00, 0x00}; |
const char vario_11[5] PROGMEM = {0x00, 0xff, 0xc3, 0x00, 0x00}; |
const char vario_12[5] PROGMEM = {0xc4, 0xff, 0xc3, 0x00, 0x00}; |
const char vario_13[5] PROGMEM = {0xc5, 0xff, 0xc3, 0x00, 0x00}; |
const char vario_14[5] PROGMEM = {0xff, 0xff, 0xc3, 0x00, 0x00}; |
const char* vario_pnt[15] PROGMEM = {vario_00, vario_01, vario_02, vario_03, vario_04, |
vario_05, vario_06, vario_07, vario_08, |
vario_09, vario_10, vario_11, vario_12, |
vario_13, vario_14}; |
177,6 → 177,8 |
|
// TODO: why does write_string_pgm_down(x, y-2, vario_pnt[index], 5); |
// not work??? WTF?! |
write_string_pgm_down(x, y-2, (const char *) (pgm_read_word ( &(vario_pnt[index]))), 5); |
#if 0 |
switch (index) { |
case 0: write_string_pgm_down(x, y-2, vario_pnt[0], 5); |
break; |
207,7 → 209,8 |
case 13: write_string_pgm_down(x, y-2, vario_pnt[13], 5); |
break; |
default: write_string_pgm_down(x, y-2, vario_pnt[14], 5); |
} |
} |
#endif |
} |
|
/* ########################################################################## |