Compare commits

..

2 Commits

Author SHA1 Message Date
b627f52272 some debugger-commands added 2025-05-04 11:53:38 +02:00
d723290e57 updated platformio.ini 2025-05-04 11:53:03 +02:00
5 changed files with 67 additions and 19 deletions

View File

@ -32,6 +32,7 @@ typedef struct Globals_s
bool hasDTC; /**< Flag indicating the presence of Diagnostic Trouble Codes (DTC) */
bool measurementActive; /**< Flag indicating active measurement */
uint32_t measuredPulses; /**< Number of measured pulses */
bool toggle_wifi;
} Globals_t;
extern Globals_t globals; /**< Global variable struct */

View File

@ -11,21 +11,14 @@
[platformio]
extra_configs =
wifi_credentials.ini
default_envs = pcb_rev_1-3, pcb_rev_1-2
default_envs = pcb_rev_1-3_serial, pcb_rev_1-3_ota, pcb_rev_1-2_serial, pcb_rev_1-2_ota
[env]
platform = espressif8266
board = d1_mini
framework = arduino
upload_speed = 921600
upload_protocol = espota
upload_port = 10.0.1.14
upload_flags =
--port=8266
--auth=${wifi_cred.admin_password}
build_flags =
!python codegen/git_rev_macro.py
-DWIFI_SSID_CLIENT=${wifi_cred.wifi_ssid_client}
@ -58,21 +51,48 @@ lib_deps =
coryjfowler/mcp_can @ ^1.5.0
mikalhart/TinyGPSPlus @ ^1.0.3
[env:pcb_rev_1-3]
;build_type = debug
[env:pcb_rev_1-3_serial]
extends = env
custom_pcb_revision = 3
upload_protocol = esptool
build_flags =
${env.build_flags}
-DPCB_REV=${this.custom_pcb_revision}
board_build.ldscript = eagle.flash.4m1m.ld
[env:pcb_rev_1-2]
;build_type = debug
[env:pcb_rev_1-3_ota]
extends = env
custom_pcb_revision = 3
upload_protocol = espota
upload_port = 10.0.1.14
upload_flags =
--port=8266
--auth=${wifi_cred.admin_password}
build_flags =
${env.build_flags}
-DPCB_REV=${this.custom_pcb_revision}
board_build.ldscript = eagle.flash.4m1m.ld
[env:pcb_rev_1-2_serial]
extends = env
custom_pcb_revision = 2
upload_protocol = esptool
build_flags =
${env.build_flags}
-DPCB_REV=${this.custom_pcb_revision}
board_build.ldscript = eagle.flash.4m1m.ld
[env:pcb_rev_1-2_ota]
extends = env
custom_pcb_revision = 2
upload_protocol = espota
upload_port = 10.0.1.14
upload_flags =
--port=8266
--auth=${wifi_cred.admin_password}
build_flags =
${env.build_flags}
-DPCB_REV=${this.custom_pcb_revision}
board_build.ldscript = eagle.flash.4m1m.ld

View File

@ -26,6 +26,7 @@ void Debug_dumpPersistance();
void Debug_ShowDTCs();
void Debug_dumpGlobals();
void Debug_printHelp();
void Debug_Purge();
const char *uint32_to_binary_string(uint32_t num);
/**
@ -273,6 +274,10 @@ void processCmdDebug(String command)
Websocket_PushNotification("Debug Success Notification", success);
else if (command == "notify_info")
Websocket_PushNotification("Debug Info Notification", info);
else if (command == "purge")
Debug_Purge();
else if (command == "toggle_wifi")
globals.toggle_wifi = true;
else
Debug_pushMessage("unknown Command\n");
}
@ -488,6 +493,18 @@ void Debug_printHelp()
}
}
/**
* @brief Start purging for 10 pulses.
*/
void Debug_Purge()
{
globals.purgePulses = 10;
globals.resumeStatus = globals.systemStatus;
globals.systemStatus = sysStat_Purge;
Debug_pushMessage("Purging 10 pulses\n");
}
/**
* @brief Convert a uint32_t value to a binary string with nibbles separated by a space.
*
@ -501,12 +518,15 @@ void Debug_printHelp()
* @return A pointer to a const char string containing the binary representation
* of the input number with nibbles separated by a space.
*/
const char* uint32_to_binary_string(uint32_t num) {
const char *uint32_to_binary_string(uint32_t num)
{
static char binary_str[65]; // 32 bits + 31 spaces + null terminator
int i, j;
for (i = 31, j = 0; i >= 0; i--, j++) {
for (i = 31, j = 0; i >= 0; i--, j++)
{
binary_str[j] = ((num >> i) & 1) ? '1' : '0';
if (i % 4 == 0 && i != 0) {
if (i % 4 == 0 && i != 0)
{
binary_str[++j] = ' '; // Insert space after every nibble
}
}

View File

@ -26,4 +26,5 @@ void initGlobals()
globals.systemStatus = sysStat_Startup;
globals.measurementActive = false;
globals.measuredPulses = 0;
globals.toggle_wifi = false;
}

View File

@ -249,6 +249,12 @@ void loop()
DTC_Process();
Debug_Process();
if (globals.toggle_wifi == true){
globals.toggle_wifi = false;
toggleWiFiAP();
}
// Handle OTA updates and update cyclic EEPROM tasks for Persistence Data Structure (PDS)
ArduinoOTA.handle();
EEPROMCyclicPDSTicker.update();