69,34 → 69,12 |
char stats_item_2[] PROGMEM = "max Distance:"; |
char stats_item_3[] PROGMEM = "min voltage :"; |
char stats_item_4[] PROGMEM = "max time :"; |
char* stats_item_pointers[] PROGMEM = {stats_item_0, stats_item_1, stats_item_2, |
stats_item_3, stats_item_4}; |
char* stats_item_pointers[] PROGMEM = {stats_item_0, stats_item_1, stats_item_2, stats_item_3, stats_item_4}; |
|
// store more fixed strings in progmen |
char ON[] PROGMEM = "ON "; |
char ON[] PROGMEM = "ON "; |
char OFF[] PROGMEM = "OFF"; |
|
// 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, |
vario_05, vario_06, vario_07, vario_08, |
vario_09, vario_10, vario_11, vario_12, |
vario_13, vario_14}; |
|
#endif // ends !(ALLCHARSDEBUG|(WRITECHARS != -1)) |
|
// general PAL|NTSC distingiusch stuff |
225,9 → 203,6 |
//write_ndigit_number_u(x, y-1, percent * 13 / 100, 100, 0); |
} |
|
/* ########################################################################## |
* variometer |
* ##########################################################################*/ |
/** |
* draw variometer arrows at <x>/<y> according to <variometer> |
*/ |
265,49 → 240,6 |
} |
} |
|
/** |
* draw a bigger vario with middle at <x>/<y> acording to <variometer> |
*/ |
void draw_big_variometer(uint8_t x, uint8_t y, int16_t variometer) { |
int16_t index = 7 + variometer; |
if (index > 14) index = 14; |
else if (index < 0) index = 0; |
|
// TODO: why does write_string_pgm_down(x, y-2, vario_pnt[index], 5); |
// not work??? WTF?! |
switch (index) { |
case 0: write_string_pgm_down(x, y-2, vario_pnt[0], 5); |
break; |
case 1: write_string_pgm_down(x, y-2, vario_pnt[1], 5); |
break; |
case 2: write_string_pgm_down(x, y-2, vario_pnt[2], 5); |
break; |
case 3: write_string_pgm_down(x, y-2, vario_pnt[3], 5); |
break; |
case 4: write_string_pgm_down(x, y-2, vario_pnt[4], 5); |
break; |
case 5: write_string_pgm_down(x, y-2, vario_pnt[5], 5); |
break; |
case 6: write_string_pgm_down(x, y-2, vario_pnt[6], 5); |
break; |
case 7: write_string_pgm_down(x, y-2, vario_pnt[7], 5); |
break; |
case 8: write_string_pgm_down(x, y-2, vario_pnt[8], 5); |
break; |
case 9: write_string_pgm_down(x, y-2, vario_pnt[9], 5); |
break; |
case 10: write_string_pgm_down(x, y-2, vario_pnt[10], 5); |
break; |
case 11: write_string_pgm_down(x, y-2, vario_pnt[11], 5); |
break; |
case 12: write_string_pgm_down(x, y-2, vario_pnt[12], 5); |
break; |
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); |
} |
} |
|
/* ########################################################################## |
* artificial horizon |
* ##########################################################################*/ |
706,8 → 638,6 |
Decode64(); |
naviData = *((NaviData_t*) pRxData); |
|
draw_big_variometer(27, 8, naviData.Variometer); |
|
// first line |
write_ndigit_number_u(2, top_line, (uint16_t) (((uint32_t) naviData.GroundSpeed * (uint32_t)9) / (uint32_t)250), 100, 0); |
|