Skip to content

Commit c1eeb69

Browse files
committed
Console hidden flag, LVPDB Vsh diagnostic, serial.sh helper
Console: - Add `hidden` field to FEB_Console_Cmd_t; cmd_help / cmd_commands / CSV commands listing skip hidden entries. - Mark per-board CSV-only subcommands hidden across BMS, DART, DASH, LVPDB, PCU, UART, UART_TEST so `help` lists only the parent dispatcher while CSV `<board>|csv|<tx>|<sub>` direct lookup still resolves. - UART: fold rtc_cmd into the UART parent dispatcher; drop the separate RTC_RegisterCommands(). LVPDB: - cmd_status: add Vsh(uV) column from raw shunt-voltage register and blank I(mA) on disabled channels (was echoing saturated/noisy artefacts from the shunt amp on an open FET). - HAL_Delay(1) before EN/PG GPIO readback so slew-limited transitions settle. - Switch enable/disable readback warnings to LOG_I/LOG_W. common/FEB_TPS_Library: - Drop the gated I2C-write debug-log scaffolding from the retry-loop bring-up; the retry behaviour itself is unchanged. scripts: - New serial.sh: auto-detect VCP, prefer tio -> picocom -> screen -> minicom, per-board boot-expectation hints. README updated.
1 parent 7985f30 commit c1eeb69

27 files changed

Lines changed: 738 additions & 151 deletions

File tree

BMS/Core/User/Src/FEB_Commands.c

