2
2
#include "furi-hal-power.h"
3
3
4
4
enum GpioItem {
5
- GpioItemOtg ,
6
- GpioItemTest ,
7
5
GpioItemUsbUart ,
6
+ GpioItemTest ,
7
+ GpioItemOtg ,
8
8
};
9
9
10
10
enum GpioOtg {
@@ -22,11 +22,9 @@ static void gpio_scene_start_var_list_enter_callback(void* context, uint32_t ind
22
22
furi_assert (context );
23
23
GpioApp * app = context ;
24
24
if (index == GpioItemTest ) {
25
- view_dispatcher_send_custom_event (
26
- app -> view_dispatcher , GPIO_SCENE_START_CUSTOM_EVENT_TEST );
25
+ view_dispatcher_send_custom_event (app -> view_dispatcher , GpioStartEventManualConrol );
27
26
} else if (index == GpioItemUsbUart ) {
28
- view_dispatcher_send_custom_event (
29
- app -> view_dispatcher , GPIO_SCENE_START_CUSTOM_EVENT_USB_UART );
27
+ view_dispatcher_send_custom_event (app -> view_dispatcher , GpioStartEventUsbUart );
30
28
}
31
29
}
32
30
@@ -36,11 +34,9 @@ static void gpio_scene_start_var_list_change_callback(VariableItem* item) {
36
34
37
35
variable_item_set_current_value_text (item , gpio_otg_text [index ]);
38
36
if (index == GpioOtgOff ) {
39
- view_dispatcher_send_custom_event (
40
- app -> view_dispatcher , GPIO_SCENE_START_CUSTOM_EVENT_OTG_OFF );
37
+ view_dispatcher_send_custom_event (app -> view_dispatcher , GpioStartEventOtgOff );
41
38
} else if (index == GpioOtgOn ) {
42
- view_dispatcher_send_custom_event (
43
- app -> view_dispatcher , GPIO_SCENE_START_CUSTOM_EVENT_OTG_ON );
39
+ view_dispatcher_send_custom_event (app -> view_dispatcher , GpioStartEventOtgOn );
44
40
}
45
41
}
46
42
@@ -51,6 +47,11 @@ void gpio_scene_start_on_enter(void* context) {
51
47
VariableItem * item ;
52
48
variable_item_list_set_enter_callback (
53
49
var_item_list , gpio_scene_start_var_list_enter_callback , app );
50
+
51
+ variable_item_list_add (var_item_list , "USB-UART bridge" , 0 , NULL , NULL );
52
+
53
+ variable_item_list_add (var_item_list , "GPIO manual control" , 0 , NULL , NULL );
54
+
54
55
item = variable_item_list_add (
55
56
var_item_list ,
56
57
"5V on GPIO" ,
@@ -64,8 +65,6 @@ void gpio_scene_start_on_enter(void* context) {
64
65
variable_item_set_current_value_index (item , GpioOtgOff );
65
66
variable_item_set_current_value_text (item , gpio_otg_text [GpioOtgOff ]);
66
67
}
67
- variable_item_list_add (var_item_list , "GPIO tester" , 0 , NULL , NULL );
68
- variable_item_list_add (var_item_list , "USB-UART bridge" , 0 , NULL , NULL );
69
68
70
69
variable_item_list_set_selected_item (
71
70
var_item_list , scene_manager_get_scene_state (app -> scene_manager , GpioSceneStart ));
@@ -78,15 +77,15 @@ bool gpio_scene_start_on_event(void* context, SceneManagerEvent event) {
78
77
bool consumed = false;
79
78
80
79
if (event .type == SceneManagerEventTypeCustom ) {
81
- if (event .event == GPIO_SCENE_START_CUSTOM_EVENT_OTG_ON ) {
80
+ if (event .event == GpioStartEventOtgOn ) {
82
81
furi_hal_power_enable_otg ();
83
- } else if (event .event == GPIO_SCENE_START_CUSTOM_EVENT_OTG_OFF ) {
82
+ } else if (event .event == GpioStartEventOtgOff ) {
84
83
furi_hal_power_disable_otg ();
85
- } else if (event .event == GPIO_SCENE_START_CUSTOM_EVENT_TEST ) {
86
- scene_manager_set_scene_state (app -> scene_manager , GpioSceneStart , 1 );
84
+ } else if (event .event == GpioStartEventManualConrol ) {
85
+ scene_manager_set_scene_state (app -> scene_manager , GpioSceneStart , GpioItemTest );
87
86
scene_manager_next_scene (app -> scene_manager , GpioSceneTest );
88
- } else if (event .event == GPIO_SCENE_START_CUSTOM_EVENT_USB_UART ) {
89
- scene_manager_set_scene_state (app -> scene_manager , GpioSceneStart , 2 );
87
+ } else if (event .event == GpioStartEventUsbUart ) {
88
+ scene_manager_set_scene_state (app -> scene_manager , GpioSceneStart , GpioItemUsbUart );
90
89
scene_manager_next_scene (app -> scene_manager , GpioSceneUsbUart );
91
90
}
92
91
consumed = true;
0 commit comments