2
2
3
3
enum QuickState {
4
4
QuickStart ,
5
- QuickWifidevS2 ,
6
- QuickWifidevS2Blackmagic ,
7
- QuickWifidevS2Marauder ,
8
- QuickDevproWroom ,
9
- QuickDevproWroomMarauder ,
5
+ QuickBootS2 ,
6
+ QuickBootS2_Marauder ,
7
+ QuickBootS2_Blackmagic ,
8
+ QuickBootWROOM ,
9
+ QuickBootWROOM_Marauder ,
10
+ QuickWROOM ,
11
+ QuickWROOM_Marauder ,
12
+ QuickS2 ,
13
+ QuickS2_Marauder ,
14
+ QuickS2_Blackmagic ,
10
15
};
11
16
12
17
void esp_flasher_scene_quick_submenu_callback (void * context , uint32_t index ) {
@@ -24,44 +29,53 @@ void esp_flasher_scene_quick_on_enter(void* context) {
24
29
25
30
switch (state ) {
26
31
case QuickStart :
27
- case QuickWifidevS2 :
28
- case QuickDevproWroom :
32
+ case QuickBootS2 :
33
+ case QuickBootWROOM :
34
+ case QuickWROOM :
35
+ case QuickS2 :
29
36
submenu_set_header (submenu , "Choose Board:" );
30
37
submenu_add_item (
31
38
submenu ,
32
- "WiFi Dev (ESP32-S2) " ,
33
- QuickWifidevS2 ,
39
+ "Flipper WiFi Board / Xeon " ,
40
+ QuickBootS2 ,
34
41
esp_flasher_scene_quick_submenu_callback ,
35
42
app );
43
+ submenu_add_item (
44
+ submenu , "Multi-Fucc" , QuickBootWROOM , esp_flasher_scene_quick_submenu_callback , app );
36
45
submenu_add_item (
37
46
submenu ,
38
- "Dev Pro ( ESP32-WROOM) " ,
39
- QuickDevproWroom ,
47
+ "Other ESP32-WROOM" ,
48
+ QuickWROOM ,
40
49
esp_flasher_scene_quick_submenu_callback ,
41
50
app );
51
+ submenu_add_item (
52
+ submenu , "Other ESP32-S2" , QuickS2 , esp_flasher_scene_quick_submenu_callback , app );
42
53
break ;
43
- case QuickWifidevS2Blackmagic :
44
- case QuickWifidevS2Marauder :
54
+ case QuickBootS2_Marauder :
55
+ case QuickBootS2_Blackmagic :
56
+ case QuickS2_Marauder :
57
+ case QuickS2_Blackmagic :
45
58
submenu_set_header (submenu , "Choose Firmware:" );
46
59
submenu_add_item (
47
60
submenu ,
48
- "Black Magic " ,
49
- QuickWifidevS2Blackmagic ,
61
+ "Marauder (has Evil Portal) " ,
62
+ state > QuickS2 ? QuickS2_Marauder : QuickBootS2_Marauder ,
50
63
esp_flasher_scene_quick_submenu_callback ,
51
64
app );
52
65
submenu_add_item (
53
66
submenu ,
54
- "Marauder (has Evil Portal) " ,
55
- QuickWifidevS2Marauder ,
67
+ "Black Magic " ,
68
+ state > QuickS2 ? QuickS2_Blackmagic : QuickBootS2_Blackmagic ,
56
69
esp_flasher_scene_quick_submenu_callback ,
57
70
app );
58
71
break ;
59
- case QuickDevproWroomMarauder :
72
+ case QuickBootWROOM_Marauder :
73
+ case QuickWROOM_Marauder :
60
74
submenu_set_header (submenu , "Choose Firmware:" );
61
75
submenu_add_item (
62
76
submenu ,
63
77
"Marauder (has Evil Portal)" ,
64
- QuickDevproWroomMarauder ,
78
+ state > QuickWROOM ? QuickWROOM_Marauder : QuickBootWROOM_Marauder ,
65
79
esp_flasher_scene_quick_submenu_callback ,
66
80
app );
67
81
break ;
@@ -82,87 +96,99 @@ bool esp_flasher_scene_quick_on_event(void* context, SceneManagerEvent event) {
82
96
if (event .type == SceneManagerEventTypeCustom ) {
83
97
consumed = true;
84
98
85
- bool flash = true;
86
99
bool enter_bootloader = false;
87
100
const char * boot = NULL ; // 0x1000
88
101
const char * part = NULL ; // 0x8000
89
102
const char * app0 = NULL ; // 0xE000
90
103
const char * firm = NULL ; // 0x10000
91
104
92
105
switch (event .event ) {
93
- case QuickWifidevS2 :
94
- case QuickDevproWroom :
106
+ case QuickBootS2 :
107
+ case QuickBootWROOM :
108
+ case QuickWROOM :
109
+ case QuickS2 :
95
110
scene_manager_set_scene_state (
96
111
app -> scene_manager , EspFlasherSceneQuick , event .event + 1 );
97
112
scene_manager_next_scene (app -> scene_manager , EspFlasherSceneQuick );
98
- flash = false;
113
+ return consumed ;
114
+
115
+ case QuickBootS2_Marauder :
116
+ enter_bootloader = true;
117
+ /* fallthrough */
118
+ case QuickS2_Marauder :
119
+ boot = APP_ASSETS_PATH ("marauder/S2/esp32_marauder.ino.bootloader.bin" );
120
+ part = APP_ASSETS_PATH ("marauder/esp32_marauder.ino.partitions.bin" );
121
+ app0 = APP_ASSETS_PATH ("marauder/boot_app0.bin" );
122
+ firm = APP_ASSETS_PATH ("marauder/S2/esp32_marauder.flipper.bin" );
99
123
break ;
100
- case QuickWifidevS2Blackmagic :
124
+
125
+ case QuickBootS2_Blackmagic :
126
+ enter_bootloader = true;
127
+ /* fallthrough */
128
+ case QuickS2_Blackmagic :
101
129
boot = APP_ASSETS_PATH ("blackmagic/bootloader.bin" );
102
130
part = APP_ASSETS_PATH ("blackmagic/partition-table.bin" );
103
131
firm = APP_ASSETS_PATH ("blackmagic/blackmagic.bin" );
104
- enter_bootloader = true;
105
132
break ;
106
- case QuickWifidevS2Marauder :
107
- boot = APP_ASSETS_PATH ("marauder/WifidevS2/esp32_marauder.ino.bootloader.bin" );
108
- part = APP_ASSETS_PATH ("marauder/esp32_marauder.ino.partitions.bin" );
109
- app0 = APP_ASSETS_PATH ("marauder/boot_app0.bin" );
110
- firm = APP_ASSETS_PATH ("marauder/WifidevS2/esp32_marauder.flipper.bin" );
133
+
134
+ case QuickBootWROOM_Marauder :
111
135
enter_bootloader = true;
112
- break ;
113
- case QuickDevproWroomMarauder :
114
- boot = APP_ASSETS_PATH ("marauder/DevproWroom /esp32_marauder.ino.bootloader.bin" );
136
+ /* fallthrough */
137
+ case QuickWROOM_Marauder :
138
+ boot = APP_ASSETS_PATH ("marauder/WROOM /esp32_marauder.ino.bootloader.bin" );
115
139
part = APP_ASSETS_PATH ("marauder/esp32_marauder.ino.partitions.bin" );
116
140
app0 = APP_ASSETS_PATH ("marauder/boot_app0.bin" );
117
141
firm =
118
- APP_ASSETS_PATH ("marauder/DevproWroom /esp32_marauder.marauder_dev_board_pro.bin" );
142
+ APP_ASSETS_PATH ("marauder/WROOM /esp32_marauder.marauder_dev_board_pro.bin" );
119
143
break ;
144
+
120
145
default :
121
- flash = false;
122
146
consumed = false;
123
- break ;
147
+ return consumed ;
124
148
}
125
149
126
- if (flash ) {
127
- scene_manager_set_scene_state (app -> scene_manager , EspFlasherSceneQuick , event .event );
128
- memset (app -> selected_flash_options , 0 , sizeof (app -> selected_flash_options ));
129
- app -> bin_file_path_boot [0 ] = '\0' ;
130
- app -> bin_file_path_part [0 ] = '\0' ;
131
- app -> bin_file_path_nvs [0 ] = '\0' ;
132
- app -> bin_file_path_boot_app0 [0 ] = '\0' ;
133
- app -> bin_file_path_app_a [0 ] = '\0' ;
134
- app -> bin_file_path_app_b [0 ] = '\0' ;
135
- app -> bin_file_path_custom [0 ] = '\0' ;
136
-
137
- if (boot ) {
138
- app -> selected_flash_options [SelectedFlashBoot ] = true;
139
- strncpy (app -> bin_file_path_boot , boot , sizeof (app -> bin_file_path_boot ));
140
- }
141
- if (part ) {
142
- app -> selected_flash_options [SelectedFlashPart ] = true;
143
- strncpy (app -> bin_file_path_part , part , sizeof (app -> bin_file_path_part ));
144
- }
145
- if (app0 ) {
146
- app -> selected_flash_options [SelectedFlashBootApp0 ] = true;
147
- strncpy (app -> bin_file_path_boot_app0 , app0 , sizeof (app -> bin_file_path_boot_app0 ));
148
- }
149
- if (firm ) {
150
- app -> selected_flash_options [SelectedFlashAppA ] = true;
151
- strncpy (app -> bin_file_path_app_a , firm , sizeof (app -> bin_file_path_app_a ));
152
- }
153
-
154
- app -> reset = false;
155
- app -> quickflash = true;
156
- app -> turbospeed = true;
157
- app -> boot = enter_bootloader ;
158
- scene_manager_next_scene (app -> scene_manager , EspFlasherSceneConsoleOutput );
150
+ scene_manager_set_scene_state (app -> scene_manager , EspFlasherSceneQuick , event .event );
151
+ memset (app -> selected_flash_options , 0 , sizeof (app -> selected_flash_options ));
152
+ app -> bin_file_path_boot [0 ] = '\0' ;
153
+ app -> bin_file_path_part [0 ] = '\0' ;
154
+ app -> bin_file_path_nvs [0 ] = '\0' ;
155
+ app -> bin_file_path_boot_app0 [0 ] = '\0' ;
156
+ app -> bin_file_path_app_a [0 ] = '\0' ;
157
+ app -> bin_file_path_app_b [0 ] = '\0' ;
158
+ app -> bin_file_path_custom [0 ] = '\0' ;
159
+
160
+ if (boot ) {
161
+ app -> selected_flash_options [SelectedFlashBoot ] = true;
162
+ strncpy (app -> bin_file_path_boot , boot , sizeof (app -> bin_file_path_boot ));
163
+ }
164
+ if (part ) {
165
+ app -> selected_flash_options [SelectedFlashPart ] = true;
166
+ strncpy (app -> bin_file_path_part , part , sizeof (app -> bin_file_path_part ));
167
+ }
168
+ if (app0 ) {
169
+ app -> selected_flash_options [SelectedFlashBootApp0 ] = true;
170
+ strncpy (app -> bin_file_path_boot_app0 , app0 , sizeof (app -> bin_file_path_boot_app0 ));
159
171
}
172
+ if (firm ) {
173
+ app -> selected_flash_options [SelectedFlashAppA ] = true;
174
+ strncpy (app -> bin_file_path_app_a , firm , sizeof (app -> bin_file_path_app_a ));
175
+ }
176
+
177
+ app -> reset = false;
178
+ app -> quickflash = true;
179
+ app -> turbospeed = true;
180
+ app -> boot = enter_bootloader ;
181
+ scene_manager_next_scene (app -> scene_manager , EspFlasherSceneConsoleOutput );
160
182
} else if (event .type == SceneManagerEventTypeBack ) {
161
183
uint32_t state = scene_manager_get_scene_state (app -> scene_manager , EspFlasherSceneQuick );
162
- if (state > QuickDevproWroom )
163
- state = QuickDevproWroom ;
164
- else if (state > QuickWifidevS2 )
165
- state = QuickWifidevS2 ;
184
+ if (state > QuickS2 )
185
+ state = QuickS2 ;
186
+ else if (state > QuickWROOM )
187
+ state = QuickWROOM ;
188
+ else if (state > QuickBootWROOM )
189
+ state = QuickBootWROOM ;
190
+ else if (state > QuickBootS2 )
191
+ state = QuickBootS2 ;
166
192
scene_manager_set_scene_state (app -> scene_manager , EspFlasherSceneQuick , state );
167
193
}
168
194
0 commit comments