Lines changed: 63 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,52 +1009,85 @@ static void cmd_canstatus_csv(int argc, char *argv[])
10091009
* also works as a shorthand. The canonical text form remains `BMS|<sub>` via
10101010
* the cmd_bms mega-dispatcher.
10111011
* ============================================================================ */
1012-
static const FEB_Console_Cmd_t bms_status_cmd = {
1013-
.name = "status", .help = "Status summary", .handler = subcmd_status, .csv_handler = cmd_status_csv};
1014-
static const FEB_Console_Cmd_t bms_cells_cmd = {
1015-
.name = "cells", .help = "Per-cell voltages (C/S)", .handler = subcmd_cells, .csv_handler = cmd_cells_csv};
1016-
static const FEB_Console_Cmd_t bms_temps_cmd = {
1017-
.name = "temps", .help = "Per-sensor temperatures", .handler = subcmd_temps, .csv_handler = cmd_temps_csv};
1012+
static const FEB_Console_Cmd_t bms_status_cmd = {.name = "status",
1013+
.help = "Status summary",
1014+
.handler = subcmd_status,
1015+
.csv_handler = cmd_status_csv,
1016+
.hidden = true};
1017+
static const FEB_Console_Cmd_t bms_cells_cmd = {.name = "cells",
1018+
.help = "Per-cell voltages (C/S)",
1019+
.handler = subcmd_cells,
1020+
.csv_handler = cmd_cells_csv,
1021+
.hidden = true};
1022+
static const FEB_Console_Cmd_t bms_temps_cmd = {.name = "temps",
1023+
.help = "Per-sensor temperatures",
1024+
.handler = subcmd_temps,
1025+
.csv_handler = cmd_temps_csv,
1026+
.hidden = true};
10181027
static const FEB_Console_Cmd_t bms_therm_raw_cmd = {.name = "therm-raw",
10191028
.help = "Raw thermistor voltages and ADC codes (42 channels)",
10201029
.handler = subcmd_therm_raw,
1021-
.csv_handler = cmd_therm_raw_csv};
1022-
static const FEB_Console_Cmd_t bms_state_cmd = {
1023-
.name = "state", .help = "Show/set BMS state", .handler = subcmd_state, .csv_handler = cmd_state_csv};
1024-
static const FEB_Console_Cmd_t bms_balance_cmd = {
1025-
.name = "balance", .help = "Control cell balancing (on/off)", .handler = subcmd_balance, .csv_handler = NULL};
1030+
.csv_handler = cmd_therm_raw_csv,
1031+
.hidden = true};
1032+
static const FEB_Console_Cmd_t bms_state_cmd = {.name = "state",
1033+
.help = "Show/set BMS state",
1034+
.handler = subcmd_state,
1035+
.csv_handler = cmd_state_csv,
1036+
.hidden = true};
1037+
static const FEB_Console_Cmd_t bms_balance_cmd = {.name = "balance",
1038+
.help = "Control cell balancing (on/off)",
1039+
.handler = subcmd_balance,
1040+
.csv_handler = NULL,
1041+
.hidden = true};
10261042
static const FEB_Console_Cmd_t bms_gpio_cmd = {
1027-
.name = "gpio", .help = "Hardware I/O status", .handler = subcmd_gpio, .csv_handler = cmd_gpio_csv};
1043+
.name = "gpio", .help = "Hardware I/O status", .handler = subcmd_gpio, .csv_handler = cmd_gpio_csv, .hidden = true};
10281044
static const FEB_Console_Cmd_t bms_ivt_cmd = {
1029-
.name = "ivt", .help = "IVT sensor data", .handler = subcmd_ivt, .csv_handler = cmd_ivt_csv};
1030-
static const FEB_Console_Cmd_t bms_tasks_cmd = {
1031-
.name = "tasks", .help = "FreeRTOS task stack stats", .handler = subcmd_tasks, .csv_handler = cmd_tasks_csv};
1045+
.name = "ivt", .help = "IVT sensor data", .handler = subcmd_ivt, .csv_handler = cmd_ivt_csv, .hidden = true};
1046+
static const FEB_Console_Cmd_t bms_tasks_cmd = {.name = "tasks",
1047+
.help = "FreeRTOS task stack stats",
1048+
.handler = subcmd_tasks,
1049+
.csv_handler = cmd_tasks_csv,
1050+
.hidden = true};
10321051
static const FEB_Console_Cmd_t bms_mem_cmd = {
1033-
.name = "mem", .help = "Heap usage", .handler = subcmd_mem, .csv_handler = cmd_mem_csv};
1034-
static const FEB_Console_Cmd_t bms_cell_cmd = {
1035-
.name = "cell", .help = "Single cell details: cell|<bank>|<cell>", .handler = subcmd_cell, .csv_handler = NULL};
1052+
.name = "mem", .help = "Heap usage", .handler = subcmd_mem, .csv_handler = cmd_mem_csv, .hidden = true};
1053+
static const FEB_Console_Cmd_t bms_cell_cmd = {.name = "cell",
1054+
.help = "Single cell details: cell|<bank>|<cell>",
1055+
.handler = subcmd_cell,
1056+
.csv_handler = NULL,
1057+
.hidden = true};
10361058
static const FEB_Console_Cmd_t bms_spi_cmd = {
1037-
.name = "spi", .help = "isoSPI status", .handler = subcmd_spi, .csv_handler = NULL};
1059+
.name = "spi", .help = "isoSPI status", .handler = subcmd_spi, .csv_handler = NULL, .hidden = true};
10381060
static const FEB_Console_Cmd_t bms_errors_cmd = {
1039-
.name = "errors", .help = "Error summary", .handler = subcmd_errors, .csv_handler = cmd_errors_csv};
1040-
static const FEB_Console_Cmd_t bms_config_cmd = {
1041-
.name = "config", .help = "Configuration constants", .handler = subcmd_config, .csv_handler = cmd_config_csv};
1061+
.name = "errors", .help = "Error summary", .handler = subcmd_errors, .csv_handler = cmd_errors_csv, .hidden = true};
1062+
static const FEB_Console_Cmd_t bms_config_cmd = {.name = "config",
1063+
.help = "Configuration constants",
1064+
.handler = subcmd_config,
1065+
.csv_handler = cmd_config_csv,
1066+
.hidden = true};
10421067
static const FEB_Console_Cmd_t bms_ping_cmd = {
1043-
.name = "ping", .help = "Start CAN ping: ping|<1-4>", .handler = subcmd_ping, .csv_handler = NULL};
1068+
.name = "ping", .help = "Start CAN ping: ping|<1-4>", .handler = subcmd_ping, .csv_handler = NULL, .hidden = true};
10441069
static const FEB_Console_Cmd_t bms_pong_cmd = {
1045-
.name = "pong", .help = "Start CAN pong: pong|<1-4>", .handler = subcmd_pong, .csv_handler = NULL};
1046-
static const FEB_Console_Cmd_t bms_canstop_cmd = {
1047-
.name = "canstop", .help = "Stop CAN ch: canstop|<1-4|all>", .handler = subcmd_canstop, .csv_handler = NULL};
1048-
static const FEB_Console_Cmd_t bms_canstatus_cmd = {
1049-
.name = "canstatus", .help = "CAN ping/pong status", .handler = subcmd_canstatus, .csv_handler = cmd_canstatus_csv};
1070+
.name = "pong", .help = "Start CAN pong: pong|<1-4>", .handler = subcmd_pong, .csv_handler = NULL, .hidden = true};
1071+
static const FEB_Console_Cmd_t bms_canstop_cmd = {.name = "canstop",
1072+
.help = "Stop CAN ch: canstop|<1-4|all>",
1073+
.handler = subcmd_canstop,
1074+
.csv_handler = NULL,
1075+
.hidden = true};
1076+
static const FEB_Console_Cmd_t bms_canstatus_cmd = {.name = "canstatus",
1077+
.help = "CAN ping/pong status",
1078+
.handler = subcmd_canstatus,
1079+
.csv_handler = cmd_canstatus_csv,
1080+
.hidden = true};
10501081
static const FEB_Console_Cmd_t bms_cell_stats_cmd = {.name = "cell-stats",
10511082
.help = "Voltages + temps (per cell / per sensor)",
10521083
.handler = subcmd_cell_stats,
1053-
.csv_handler = cmd_cell_stats_csv};
1084+
.csv_handler = cmd_cell_stats_csv,
1085+
.hidden = true};
10541086
static const FEB_Console_Cmd_t bms_reg_cmd = {.name = "reg",
10551087
.help = "ADBMS register access (reg|list, reg|read|<n>, reg|dump, ...)",
10561088
.handler = ADBMS_RegSubcmd,
1057-
.csv_handler = NULL};
1089+
.csv_handler = NULL,
1090+
.hidden = true};
10581091

