Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 453 → Rev 489

/C-OSD/trunk/osd_helpers.c
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
}
 
/* ##########################################################################