Ver Fonte

Merge signal_generator from https://github.com/xMasterX/all-the-plugins

# Conflicts:
#	signal_generator/signal_gen_app.c
Willy-JL há 10 meses atrás
pai
commit
ceebd64303

+ 1 - 1
signal_generator/.gitsubtree

@@ -1,2 +1,2 @@
-https://github.com/xMasterX/all-the-plugins dev base_pack/signal_generator 4558d74c9da36abc851edd96a95d18f7d5511a75
+https://github.com/xMasterX/all-the-plugins dev base_pack/signal_generator 8bc18d5d99262484548b6bbc92690a1472c329a0
 https://github.com/flipperdevices/flipperzero-good-faps dev signal_generator b791dea234f855155027bb46215dc60f3ddeb243

+ 9 - 5
signal_generator/scenes/signal_gen_scene_pwm.c

@@ -1,6 +1,7 @@
 #include "../signal_gen_app_i.h"
 
 static const FuriHalPwmOutputId pwm_ch_id[] = {
+    FuriHalPwmOutputIdNone,
     FuriHalPwmOutputIdTim1PA7,
     FuriHalPwmOutputIdLptim2PA4,
 };
@@ -28,17 +29,20 @@ static void
 void signal_gen_scene_pwm_on_enter(void* context) {
     SignalGenApp* app = context;
 
+    app->pwm_ch = FuriHalPwmOutputIdTim1PA7;
+    app->pwm_ch_prev = FuriHalPwmOutputIdTim1PA7;
+
     view_dispatcher_switch_to_view(app->view_dispatcher, SignalGenViewPwm);
 
     signal_gen_pwm_set_callback(app->pwm_view, signal_gen_pwm_callback, app);
 
-    signal_gen_pwm_set_params(app->pwm_view, 0, DEFAULT_FREQ, DEFAULT_DUTY);
+    signal_gen_pwm_set_params(app->pwm_view, 1, DEFAULT_FREQ, DEFAULT_DUTY);
 
-    if(!furi_hal_pwm_is_running(pwm_ch_id[0])) {
-        furi_hal_pwm_start(pwm_ch_id[0], DEFAULT_FREQ, DEFAULT_DUTY);
+    if(!furi_hal_pwm_is_running(pwm_ch_id[1])) {
+        furi_hal_pwm_start(pwm_ch_id[1], DEFAULT_FREQ, DEFAULT_DUTY);
     } else {
-        furi_hal_pwm_stop(pwm_ch_id[0]);
-        furi_hal_pwm_start(pwm_ch_id[0], DEFAULT_FREQ, DEFAULT_DUTY);
+        furi_hal_pwm_stop(pwm_ch_id[1]);
+        furi_hal_pwm_start(pwm_ch_id[1], DEFAULT_FREQ, DEFAULT_DUTY);
     }
 }
 

+ 1 - 0
signal_generator/signal_gen_app.c

@@ -28,6 +28,7 @@ SignalGenApp* signal_gen_app_alloc() {
 
     app->view_dispatcher = view_dispatcher_alloc();
     app->scene_manager = scene_manager_alloc(&signal_gen_scene_handlers, app);
+
     view_dispatcher_set_event_callback_context(app->view_dispatcher, app);
 
     view_dispatcher_set_custom_event_callback(

+ 5 - 5
signal_generator/views/signal_gen_pwm.c

@@ -12,7 +12,7 @@ typedef enum {
     LineIndexTotalCount
 } LineIndex;
 
-static const char* const pwm_ch_names[] = {"2(A7)", "4(A4)"};
+static const char* const pwm_ch_names[] = {"", "2(A7)", "4(A4)"};
 
 struct SignalGenPwm {
     View* view;
@@ -62,11 +62,11 @@ static void pwm_set_config(SignalGenPwm* pwm) {
 
 static void pwm_channel_change(SignalGenPwmViewModel* model, InputEvent* event) {
     if(event->key == InputKeyLeft) {
-        if(model->channel_id > 0) {
+        if(model->channel_id > 1) {
             model->channel_id--;
         }
     } else if(event->key == InputKeyRight) {
-        if(model->channel_id < (COUNT_OF(pwm_ch_names) - 1)) {
+        if(model->channel_id < (COUNT_OF(pwm_ch_names))) {
             model->channel_id++;
         }
     }
@@ -151,11 +151,11 @@ static void signal_gen_pwm_draw_callback(Canvas* canvas, void* _model) {
         if(line == LineIndexChannel) {
             snprintf(val_text, sizeof(val_text), "%s", pwm_ch_names[model->channel_id]);
             canvas_draw_str_aligned(canvas, VALUE_X, text_y, AlignCenter, AlignCenter, val_text);
-            if(model->channel_id != 0) {
+            if(model->channel_id != 1) {
                 canvas_draw_str_aligned(
                     canvas, VALUE_X - VALUE_W / 2, text_y, AlignCenter, AlignCenter, "<");
             }
-            if(model->channel_id != (COUNT_OF(pwm_ch_names) - 1)) {
+            if(model->channel_id != (COUNT_OF(pwm_ch_names))) {
                 canvas_draw_str_aligned(
                     canvas, VALUE_X + VALUE_W / 2, text_y, AlignCenter, AlignCenter, ">");
             }