[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:
		
							parent
							
								
									9bda3e62ee
								
							
						
					
					
						commit
						0c06e54831
					
				| @ -12,20 +12,42 @@ | |||||||
| // Close to ISO, `date +'%Y-%m-%d %H:%M:%S %u'`
 | // Close to ISO, `date +'%Y-%m-%d %H:%M:%S %u'`
 | ||||||
| #define CLI_DATE_FORMAT "%.4d-%.2d-%.2d %.2d:%.2d:%.2d %d" | #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) { | void cli_command_info_callback(const char* key, const char* value, bool last, void* context) { | ||||||
|     UNUSED(context); |  | ||||||
|     UNUSED(last); |     UNUSED(last); | ||||||
|  |     UNUSED(context); | ||||||
|     printf("%-30s: %s\r\n", key, value); |     printf("%-30s: %s\r\n", key, value); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* 
 | /** Info Command
 | ||||||
|  * Device Info Command |  * | ||||||
|  * This command is intended to be used by humans |  * 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(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) { | 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) { | void cli_commands_init(Cli* cli) { | ||||||
|     cli_add_command(cli, "!", CliCommandFlagParallelSafe, cli_command_device_info, NULL); |     cli_add_command(cli, "!", CliCommandFlagParallelSafe, cli_command_info, (void*)true); | ||||||
|     cli_add_command(cli, "device_info", CliCommandFlagParallelSafe, cli_command_device_info, NULL); |     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, "?", CliCommandFlagParallelSafe, cli_command_help, NULL); | ||||||
|     cli_add_command(cli, "help", CliCommandFlagParallelSafe, cli_command_help, NULL); |     cli_add_command(cli, "help", CliCommandFlagParallelSafe, cli_command_help, NULL); | ||||||
|  | |||||||
| @ -26,24 +26,6 @@ void power_cli_reboot2dfu(Cli* cli, FuriString* args) { | |||||||
|     power_reboot(PowerBootModeDfu); |     power_reboot(PowerBootModeDfu); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void power_cli_callback(const char* key, const char* value, bool last, void* context) { |  | ||||||
|     UNUSED(last); |  | ||||||
|     UNUSED(context); |  | ||||||
|     printf("%-24s: %s\r\n", key, value); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void power_cli_info(Cli* cli, FuriString* args) { |  | ||||||
|     UNUSED(cli); |  | ||||||
|     UNUSED(args); |  | ||||||
|     furi_hal_power_info_get(power_cli_callback, '_', NULL); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void power_cli_debug(Cli* cli, FuriString* args) { |  | ||||||
|     UNUSED(cli); |  | ||||||
|     UNUSED(args); |  | ||||||
|     furi_hal_power_debug_get(power_cli_callback, NULL); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void power_cli_5v(Cli* cli, FuriString* args) { | void power_cli_5v(Cli* cli, FuriString* args) { | ||||||
|     UNUSED(cli); |     UNUSED(cli); | ||||||
|     if(!furi_string_cmp(args, "0")) { |     if(!furi_string_cmp(args, "0")) { | ||||||
| @ -74,8 +56,6 @@ static void power_cli_command_print_usage() { | |||||||
|     printf("\toff\t - shutdown power\r\n"); |     printf("\toff\t - shutdown power\r\n"); | ||||||
|     printf("\treboot\t - reboot\r\n"); |     printf("\treboot\t - reboot\r\n"); | ||||||
|     printf("\treboot2dfu\t - reboot to dfu bootloader\r\n"); |     printf("\treboot2dfu\t - reboot to dfu bootloader\r\n"); | ||||||
|     printf("\tinfo\t - show power info\r\n"); |  | ||||||
|     printf("\tdebug\t - show debug information\r\n"); |  | ||||||
|     printf("\t5v <0 or 1>\t - enable or disable 5v ext\r\n"); |     printf("\t5v <0 or 1>\t - enable or disable 5v ext\r\n"); | ||||||
|     if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { |     if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { | ||||||
|         printf("\t3v3 <0 or 1>\t - enable or disable 3v3 ext\r\n"); |         printf("\t3v3 <0 or 1>\t - enable or disable 3v3 ext\r\n"); | ||||||
| @ -108,16 +88,6 @@ void power_cli(Cli* cli, FuriString* args, void* context) { | |||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if(furi_string_cmp_str(cmd, "info") == 0) { |  | ||||||
|             power_cli_info(cli, args); |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         if(furi_string_cmp_str(cmd, "debug") == 0) { |  | ||||||
|             power_cli_debug(cli, args); |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         if(furi_string_cmp_str(cmd, "5v") == 0) { |         if(furi_string_cmp_str(cmd, "5v") == 0) { | ||||||
|             power_cli_5v(cli, args); |             power_cli_5v(cli, args); | ||||||
|             break; |             break; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Astra
						Astra