Added basic primary driver display and display switch commands

This commit is contained in:
2026-03-27 16:08:24 +01:00
parent a902600aa4
commit 6d47582eba
7 changed files with 115 additions and 2 deletions

View File

@@ -95,6 +95,18 @@ cmd::command_id cmd::parse_command_name(const char *input) {
return CMD_CFG_RESET;
}
if (strcmp(input, "TRACK_AUTODETECT") == 0) {
return CMD_TRACK_AUTODETECT;
}
if (strcmp(input, "DISPLAY_GPS_DEBUG") == 0) {
return CMD_DISPLAY_GPS_DEBUG;
}
if (strcmp(input, "DISPLAY_DRIVER_PRIMARY") == 0) {
return CMD_DISPLAY_DRIVER_PRIMARY;
}
return CMD_UNKNOWN;
}
@@ -296,6 +308,60 @@ int cmd::handle_cfg_reset_command(unsigned short argc) {
return router::send(MOD_CFG, TASK_CONFIG_CFG_RESET);
}
int cmd::handle_track_autodetect_command(unsigned short argc) {
if (argc != 1) {
#ifdef ERROR
if (_logger != nullptr) {
_logger->error("TRACK_AUTODETECT expects no arguments");
}
#endif
return 1;
}
#ifdef INFO
if (_logger != nullptr) {
_logger->info("Detecting track");
}
#endif
return router::send(MOD_CFG, TASK_CONFIG_TRACK_DETECT, 1);
}
int cmd::handle_display_gps_debug(unsigned short argc) {
if (argc != 1) {
#ifdef ERROR
if (_logger != nullptr) {
_logger->error("DISPLAY_GPS_DEBUG expects no arguments");
}
#endif
return 1;
}
#ifdef INFO
if (_logger != nullptr) {
_logger->info("Switching to GPS_DEBUG display");
}
#endif
return router::send(MOD_LCD, TASK_DISPLAY_GPS_DEBUG);
}
int cmd::handle_display_driver_primary(unsigned short argc) {
if (argc != 1) {
#ifdef ERROR
if (_logger != nullptr) {
_logger->error("DISPLAY_DRIVER_PRIMARY expects no arguments");
}
#endif
return 1;
}
#ifdef INFO
if (_logger != nullptr) {
_logger->info("Switching to DRIVER_PRIMARY display");
}
#endif
return router::send(MOD_LCD, TASK_DISPLAY_DRIVER_PRIMARY);
}
int cmd::handle_unknown_command(unsigned short argc, char *argv[]) {
#ifdef ERROR
if (_logger != nullptr) {
@@ -328,6 +394,15 @@ int cmd::dispatch_command(command_id command, unsigned short argc, char *argv[])
case CMD_CFG_RESET:
return this->handle_cfg_reset_command(argc);
case CMD_TRACK_AUTODETECT:
return this->handle_track_autodetect_command(argc);
case CMD_DISPLAY_GPS_DEBUG:
return this->handle_display_gps_debug(argc);
case CMD_DISPLAY_DRIVER_PRIMARY:
return this->handle_display_driver_primary(argc);
case CMD_UNKNOWN:
default:

View File

@@ -22,6 +22,9 @@ private:
CMD_DUMP_TRACK,
CMD_CFG_RESET,
CMD_CFG_DUMP,
CMD_TRACK_AUTODETECT,
CMD_DISPLAY_GPS_DEBUG,
CMD_DISPLAY_DRIVER_PRIMARY,
};
HardwareSerial *_data_stream;
@@ -47,6 +50,9 @@ private:
int handle_track_delete_command(unsigned short argc, char *argv[]);
int handle_track_dump_command(unsigned short argc, char *argv[]);
int handle_cfg_reset_command(unsigned short argc);
int handle_track_autodetect_command(unsigned short argc);
int handle_display_gps_debug(unsigned short argc);
int handle_display_driver_primary(unsigned short argc);
int handle_unknown_command(unsigned short argc, char *argv[]);
public: