Mercurial > public > ostc4
changeset 487:0f5080f50ba7
Merged in Ideenmodellierer/ostc4/FixLayout_Header_LogView (pull request #46)
FixLayout Header LogView
author | heinrichsweikamp <bitbucket@heinrichsweikamp.com> |
---|---|
date | Tue, 26 May 2020 19:27:07 +0000 |
parents | 230aed360da0 (current diff) 3db9eba89e3c (diff) |
children | 9eeab3fead8f |
files | |
diffstat | 4 files changed, 36 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/Discovery/Inc/logbook.h Tue May 19 07:27:18 2020 +0000 +++ b/Discovery/Inc/logbook.h Tue May 26 19:27:07 2020 +0000 @@ -75,7 +75,6 @@ uint8_t gfAtBeginning; uint8_t gfAtEnd; uint16_t personalDiveCount; - uint8_t batteryCharge; SSetpointLog setpoint[NUM_GAS]; uint16_t maxCNS; uint16_t averageDepth_mbar; @@ -94,7 +93,8 @@ uint8_t diveMode; uint8_t hwHudLastStatus; /* from here on identical to OSTC3 again */ uint16_t hwHudBattery_mV; - uint8_t batteryGaugeRegisters[6]; + uint8_t batteryGaugeRegisters[5]; /* former batteryGaugeRegisters (6 Bytes) which were not used => use as reserve to keep memory layout */ + uint8_t batteryCharge; /* first reuse byte */ uint16_t diveHeaderEnd; } SLogbookHeader;
--- a/Discovery/Src/gfx_engine.c Tue May 19 07:27:18 2020 +0000 +++ b/Discovery/Src/gfx_engine.c Tue May 26 19:27:07 2020 +0000 @@ -3175,6 +3175,7 @@ uint32_t pText; uint8_t setToTinyFont = 0; uint16_t decodeUTF8; + uint8_t tinyState = 0; /* used to identify the usage of tiny font */ #ifndef BOOTLOADER_STANDALONE SSettings *pSettings; @@ -3197,6 +3198,24 @@ while (*(char*)pText != 0)// und fehlend: Abfrage window / image size { + if(*(char*)pText == '\016') /* request font change */ + { + tinyState++; + } + if(*(char*)pText == '\017') /* request font reset */ + { + tinyState = 0; + } + if(tinyState > 1) + { + font = (tFont *)cfg->TinyFont; + } + else + { + font = (tFont *)cfg->font; + } + + if((font == &FontT144) && (*(char*)pText == '.')) { font = (tFont *)&FontT84;
--- a/Discovery/Src/logbook.c Tue May 19 07:27:18 2020 +0000 +++ b/Discovery/Src/logbook.c Tue May 26 19:27:07 2020 +0000 @@ -901,7 +901,6 @@ divisor.cns--; } -#ifdef ENABLE_BOTTLE_SENSOR if(smallHeader.tankDivisor) { if(divisor.tank == 0) @@ -920,7 +919,6 @@ divisor.tank--; } } -#endif if (length != 0) return 0; @@ -1618,8 +1616,7 @@ headerOSTC3.hwHudLastStatus = pHead->hwHudLastStatus; - memcpy(headerOSTC3.batteryGaugeRegisters,&pHead->batteryGaugeRegisters, 6); - + memset(headerOSTC3.batteryGaugeRegisters, 0x00, 6); /* The battery registers are not evaluated => Set to zero */ memcpy(headerOSTC3.diveHeaderEnd, &pHead->diveHeaderEnd, 2); }
--- a/Discovery/Src/show_logbook.c Tue May 19 07:27:18 2020 +0000 +++ b/Discovery/Src/show_logbook.c Tue May 26 19:27:07 2020 +0000 @@ -39,6 +39,8 @@ #include <stdio.h> #include <stdlib.h> // for abs() +#define LOG_BORDER_OFFSET (50u) /* text offset from left / right display to text start/end */ + /* Private variables ---------------------------------------------------------*/ static GFX_DrawCfgScreen tLOGscreen; @@ -415,9 +417,9 @@ { SWindowGimpStyle wintemp; SWindowGimpStyle winsmal; - wintemp.left = 50; + wintemp.left = LOG_BORDER_OFFSET; wintemp.right = 799 - wintemp.left; - wintemp.top = 50; + wintemp.top = LOG_BORDER_OFFSET; wintemp.bottom = 479 - 40; SLogbookHeader logbookHeader; @@ -465,8 +467,8 @@ //Print time uint8_t hour = logbookHeader.timeHour; uint8_t minute = logbookHeader.timeMinute; - snprintf(text,20,"%02i:%02i",hour,minute); - Gfx_write_label_var(hgfx, 600, 749,10, &FontT42,CLUT_GasSensor1,text); + snprintf(text,20,"\002%02i:%02i",hour,minute); + Gfx_write_label_var(hgfx, 600, wintemp.right,10, &FontT42,CLUT_GasSensor1,text); //Print Dive Mode (OC/CCR/...) switch(logbookHeader.diveMode) @@ -493,12 +495,15 @@ { case GF_MODE: snprintf(text,20,"\002GF%u/%u",logbookHeader.gfLow_or_Vpm_conservatism,logbookHeader.gfHigh); - break; + break; case VPM_MODE: snprintf(text,20,"\002VPM +%u",logbookHeader.gfLow_or_Vpm_conservatism); - break; + break; + default: + snprintf(text,20," "); /* no information to be displayed */ + break; } - Gfx_write_label_var(hgfx, 600, 729,60, &FontT42,CLUT_GasSensor1,text); + Gfx_write_label_var(hgfx, 500, wintemp.right,60, &FontT42,CLUT_GasSensor1,text); } //Write Dive Time @@ -643,8 +648,8 @@ } if(bottlePressureStart != 0) { - snprintf(text,40,"%i | %i\016\016 Bar\017",bottlePressureStart,bottlePressureEnd); - Gfx_write_label_var(hgfx,600,800,440, &FontT42,CLUT_GasSensor1,text); + snprintf(text,40,"\002%i | %i\016\016 Bar\017",bottlePressureStart,bottlePressureEnd); + Gfx_write_label_var(hgfx,450,wintemp.right,440, &FontT42,CLUT_GasSensor1,text); } #endif //--- print coordinate system & depth graph with gaschanges ---