diff --git a/RX_FSK/data/screens.txt b/RX_FSK/data/screens.txt index ab440bb..5d8899a 100644 --- a/RX_FSK/data/screens.txt +++ b/RX_FSK/data/screens.txt @@ -348,3 +348,63 @@ color=6C757D 15,0=xScan Mode 15,18=bVV +############ +@Decode/General.TFT.Bazjo +timer=-1,-1,20000 +key1action=+,0,F,W +key2action=>,#,#,# +timeaction=#,#,# +scale=11,10 +fonts=0,2 +#Row 1 +color=996A06 +0,0=xSerial +0,5=t +color=FFB10B +1,0=Is +color=996A06 +0,11=xFreq. +0,16=c +color=FFB10B +1,11=F +#Row 2 +color=3C5C99 +3,0=xLatitude +color=639AFF +4,0=L +color=3C5C99 +3,11=xLongitude +color=639AFF +4,11=O +#Row 3 +color=3C5C99 +6,0=xHoriz. Speed +color=639AFF +7,0=Hkkm/h +color=3C5C99 +6,11=xVert. Speed +color=639AFF +7,11=Vm/s +#Row 4 +color=99004A +9,0=xDistance +color=FF007B +10,0=GD +color=99004A +9,11=xBearing +color=FF007B +10,11=GB +#Row 5 +color=06998E +12,0=xRSSI +color=0AFFEF +13,0=R +color=06998E +12,11=xHistory +color=0AFFEF +13.5,11=Q4 +#Footer +color=6C757D +15,0=xDecode Mode / General View +15,18=bVV + diff --git a/libraries/SondeLib/Display.cpp b/libraries/SondeLib/Display.cpp index 7444387..d8ea0ec 100644 --- a/libraries/SondeLib/Display.cpp +++ b/libraries/SondeLib/Display.cpp @@ -297,7 +297,7 @@ void U8x8Display::drawIP(uint8_t x, uint8_t y, int16_t width, uint16_t fg, uint1 } // len must be multiple of 2, size is fixed for u8x8 display -void U8x8Display::drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t /*size*/, uint8_t *stat) { +void U8x8Display::drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t /*size*/, uint8_t *stat, uint16_t fg, uint16_t bg) { for(int i=0; i 3x5 symbols; 4=> 4x7 symbols -void ILI9225Display::drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat) { +void ILI9225Display::drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat, uint16_t fg, uint16_t bg) { if(size<3) size=3; if(size>4) size=4; const uint16_t width = len*(size+1); @@ -474,9 +474,9 @@ void ILI9225Display::drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uin for(int xx=0; xx>yy)&0x01) ?0xffff:0x0000; + bitmap[ yy*width + i*(size+1) + xx ] = ((stattiles[stat[i]][xx]>>yy)&0x01) ?fg:bg; } else { - bitmap[ yy*width + i*(size+1) + xx ] = ((stattilesXL[stat[i]][xx]>>yy)&0x01) ?0xffff:0x0000; + bitmap[ yy*width + i*(size+1) + xx ] = ((stattilesXL[stat[i]][xx]>>yy)&0x01) ?fg:bg; } } } @@ -1043,7 +1043,7 @@ void Display::drawRSSI(DispEntry *de) { void Display::drawQS(DispEntry *de) { uint8_t *stat = sonde.si()->rxStat; struct StatInfo *statinfo = (struct StatInfo *)de->extra; - rdis->drawQS(de->x, de->y, statinfo->len, statinfo->size, stat); + rdis->drawQS(de->x, de->y, statinfo->len, statinfo->size, stat, de->fg, de->bg); } void Display::drawType(DispEntry *de) { diff --git a/libraries/SondeLib/Display.h b/libraries/SondeLib/Display.h index f6238eb..6042336 100644 --- a/libraries/SondeLib/Display.h +++ b/libraries/SondeLib/Display.h @@ -60,7 +60,7 @@ public: virtual void drawBitmap(uint16_t x1, uint16_t y1, const uint16_t* bitmap, int16_t w, int16_t h) = 0; virtual void welcome() = 0; virtual void drawIP(uint8_t x, uint8_t y, int16_t width=WIDTH_AUTO, uint16_t fg=0xffff, uint16_t bg=0 ) = 0; - virtual void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat) = 0; + virtual void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat, uint16_t fg=0xffff, uint16_t bg=0) = 0; }; class U8x8Display : public RawDisplay { @@ -82,7 +82,7 @@ public: void drawBitmap(uint16_t x1, uint16_t y1, const uint16_t* bitmap, int16_t w, int16_t h); void welcome(); void drawIP(uint8_t x, uint8_t y, int16_t width=WIDTH_AUTO, uint16_t fg=0xffff, uint16_t bg=0); - void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat); + void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat, uint16_t fg=0xffff, uint16_t bg=0); }; class MY_ILI9225 : public TFT22_ILI9225 { @@ -109,7 +109,7 @@ public: void drawBitmap(uint16_t x1, uint16_t y1, const uint16_t* bitmap, int16_t w, int16_t h); void welcome(); void drawIP(uint8_t x, uint8_t y, int16_t width=WIDTH_AUTO, uint16_t fg=0xffff, uint16_t bg=0); - void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat); + void drawQS(uint8_t x, uint8_t y, uint8_t len, uint8_t size, uint8_t *stat, uint16_t fg=0xffff, uint16_t bg=0); }; class Display {