10591092
/* Per-board subcommand table. cmd_bms iterates this for `BMS|<sub>` dispatch.
10601093
* Adding a subcommand: define its FEB_Console_Cmd_t above and append a pointer

BMS/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.0
1+
1.5.1

DART/Core/User/Src/FEB_DART_Commands.c

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -452,24 +452,43 @@ static void cmd_cans_csv(int argc, char *argv[])
452452
* `DART|csv|<tx_id>|<name>` lookup resolves directly; bare-name text invocation
453453
* also works as a shorthand. Canonical text form: `DART|<sub>` via cmd_dart.
454454
* ============================================================================ */
455-
static const FEB_Console_Cmd_t dart_status_cmd = {
456-
.name = "status", .help = "Mode + per-fan rows + temp", .handler = sub_status, .csv_handler = cmd_status_csv};
457-
static const FEB_Console_Cmd_t dart_pwm_cmd = {
458-
.name = "pwm", .help = "PWM router: pwm|set|<fan>|<pct>, pwm|get|<fan>", .handler = sub_pwm, .csv_handler = NULL};
459-
static const FEB_Console_Cmd_t dart_pwm_get_cmd = {
460-
.name = "pwm-get", .help = "Read commanded PWM duty", .handler = cmd_pwm_get, .csv_handler = cmd_pwm_get_csv};
455+
static const FEB_Console_Cmd_t dart_status_cmd = {.name = "status",
456+
.help = "Mode + per-fan rows + temp",
457+
.handler = sub_status,
458+
.csv_handler = cmd_status_csv,
459+
.hidden = true};
460+
static const FEB_Console_Cmd_t dart_pwm_cmd = {.name = "pwm",
461+
.help = "PWM router: pwm|set|<fan>|<pct>, pwm|get|<fan>",
462+
.handler = sub_pwm,
463+
.csv_handler = NULL,
464+
.hidden = true};
465+
static const FEB_Console_Cmd_t dart_pwm_get_cmd = {.name = "pwm-get",
466+
.help = "Read commanded PWM duty",
467+
.handler = cmd_pwm_get,
468+
.csv_handler = cmd_pwm_get_csv,
469+
.hidden = true};
461470
static const FEB_Console_Cmd_t dart_pwm_set_cmd = {.name = "pwm-set",
462471
.help = "Set manual PWM: pwm-set|<1-5|all>|<0-100>",
463472
.handler = cmd_pwm_set,
464-
.csv_handler = cmd_pwm_set_csv};
465-
static const FEB_Console_Cmd_t dart_tach_cmd = {
466-
.name = "tach", .help = "Tach (Hz, RPM, %% of max)", .handler = sub_tach, .csv_handler = cmd_tach_csv};
467-
static const FEB_Console_Cmd_t dart_auto_cmd = {
468-
.name = "auto", .help = "Return to CAN-driven mode", .handler = sub_auto, .csv_handler = cmd_auto_csv};
469-
static const FEB_Console_Cmd_t dart_temp_cmd = {
470-
.name = "temp", .help = "BMS max cell temp + staleness", .handler = sub_temp, .csv_handler = cmd_temp_csv};
473+
.csv_handler = cmd_pwm_set_csv,
474+
.hidden = true};
475+
static const FEB_Console_Cmd_t dart_tach_cmd = {.name = "tach",
476+
.help = "Tach (Hz, RPM, %% of max)",
477+
.handler = sub_tach,
478+
.csv_handler = cmd_tach_csv,
479+
.hidden = true};
480+
static const FEB_Console_Cmd_t dart_auto_cmd = {.name = "auto",
481+
.help = "Return to CAN-driven mode",
482+
.handler = sub_auto,
483+
.csv_handler = cmd_auto_csv,
484+
.hidden = true};
485+
static const FEB_Console_Cmd_t dart_temp_cmd = {.name = "temp",
486+
.help = "BMS max cell temp + staleness",
487+
.handler = sub_temp,
488+
.csv_handler = cmd_temp_csv,
489+
.hidden = true};
471490
static const FEB_Console_Cmd_t dart_cans_cmd = {
472-
.name = "cans", .help = "CAN RX/TX diagnostics", .handler = sub_cans, .csv_handler = cmd_cans_csv};
491+
.name = "cans", .help = "CAN RX/TX diagnostics", .handler = sub_cans, .csv_handler = cmd_cans_csv, .hidden = true};
473492

