Skip to content

Commit 4940105

Browse files
committed
upd esp flasher
1 parent fea8ac6 commit 4940105

5 files changed

+99
-73
lines changed

non_catalog_apps/esp_flasher/scenes/esp_flasher_scene_quick.c

+99-73
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22

33
enum QuickState {
44
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,
1015
};
1116

1217
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) {
2429

2530
switch(state) {
2631
case QuickStart:
27-
case QuickWifidevS2:
28-
case QuickDevproWroom:
32+
case QuickBootS2:
33+
case QuickBootWROOM:
34+
case QuickWROOM:
35+
case QuickS2:
2936
submenu_set_header(submenu, "Choose Board:");
3037
submenu_add_item(
3138
submenu,
32-
"WiFi Dev (ESP32-S2)",
33-
QuickWifidevS2,
39+
"Flipper WiFi Board / Xeon",
40+
QuickBootS2,
3441
esp_flasher_scene_quick_submenu_callback,
3542
app);
43+
submenu_add_item(
44+
submenu, "Multi-Fucc", QuickBootWROOM, esp_flasher_scene_quick_submenu_callback, app);
3645
submenu_add_item(
3746
submenu,
38-
"Dev Pro (ESP32-WROOM)",
39-
QuickDevproWroom,
47+
"Other ESP32-WROOM",
48+
QuickWROOM,
4049
esp_flasher_scene_quick_submenu_callback,
4150
app);
51+
submenu_add_item(
52+
submenu, "Other ESP32-S2", QuickS2, esp_flasher_scene_quick_submenu_callback, app);
4253
break;
43-
case QuickWifidevS2Blackmagic:
44-
case QuickWifidevS2Marauder:
54+
case QuickBootS2_Marauder:
55+
case QuickBootS2_Blackmagic:
56+
case QuickS2_Marauder:
57+
case QuickS2_Blackmagic:
4558
submenu_set_header(submenu, "Choose Firmware:");
4659
submenu_add_item(
4760
submenu,
48-
"Black Magic",
49-
QuickWifidevS2Blackmagic,
61+
"Marauder (has Evil Portal)",
62+
state > QuickS2 ? QuickS2_Marauder : QuickBootS2_Marauder,
5063
esp_flasher_scene_quick_submenu_callback,
5164
app);
5265
submenu_add_item(
5366
submenu,
54-
"Marauder (has Evil Portal)",
55-
QuickWifidevS2Marauder,
67+
"Black Magic",
68+
state > QuickS2 ? QuickS2_Blackmagic : QuickBootS2_Blackmagic,
5669
esp_flasher_scene_quick_submenu_callback,
5770
app);
5871
break;
59-
case QuickDevproWroomMarauder:
72+
case QuickBootWROOM_Marauder:
73+
case QuickWROOM_Marauder:
6074
submenu_set_header(submenu, "Choose Firmware:");
6175
submenu_add_item(
6276
submenu,
6377
"Marauder (has Evil Portal)",
64-
QuickDevproWroomMarauder,
78+
state > QuickWROOM ? QuickWROOM_Marauder : QuickBootWROOM_Marauder,
6579
esp_flasher_scene_quick_submenu_callback,
6680
app);
6781
break;
@@ -82,87 +96,99 @@ bool esp_flasher_scene_quick_on_event(void* context, SceneManagerEvent event) {
8296
if(event.type == SceneManagerEventTypeCustom) {
8397
consumed = true;
8498

85-
bool flash = true;
8699
bool enter_bootloader = false;
87100
const char* boot = NULL; // 0x1000
88101
const char* part = NULL; // 0x8000
89102
const char* app0 = NULL; // 0xE000
90103
const char* firm = NULL; // 0x10000
91104

92105
switch(event.event) {
93-
case QuickWifidevS2:
94-
case QuickDevproWroom:
106+
case QuickBootS2:
107+
case QuickBootWROOM:
108+
case QuickWROOM:
109+
case QuickS2:
95110
scene_manager_set_scene_state(
96111
app->scene_manager, EspFlasherSceneQuick, event.event + 1);
97112
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");
99123
break;
100-
case QuickWifidevS2Blackmagic:
124+
125+
case QuickBootS2_Blackmagic:
126+
enter_bootloader = true;
127+
/* fallthrough */
128+
case QuickS2_Blackmagic:
101129
boot = APP_ASSETS_PATH("blackmagic/bootloader.bin");
102130
part = APP_ASSETS_PATH("blackmagic/partition-table.bin");
103131
firm = APP_ASSETS_PATH("blackmagic/blackmagic.bin");
104-
enter_bootloader = true;
105132
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:
111135
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");
115139
part = APP_ASSETS_PATH("marauder/esp32_marauder.ino.partitions.bin");
116140
app0 = APP_ASSETS_PATH("marauder/boot_app0.bin");
117141
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");
119143
break;
144+
120145
default:
121-
flash = false;
122146
consumed = false;
123-
break;
147+
return consumed;
124148
}
125149

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));
159171
}
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);
160182
} else if(event.type == SceneManagerEventTypeBack) {
161183
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;
166192
scene_manager_set_scene_state(app->scene_manager, EspFlasherSceneQuick, state);
167193
}
168194

0 commit comments

Comments
 (0)