usb config via cli

This commit is contained in:
SG 2022-12-06 19:00:32 +03:00
parent 9e509c578a
commit 940503534a
2 changed files with 65 additions and 2 deletions

View File

@ -9,6 +9,7 @@
void cli_config_get(Cli* cli, mstring_t* args) {
mstring_t* value = mstring_alloc();
WiFiMode wifi_mode;
UsbMode usb_mode;
nvs_config_get_ap_ssid(value);
cli_printf(cli, "ap_ssid: %s", mstring_get_cstr(value));
@ -44,12 +45,28 @@ void cli_config_get(Cli* cli, mstring_t* args) {
}
cli_printf(cli, "wifi_mode: %s", mstring_get_cstr(value));
cli_write_eol(cli);
nvs_config_get_usb_mode(&usb_mode);
switch(usb_mode) {
case UsbModeBM:
mstring_set(value, CFG_USB_MODE_BM);
break;
case UsbModeDAP:
mstring_set(value, CFG_USB_MODE_DAP);
break;
}
cli_printf(cli, "usb_mode: %s", mstring_get_cstr(value));
mstring_free(value);
}
void cli_config_set_wifi_mode_usage(Cli* cli) {
cli_write_str(cli, "config_set_wifi_mode <AP|STA>");
static void cli_config_set_wifi_mode_usage(Cli* cli) {
cli_write_str(
cli,
"config_set_wifi_mode"
" <" CFG_WIFI_MODE_AP "|" CFG_WIFI_MODE_STA "|" CFG_WIFI_MODE_DISABLED ">");
cli_write_eol(cli);
cli_write_str(cli, " " CFG_WIFI_MODE_AP " (make own WiFi AP)");
cli_write_eol(cli);
@ -92,6 +109,46 @@ void cli_config_set_wifi_mode(Cli* cli, mstring_t* args) {
mstring_free(mode);
}
static void cli_config_set_usb_mode_usage(Cli* cli) {
cli_write_str(cli, "config_set_usb_mode <" CFG_USB_MODE_BM "|" CFG_USB_MODE_DAP ">");
cli_write_eol(cli);
cli_write_str(cli, " " CFG_USB_MODE_BM " (Black Magic Probe mode)");
cli_write_eol(cli);
cli_write_str(cli, " " CFG_USB_MODE_DAP " (DAPLink mode)");
cli_write_eol(cli);
}
void cli_config_set_usb_mode(Cli* cli, mstring_t* args) {
mstring_t* mode = mstring_alloc();
UsbMode usb_mode;
do {
if(!cli_args_read_string_and_trim(args, mode)) {
cli_config_set_usb_mode_usage(cli);
break;
}
if(mstring_cmp_cstr(mode, CFG_USB_MODE_BM) == 0) {
usb_mode = UsbModeBM;
} else if(mstring_cmp_cstr(mode, CFG_USB_MODE_DAP) == 0) {
usb_mode = UsbModeDAP;
} else {
cli_config_set_usb_mode_usage(cli);
break;
}
if(nvs_config_set_usb_mode(usb_mode) == ESP_OK) {
cli_write_str(cli, "OK");
cli_write_eol(cli);
cli_write_str(cli, "Reboot to apply");
} else {
cli_write_str(cli, "ERR");
}
} while(false);
mstring_free(mode);
}
void cli_config_set_ap_pass(Cli* cli, mstring_t* args) {
mstring_t* pass = mstring_alloc();

View File

@ -24,6 +24,7 @@ void cli_wifi_sta_info(Cli* cli, mstring_t* args);
void cli_config_get(Cli* cli, mstring_t* args);
void cli_config_set_wifi_mode(Cli* cli, mstring_t* args);
void cli_config_set_usb_mode(Cli* cli, mstring_t* args);
void cli_config_set_ap_pass(Cli* cli, mstring_t* args);
void cli_config_set_ap_ssid(Cli* cli, mstring_t* args);
void cli_config_set_sta_pass(Cli* cli, mstring_t* args);
@ -54,6 +55,11 @@ const CliItem cli_items[] = {
"set Wi-Fi mode, AP (own access point) or STA (join another network), requires a reboot to apply",
.callback = cli_config_set_wifi_mode,
},
{
.name = "config_set_usb_mode",
.desc = "set USB mode, requires a reboot to apply",
.callback = cli_config_set_usb_mode,
},
{
.name = "config_set_ap_pass",
.desc = "set AP mode password, requires a reboot to apply",