474493
static const FEB_Console_Cmd_t *const DART_SUBCMDS[] = {
475494
&dart_status_cmd, &dart_pwm_cmd, &dart_pwm_get_cmd, &dart_pwm_set_cmd,

DART/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.0
1+
1.5.1

DASH/Core/User/Src/FEB_Commands.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ static const FEB_Console_Cmd_t dash_cmd_ping = {
7272
.help = "Start CAN ping mode: ping|<1-4>",
7373
.handler = cmd_ping,
7474
.csv_handler = cmd_ping_csv,
75+
.hidden = true,
7576
};
7677

7778
static void cmd_pong(int argc, char *argv[])
@@ -119,6 +120,7 @@ static const FEB_Console_Cmd_t dash_cmd_pong = {
119120
.help = "Start CAN pong mode: pong|<1-4>",
120121
.handler = cmd_pong,
121122
.csv_handler = cmd_pong_csv,
123+
.hidden = true,
122124
};
123125

124126
static void cmd_canstop(int argc, char *argv[])
@@ -175,6 +177,7 @@ static const FEB_Console_Cmd_t dash_cmd_canstop = {
175177
.help = "Stop CAN ping/pong: canstop|<1-4|all>",
176178
.handler = cmd_canstop,
177179
.csv_handler = cmd_canstop_csv,
180+
.hidden = true,
178181
};
179182

180183
static void cmd_canstatus(int argc, char *argv[])
@@ -233,6 +236,7 @@ static const FEB_Console_Cmd_t dash_cmd_canstatus = {
233236
.help = "Show CAN ping/pong status",
234237
.handler = cmd_canstatus,
235238
.csv_handler = cmd_canstatus_csv,
239+
.hidden = true,
236240
};
237241

238242
/* ============================================================================
@@ -265,6 +269,7 @@ static const FEB_Console_Cmd_t dash_cmd_lvpdb = {
265269
.help = "Show LVPDB bus voltages",
266270
.handler = cmd_lvpdb,
267271
.csv_handler = cmd_lvpdb_csv,
272+
.hidden = true,
268273
};
269274

270275
/* ============================================================================
@@ -299,6 +304,7 @@ static const FEB_Console_Cmd_t dash_cmd_bms = {
299304
.help = "Show BMS state, max cell temperature, and pack voltage",
300305
.handler = cmd_bms,
301306
.csv_handler = cmd_bms_csv,
307+
.hidden = true,
302308
};
303309

304310
/* ============================================================================
@@ -334,6 +340,7 @@ static const FEB_Console_Cmd_t dash_cmd_pcu = {
334340
.help = "Show PCU torque, direction, RMS enable, and brake position",
335341
.handler = cmd_pcu,
336342
.csv_handler = cmd_pcu_csv,
343+
.hidden = true,
337344
};
338345

339346
/* ============================================================================

DASH/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.0
1+
1.5.1

DCU/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.0
1+
1.5.1

0 commit comments

Comments
 (0)