diff --git a/RM11030115-0.70.2-3da02c0.tgz b/RM11030115-0.70.2-3da02c0.tgz deleted file mode 100644 index 8825f177b..000000000 Binary files a/RM11030115-0.70.2-3da02c0.tgz and /dev/null differ diff --git a/RM11030115-0.70.2-3da02c0.zip b/RM11030115-0.70.2-3da02c0.zip deleted file mode 100644 index d80cdd3e8..000000000 Binary files a/RM11030115-0.70.2-3da02c0.zip and /dev/null differ diff --git a/RM11030159-0.70.2-f9d6f10.tgz b/RM11030159-0.70.2-f9d6f10.tgz new file mode 100644 index 000000000..ed33d51ac Binary files /dev/null and b/RM11030159-0.70.2-f9d6f10.tgz differ diff --git a/RM11030159-0.70.2-f9d6f10.zip b/RM11030159-0.70.2-f9d6f10.zip new file mode 100644 index 000000000..141aa76dc Binary files /dev/null and b/RM11030159-0.70.2-f9d6f10.zip differ diff --git a/ReadMe.md b/ReadMe.md index 111bb4035..9e157437c 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -12,11 +12,12 @@ - To avoid Application errors and duplicates, delete /ext/apps before doing the RM firmware update - To avoid Animations missing, restore your /ext/dolphin after the RM firmware update - Known Issues: `Chess` -- Last Synced/Checked [Unleashed/xMasterX](https://github.com/DarkFlippers/unleashed-firmware), changes in [changelog](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/blob/420/CHANGELOG.md): `2022-11-02 21:57 EST` -- Last Synced/Checked [OFW](https://github.com/flipperdevices/flipperzero-firmware), changes in [commits](https://github.com/flipperdevices/flipperzero-firmware/commits/dev): `2022-11-02 21:57 EST` +- Last Synced/Checked [Unleashed/xMasterX](https://github.com/DarkFlippers/unleashed-firmware), changes in [changelog](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/blob/420/CHANGELOG.md): `2022-11-03 01:58 EST` +- Last Synced/Checked [OFW](https://github.com/flipperdevices/flipperzero-firmware), changes in [commits](https://github.com/flipperdevices/flipperzero-firmware/commits/dev): `2022-11-03 01:58 EST` - Added: [DHT Monitor (By quen0n)](https://github.com/quen0n/FipperZero-DHT-Monitor) - Added some stupid breaks for default switch cases. - Updated: [IFTTT Virtual Button (By Ferrazzi)](https://github.com/Ferrazzi/FlipperZero_IFTTT_Virtual_Button) `Req: ESP8266 w/ IFTTT FW Flashed` +- Fixes for slower animations to be MUCH faster
TO DO / REMOVED
diff --git a/applications/main/bad_usb/bad_usb_script.c b/applications/main/bad_usb/bad_usb_script.c index f94b42ed5..0a4e90257 100644 --- a/applications/main/bad_usb/bad_usb_script.c +++ b/applications/main/bad_usb/bad_usb_script.c @@ -541,12 +541,16 @@ static int32_t bad_usb_worker(void* context) { } else if(worker_state == BadUsbStateNotConnected) { // State: USB not connected uint32_t flags = furi_thread_flags_wait( - WorkerEvtEnd | WorkerEvtConnect, FuriFlagWaitAny, FuriWaitForever); + WorkerEvtEnd | WorkerEvtConnect | WorkerEvtToggle, + FuriFlagWaitAny, + FuriWaitForever); furi_check((flags & FuriFlagError) == 0); if(flags & WorkerEvtEnd) { break; } else if(flags & WorkerEvtConnect) { worker_state = BadUsbStateIdle; // Ready to run + } else if(flags & WorkerEvtToggle) { + worker_state = BadUsbStateWillRun; // Will run when USB is connected } bad_usb->st.state = worker_state; @@ -573,6 +577,31 @@ static int32_t bad_usb_worker(void* context) { } bad_usb->st.state = worker_state; + } else if(worker_state == BadUsbStateWillRun) { // State: start on connection + uint32_t flags = furi_thread_flags_wait( + WorkerEvtEnd | WorkerEvtConnect | WorkerEvtToggle, + FuriFlagWaitAny, + FuriWaitForever); + furi_check((flags & FuriFlagError) == 0); + if(flags & WorkerEvtEnd) { + break; + } else if(flags & WorkerEvtConnect) { // Start executing script + DOLPHIN_DEED(DolphinDeedBadUsbPlayScript); + delay_val = 0; + bad_usb->buf_len = 0; + bad_usb->st.line_cur = 0; + bad_usb->defdelay = 0; + bad_usb->repeat_cnt = 0; + bad_usb->file_end = false; + storage_file_seek(script_file, 0, true); + // extra time for PC to recognize Flipper as keyboard + furi_thread_flags_wait(0, FuriFlagWaitAny, 1500); + worker_state = BadUsbStateRunning; + } else if(flags & WorkerEvtToggle) { // Cancel scheduled execution + worker_state = BadUsbStateNotConnected; + } + bad_usb->st.state = worker_state; + } else if(worker_state == BadUsbStateRunning) { // State: running uint16_t delay_cur = (delay_val > 1000) ? (1000) : (delay_val); uint32_t flags = furi_thread_flags_wait( diff --git a/applications/main/bad_usb/bad_usb_script.h b/applications/main/bad_usb/bad_usb_script.h index c8b3a1653..1e4d98fe7 100644 --- a/applications/main/bad_usb/bad_usb_script.h +++ b/applications/main/bad_usb/bad_usb_script.h @@ -12,6 +12,7 @@ typedef enum { BadUsbStateInit, BadUsbStateNotConnected, BadUsbStateIdle, + BadUsbStateWillRun, BadUsbStateRunning, BadUsbStateDelay, BadUsbStateDone, diff --git a/applications/main/bad_usb/views/bad_usb_view.c b/applications/main/bad_usb/views/bad_usb_view.c index 1f244479e..d38b9118f 100644 --- a/applications/main/bad_usb/views/bad_usb_view.c +++ b/applications/main/bad_usb/views/bad_usb_view.c @@ -45,10 +45,13 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) { canvas_draw_icon(canvas, 22, 24, &I_UsbTree_48x22); - if((model->state.state == BadUsbStateIdle) || (model->state.state == BadUsbStateDone)) { + if((model->state.state == BadUsbStateIdle) || (model->state.state == BadUsbStateDone) || + (model->state.state == BadUsbStateNotConnected)) { elements_button_center(canvas, "Run"); } else if((model->state.state == BadUsbStateRunning) || (model->state.state == BadUsbStateDelay)) { elements_button_center(canvas, "Stop"); + } else if(model->state.state == BadUsbStateWillRun) { + elements_button_center(canvas, "Cancel"); } if((model->state.state == BadUsbStateNotConnected) || @@ -59,8 +62,13 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) { if(model->state.state == BadUsbStateNotConnected) { canvas_draw_icon(canvas, 4, 26, &I_Clock_18x18); canvas_set_font(canvas, FontPrimary); - canvas_draw_str_aligned(canvas, 127, 31, AlignRight, AlignBottom, "Connect"); - canvas_draw_str_aligned(canvas, 127, 43, AlignRight, AlignBottom, "to USB"); + canvas_draw_str_aligned(canvas, 127, 27, AlignRight, AlignBottom, "Connect"); + canvas_draw_str_aligned(canvas, 127, 39, AlignRight, AlignBottom, "to USB"); + } else if(model->state.state == BadUsbStateWillRun) { + canvas_draw_icon(canvas, 4, 22, &I_Clock_18x18); + canvas_set_font(canvas, FontPrimary); + canvas_draw_str_aligned(canvas, 127, 27, AlignRight, AlignBottom, "Will run"); + canvas_draw_str_aligned(canvas, 127, 39, AlignRight, AlignBottom, "on connect"); } else if(model->state.state == BadUsbStateFileError) { canvas_draw_icon(canvas, 4, 26, &I_Error_18x18); canvas_set_font(canvas, FontPrimary); diff --git a/assets/dolphin/external/Kuronons_RMCFW_128x64/meta.txt b/assets/dolphin/external/Kuronons_RMCFW_128x64/meta.txt index 3154d0aef..aa9584f03 100644 --- a/assets/dolphin/external/Kuronons_RMCFW_128x64/meta.txt +++ b/assets/dolphin/external/Kuronons_RMCFW_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 54 -Active frames: 0 -Frames order: 0 0 0 0 1 1 1 2 2 3 4 4 5 6 7 7 8 8 9 10 10 10 11 11 11 11 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 18 18 18 18 18 18 18 18 18 18 18 18 -Active cycles: 0 +Passive frames: 10 +Active frames: 42 +Frames order: 11 11 12 13 14 15 14 13 12 11 0 1 1 1 2 2 3 4 4 5 6 7 7 8 8 9 10 10 10 11 11 11 11 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 18 18 18 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/dolphin/external/Sasquach_Blaster_128x64/meta.txt b/assets/dolphin/external/Sasquach_Blaster_128x64/meta.txt index 4d5cb4433..63d6e4750 100644 --- a/assets/dolphin/external/Sasquach_Blaster_128x64/meta.txt +++ b/assets/dolphin/external/Sasquach_Blaster_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 50 -Active frames: 0 +Passive frames: 10 +Active frames: 40 Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 -Active cycles: 0 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/dolphin/external/Sasquach_CloudG0ku_128x64/meta.txt b/assets/dolphin/external/Sasquach_CloudG0ku_128x64/meta.txt index 7ed1ea4e9..e780d7e95 100644 --- a/assets/dolphin/external/Sasquach_CloudG0ku_128x64/meta.txt +++ b/assets/dolphin/external/Sasquach_CloudG0ku_128x64/meta.txt @@ -3,8 +3,8 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 47 -Active frames: 1 +Passive frames: 10 +Active frames: 38 Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 46 Active cycles: 1 Frame rate: 5 diff --git a/assets/dolphin/external/Sasquach_Narut0_128x64/meta.txt b/assets/dolphin/external/Sasquach_Narut0_128x64/meta.txt index 7e7e55b26..1c4b1c117 100644 --- a/assets/dolphin/external/Sasquach_Narut0_128x64/meta.txt +++ b/assets/dolphin/external/Sasquach_Narut0_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 30 -Active frames: 0 +Passive frames: 10 +Active frames: 20 Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -Active cycles: 0 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/dolphin/external/Sasquach_RMCF_128x64/meta.txt b/assets/dolphin/external/Sasquach_RMCF_128x64/meta.txt index b6b3fdf3e..ffc01409d 100644 --- a/assets/dolphin/external/Sasquach_RMCF_128x64/meta.txt +++ b/assets/dolphin/external/Sasquach_RMCF_128x64/meta.txt @@ -3,13 +3,13 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 100 -Active frames: 0 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 14 15 16 17 18 17 18 17 18 19 20 19 20 19 20 19 20 19 20 21 22 21 22 22 22 23 24 25 26 27 28 29 30 31 32 33 0 34 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 38 -Active cycles: 0 +Passive frames: 9 +Active frames: 99 +Frames order: 0 1 2 3 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 14 15 16 17 18 17 18 17 18 19 20 19 20 19 20 19 20 19 20 21 22 21 22 22 22 23 24 25 26 27 28 29 30 31 32 33 0 34 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 38 +Active cycles: 1 Frame rate: 4 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 1 diff --git a/assets/dolphin/external/manifest.txt b/assets/dolphin/external/manifest.txt index 7be04dc86..507d6614f 100644 --- a/assets/dolphin/external/manifest.txt +++ b/assets/dolphin/external/manifest.txt @@ -4,7 +4,7 @@ Version: 1 Name: Haseo_Sharingan_128x64 Min butthurt: 0 Max butthurt: 14 -Min level: 2 +Min level: 1 Max level: 30 Weight: 7 @@ -50,20 +50,6 @@ Min level: 2 Max level: 30 Weight: 7 -Name: L1_Halloween_128x64 -Min butthurt: 0 -Max butthurt: 14 -Min level: 1 -Max level: 30 -Weight: 3 - -Name: L1_Painting_128x64 -Min butthurt: 0 -Max butthurt: 14 -Min level: 1 -Max level: 30 -Weight: 5 - Name: L1_Purple_rain_128x64 Min butthurt: 0 Max butthurt: 14 @@ -84,3 +70,17 @@ Max butthurt: 14 Min level: 3 Max level: 30 Weight: 7 + +Name: L1_Painting_128x64 +Min butthurt: 0 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 7 + +Name: L1_Halloween_128x64 +Min butthurt: 0 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 5 diff --git a/assets/resources/dolphin/Kuronons_RMCFW_128x64/meta.txt b/assets/resources/dolphin/Kuronons_RMCFW_128x64/meta.txt index 3154d0aef..aa9584f03 100644 --- a/assets/resources/dolphin/Kuronons_RMCFW_128x64/meta.txt +++ b/assets/resources/dolphin/Kuronons_RMCFW_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 54 -Active frames: 0 -Frames order: 0 0 0 0 1 1 1 2 2 3 4 4 5 6 7 7 8 8 9 10 10 10 11 11 11 11 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 18 18 18 18 18 18 18 18 18 18 18 18 -Active cycles: 0 +Passive frames: 10 +Active frames: 42 +Frames order: 11 11 12 13 14 15 14 13 12 11 0 1 1 1 2 2 3 4 4 5 6 7 7 8 8 9 10 10 10 11 11 11 11 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 18 18 18 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/resources/dolphin/Sasquach_Blaster_128x64/meta.txt b/assets/resources/dolphin/Sasquach_Blaster_128x64/meta.txt index 4d5cb4433..63d6e4750 100644 --- a/assets/resources/dolphin/Sasquach_Blaster_128x64/meta.txt +++ b/assets/resources/dolphin/Sasquach_Blaster_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 50 -Active frames: 0 +Passive frames: 10 +Active frames: 40 Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 -Active cycles: 0 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/resources/dolphin/Sasquach_CloudG0ku_128x64/meta.txt b/assets/resources/dolphin/Sasquach_CloudG0ku_128x64/meta.txt index dcbf70702..e780d7e95 100644 --- a/assets/resources/dolphin/Sasquach_CloudG0ku_128x64/meta.txt +++ b/assets/resources/dolphin/Sasquach_CloudG0ku_128x64/meta.txt @@ -3,9 +3,9 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 47 -Active frames: 0 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 +Passive frames: 10 +Active frames: 38 +Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 46 Active cycles: 1 Frame rate: 5 Duration: 3600 diff --git a/assets/resources/dolphin/Sasquach_Narut0_128x64/meta.txt b/assets/resources/dolphin/Sasquach_Narut0_128x64/meta.txt index 7e7e55b26..1c4b1c117 100644 --- a/assets/resources/dolphin/Sasquach_Narut0_128x64/meta.txt +++ b/assets/resources/dolphin/Sasquach_Narut0_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 30 -Active frames: 0 +Passive frames: 10 +Active frames: 20 Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -Active cycles: 0 +Active cycles: 1 Frame rate: 6 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 0 diff --git a/assets/resources/dolphin/Sasquach_RMCF_128x64/meta.txt b/assets/resources/dolphin/Sasquach_RMCF_128x64/meta.txt index b6b3fdf3e..ffc01409d 100644 --- a/assets/resources/dolphin/Sasquach_RMCF_128x64/meta.txt +++ b/assets/resources/dolphin/Sasquach_RMCF_128x64/meta.txt @@ -3,13 +3,13 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 100 -Active frames: 0 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 14 15 16 17 18 17 18 17 18 19 20 19 20 19 20 19 20 19 20 21 22 21 22 22 22 23 24 25 26 27 28 29 30 31 32 33 0 34 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 38 -Active cycles: 0 +Passive frames: 9 +Active frames: 99 +Frames order: 0 1 2 3 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 14 15 16 17 18 17 18 17 18 19 20 19 20 19 20 19 20 19 20 21 22 21 22 22 22 23 24 25 26 27 28 29 30 31 32 33 0 34 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 38 +Active cycles: 1 Frame rate: 4 Duration: 3600 -Active cooldown: 0 +Active cooldown: 4 Bubble slots: 1 diff --git a/assets/resources/dolphin/manifest.txt b/assets/resources/dolphin/manifest.txt index 29295c598..507d6614f 100644 --- a/assets/resources/dolphin/manifest.txt +++ b/assets/resources/dolphin/manifest.txt @@ -50,20 +50,6 @@ Min level: 2 Max level: 30 Weight: 7 -Name: L1_Halloween_128x64 -Min butthurt: 0 -Max butthurt: 14 -Min level: 1 -Max level: 30 -Weight: 14 - -Name: L1_Painting_128x64 -Min butthurt: 0 -Max butthurt: 14 -Min level: 1 -Max level: 30 -Weight: 5 - Name: L1_Purple_rain_128x64 Min butthurt: 0 Max butthurt: 14 @@ -84,3 +70,17 @@ Max butthurt: 14 Min level: 3 Max level: 30 Weight: 7 + +Name: L1_Painting_128x64 +Min butthurt: 0 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 7 + +Name: L1_Halloween_128x64 +Min butthurt: 0 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 5