[FL-3105] Unify power info, power debug, and device_info into one info command (#2393)
* Unify power info, power debug, and device_info into one info command * Fix the storage script * Cli: return device_info command for compatibility, rollback storage script * Cli: remove unused context in info_get calls * Cli: cleanup device info callbacks, switch to new separator Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -12,20 +12,42 @@
|
||||
// Close to ISO, `date +'%Y-%m-%d %H:%M:%S %u'`
|
||||
#define CLI_DATE_FORMAT "%.4d-%.2d-%.2d %.2d:%.2d:%.2d %d"
|
||||
|
||||
void cli_command_device_info_callback(const char* key, const char* value, bool last, void* context) {
|
||||
UNUSED(context);
|
||||
void cli_command_info_callback(const char* key, const char* value, bool last, void* context) {
|
||||
UNUSED(last);
|
||||
UNUSED(context);
|
||||
printf("%-30s: %s\r\n", key, value);
|
||||
}
|
||||
|
||||
/*
|
||||
* Device Info Command
|
||||
/** Info Command
|
||||
*
|
||||
* This command is intended to be used by humans
|
||||
*
|
||||
* Arguments:
|
||||
* - device - print device info
|
||||
* - power - print power info
|
||||
* - power_debug - print power debug info
|
||||
*
|
||||
* @param cli The cli instance
|
||||
* @param args The arguments
|
||||
* @param context The context
|
||||
*/
|
||||
void cli_command_device_info(Cli* cli, FuriString* args, void* context) {
|
||||
void cli_command_info(Cli* cli, FuriString* args, void* context) {
|
||||
UNUSED(cli);
|
||||
UNUSED(args);
|
||||
furi_hal_info_get(cli_command_device_info_callback, '_', context);
|
||||
|
||||
if(context) {
|
||||
furi_hal_info_get(cli_command_info_callback, '_', NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!furi_string_cmp(args, "device")) {
|
||||
furi_hal_info_get(cli_command_info_callback, '.', NULL);
|
||||
} else if(!furi_string_cmp(args, "power")) {
|
||||
furi_hal_power_info_get(cli_command_info_callback, '.', NULL);
|
||||
} else if(!furi_string_cmp(args, "power_debug")) {
|
||||
furi_hal_power_debug_get(cli_command_info_callback, NULL);
|
||||
} else {
|
||||
cli_print_usage("info", "<device|power|power_debug>", furi_string_get_cstr(args));
|
||||
}
|
||||
}
|
||||
|
||||
void cli_command_help(Cli* cli, FuriString* args, void* context) {
|
||||
@@ -410,8 +432,9 @@ void cli_command_i2c(Cli* cli, FuriString* args, void* context) {
|
||||
}
|
||||
|
||||
void cli_commands_init(Cli* cli) {
|
||||
cli_add_command(cli, "!", CliCommandFlagParallelSafe, cli_command_device_info, NULL);
|
||||
cli_add_command(cli, "device_info", CliCommandFlagParallelSafe, cli_command_device_info, NULL);
|
||||
cli_add_command(cli, "!", CliCommandFlagParallelSafe, cli_command_info, (void*)true);
|
||||
cli_add_command(cli, "info", CliCommandFlagParallelSafe, cli_command_info, NULL);
|
||||
cli_add_command(cli, "device_info", CliCommandFlagParallelSafe, cli_command_info, (void*)true);
|
||||
|
||||
cli_add_command(cli, "?", CliCommandFlagParallelSafe, cli_command_help, NULL);
|
||||
cli_add_command(cli, "help", CliCommandFlagParallelSafe, cli_command_help, NULL);
|
||||
|
Reference in New Issue
Block a user