Merge remote-tracking branch 'OFW/dev' into dev

This commit is contained in:
MX
2024-07-31 22:38:15 +03:00
45 changed files with 492 additions and 439 deletions

View File

@@ -143,7 +143,7 @@ void ibutton_cli_write(Cli* cli, FuriString* args) {
}
if(!(ibutton_protocols_get_features(protocols, ibutton_key_get_protocol_id(key)) &
iButtonProtocolFeatureWriteBlank)) {
iButtonProtocolFeatureWriteId)) {
ibutton_cli_print_usage();
break;
}
@@ -152,7 +152,7 @@ void ibutton_cli_write(Cli* cli, FuriString* args) {
ibutton_cli_print_key(protocols, key);
printf("Press Ctrl+C to abort\r\n");
ibutton_worker_write_blank_start(worker, key);
ibutton_worker_write_id_start(worker, key);
while(true) {
uint32_t flags = furi_event_flag_wait(
write_context.event, EVENT_FLAG_IBUTTON_COMPLETE, FuriFlagWaitAny, 100);

View File

@@ -36,7 +36,7 @@
typedef enum {
iButtonWriteModeInvalid,
iButtonWriteModeBlank,
iButtonWriteModeId,
iButtonWriteModeCopy,
} iButtonWriteMode;

View File

@@ -5,7 +5,7 @@ typedef enum {
SubmenuIndexSave,
SubmenuIndexEmulate,
SubmenuIndexViewData,
SubmenuIndexWriteBlank,
SubmenuIndexWriteId,
SubmenuIndexWriteCopy,
} SubmenuIndex;
@@ -30,11 +30,11 @@ void ibutton_scene_read_key_menu_on_enter(void* context) {
ibutton_scene_read_key_menu_submenu_callback,
ibutton);
if(features & iButtonProtocolFeatureWriteBlank) {
if(features & iButtonProtocolFeatureWriteId) {
submenu_add_item(
submenu,
"Write ID",
SubmenuIndexWriteBlank,
SubmenuIndexWriteId,
ibutton_scene_read_key_menu_submenu_callback,
ibutton);
}
@@ -78,8 +78,8 @@ bool ibutton_scene_read_key_menu_on_event(void* context, SceneManagerEvent event
dolphin_deed(DolphinDeedIbuttonEmulate);
} else if(event.event == SubmenuIndexViewData) {
scene_manager_next_scene(scene_manager, iButtonSceneViewData);
} else if(event.event == SubmenuIndexWriteBlank) {
ibutton->write_mode = iButtonWriteModeBlank;
} else if(event.event == SubmenuIndexWriteId) {
ibutton->write_mode = iButtonWriteModeId;
scene_manager_next_scene(scene_manager, iButtonSceneWrite);
} else if(event.event == SubmenuIndexWriteCopy) {
ibutton->write_mode = iButtonWriteModeCopy;

View File

@@ -3,7 +3,7 @@
enum SubmenuIndex {
SubmenuIndexEmulate,
SubmenuIndexWriteBlank,
SubmenuIndexWriteId,
SubmenuIndexWriteCopy,
SubmenuIndexEdit,
SubmenuIndexRename,
@@ -20,9 +20,9 @@ void ibutton_scene_saved_key_menu_on_enter(void* context) {
submenu_add_item(submenu, "Emulate", SubmenuIndexEmulate, ibutton_submenu_callback, ibutton);
if(features & iButtonProtocolFeatureWriteBlank) {
if(features & iButtonProtocolFeatureWriteId) {
submenu_add_item(
submenu, "Write ID", SubmenuIndexWriteBlank, ibutton_submenu_callback, ibutton);
submenu, "Write ID", SubmenuIndexWriteId, ibutton_submenu_callback, ibutton);
}
if(features & iButtonProtocolFeatureWriteCopy) {
@@ -55,8 +55,8 @@ bool ibutton_scene_saved_key_menu_on_event(void* context, SceneManagerEvent even
if(event.event == SubmenuIndexEmulate) {
scene_manager_next_scene(scene_manager, iButtonSceneEmulate);
dolphin_deed(DolphinDeedIbuttonEmulate);
} else if(event.event == SubmenuIndexWriteBlank) {
ibutton->write_mode = iButtonWriteModeBlank;
} else if(event.event == SubmenuIndexWriteId) {
ibutton->write_mode = iButtonWriteModeId;
scene_manager_next_scene(scene_manager, iButtonSceneWrite);
} else if(event.event == SubmenuIndexWriteCopy) {
ibutton->write_mode = iButtonWriteModeCopy;

View File

@@ -51,9 +51,9 @@ void ibutton_scene_write_on_enter(void* context) {
ibutton_worker_write_set_callback(worker, ibutton_scene_write_callback, ibutton);
if(ibutton->write_mode == iButtonWriteModeBlank) {
if(ibutton->write_mode == iButtonWriteModeId) {
furi_string_set(tmp, "Writing ID");
ibutton_worker_write_blank_start(worker, key);
ibutton_worker_write_id_start(worker, key);
} else if(ibutton->write_mode == iButtonWriteModeCopy) {
furi_string_set(tmp, "Full Writing");