diff --git a/mk4-time/Core/Inc/main.h b/mk4-time/Core/Inc/main.h index 6ae17e1..77c9453 100644 --- a/mk4-time/Core/Inc/main.h +++ b/mk4-time/Core/Inc/main.h @@ -133,6 +133,8 @@ extern _Bool resendDate; #define CMD_RELOAD_TEXT 0x92 #define CMD_SHOW_CRC 0x9D +//#define NONCOMPLIANT_DATE_MODES + enum { MODE_ISO8601_STD =0, MODE_ISO_ORDINAL, @@ -153,6 +155,9 @@ enum { MODE_FIRMWARE_CRC_D, MODE_VBAT, MODE_DISPLAYTEST, +#ifdef NONCOMPLIANT_DATE_MODES + MODE_DDMMYYYY, +#endif NUM_DISPLAY_MODES }; diff --git a/mk4-time/Core/Src/main.c b/mk4-time/Core/Src/main.c index fd6c92b..a9e3f74 100644 --- a/mk4-time/Core/Src/main.c +++ b/mk4-time/Core/Src/main.c @@ -245,6 +245,20 @@ void sendDate( _Bool now ){ uart2_tx_buffer[9] ='0'+nextBcd.tenDays; uart2_tx_buffer[10]='0'+nextBcd.days; break; +#ifdef NONCOMPLIANT_DATE_MODES + case MODE_DDMMYYYY: + uart2_tx_buffer[1] ='0'+nextBcd.tenDays; + uart2_tx_buffer[2] ='0'+nextBcd.days; + uart2_tx_buffer[3] ='-'; + uart2_tx_buffer[4] ='0'+nextBcd.tenMonths; + uart2_tx_buffer[5] ='0'+nextBcd.months; + uart2_tx_buffer[6] ='-'; + uart2_tx_buffer[7] ='2'; + uart2_tx_buffer[8] ='0'; + uart2_tx_buffer[9] ='0'+nextBcd.tenYears; + uart2_tx_buffer[10]='0'+nextBcd.years; + break; +#endif case MODE_ISO_ORDINAL: uart2_tx_buffer[1] ='2' ;//-2+nextBcd.seconds; uart2_tx_buffer[2] ='0'; @@ -953,6 +967,10 @@ void parseConfigString(char *key, char *value) { set_mode_enabled(MODE_VBAT, value); } else if (strcasecmp(key, "MODE_DISPLAYTEST") == 0) { set_mode_enabled(MODE_DISPLAYTEST, value); +#ifdef NONCOMPLIANT_DATE_MODES + } else if (strcasecmp(key, "MODE_DDMMYYYY") == 0) { + set_mode_enabled(MODE_DDMMYYYY, value); +#endif } else if (strcasecmp(key, "MODE_FIRMWARE_CRC") == 0) { set_mode_enabled(MODE_FIRMWARE_CRC_D, value); set_mode_enabled(MODE_FIRMWARE_CRC_T, value);