|
@@ -74,6 +74,56 @@ void cli_command_log(string_t args, void* context) {
|
|
|
furi_stdglue_set_global_stdout_callback(NULL);
|
|
furi_stdglue_set_global_stdout_callback(NULL);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+void cli_command_vibro(string_t args, void* context) {
|
|
|
|
|
+ if(!string_cmp(args, "0")) {
|
|
|
|
|
+ api_hal_vibro_on(false);
|
|
|
|
|
+ } else if(!string_cmp(args, "1")) {
|
|
|
|
|
+ api_hal_vibro_on(true);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ printf("Wrong input");
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void cli_command_led(string_t args, void* context) {
|
|
|
|
|
+ // Get first word as light name
|
|
|
|
|
+ Light light;
|
|
|
|
|
+ string_t light_name;
|
|
|
|
|
+ string_init(light_name);
|
|
|
|
|
+ size_t ws = string_search_char(args, ' ');
|
|
|
|
|
+ if(ws == STRING_FAILURE) {
|
|
|
|
|
+ printf("Wrong input");
|
|
|
|
|
+ string_clear(light_name);
|
|
|
|
|
+ return;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ string_set_n(light_name, args, 0, ws);
|
|
|
|
|
+ string_right(args, ws);
|
|
|
|
|
+ string_strim(args);
|
|
|
|
|
+ }
|
|
|
|
|
+ // Check light name
|
|
|
|
|
+ if(!string_cmp(light_name, "r")) {
|
|
|
|
|
+ light = LightRed;
|
|
|
|
|
+ } else if(!string_cmp(light_name, "g")) {
|
|
|
|
|
+ light = LightGreen;
|
|
|
|
|
+ } else if(!string_cmp(light_name, "b")) {
|
|
|
|
|
+ light = LightBlue;
|
|
|
|
|
+ } else if(!string_cmp(light_name, "bl")) {
|
|
|
|
|
+ light = LightBacklight;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ printf("Wrong argument");
|
|
|
|
|
+ string_clear(light_name);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ string_clear(light_name);
|
|
|
|
|
+ // Read light value from the rest of the string
|
|
|
|
|
+ char* end_ptr;
|
|
|
|
|
+ uint32_t value = strtoul(string_get_cstr(args), &end_ptr, 0);
|
|
|
|
|
+ if(!(value < 256 && *end_ptr == '\0')) {
|
|
|
|
|
+ printf("Wrong argument");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ api_hal_light_set(light, value);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void cli_commands_init(Cli* cli) {
|
|
void cli_commands_init(Cli* cli) {
|
|
|
cli_add_command(cli, "help", cli_command_help, cli);
|
|
cli_add_command(cli, "help", cli_command_help, cli);
|
|
|
cli_add_command(cli, "?", cli_command_help, cli);
|
|
cli_add_command(cli, "?", cli_command_help, cli);
|
|
@@ -82,4 +132,6 @@ void cli_commands_init(Cli* cli) {
|
|
|
cli_add_command(cli, "uid", cli_command_uuid, cli);
|
|
cli_add_command(cli, "uid", cli_command_uuid, cli);
|
|
|
cli_add_command(cli, "date", cli_command_date, cli);
|
|
cli_add_command(cli, "date", cli_command_date, cli);
|
|
|
cli_add_command(cli, "log", cli_command_log, cli);
|
|
cli_add_command(cli, "log", cli_command_log, cli);
|
|
|
|
|
+ cli_add_command(cli, "vibro", cli_command_vibro, cli);
|
|
|
|
|
+ cli_add_command(cli, "led", cli_command_led, cli);
|
|
|
}
|
|
}
|