diff --git a/ReadMe.md b/ReadMe.md index ef5ba5d0e5f..badf41b33ed 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -34,6 +34,7 @@ This software is for experimental purposes only and is not meant for any illegal - OFW: [Bad USB: fix crash when selecting a keyboard layout #3555 (By vanguacamolie)](https://github.com/flipperdevices/flipperzero-firmware/pull/3555) - OFW: [IR: Remember OTG state #3549 (By Willie-JL)](https://github.com/flipperdevices/flipperzero-firmware/pull/3549) - OFW: [Mifare Ultralight naming fix #3551 (By RebornedBrain)](https://github.com/flipperdevices/flipperzero-firmware/pull/3551) +- [A few app tweaks (By Willy-JL)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/commit/ca59a11a7b22c6882447987dbc2774bb2b1020f8) @@ -397,7 +398,7 @@ $ ./fbt dolphin_ext - [Flipper Aid v1.0 (By spaghety)](https://github.com/spaghety/flipper-aid) - [Flipper Doctor v0.1 (By julandealb)](https://github.com/julandealb/flipperdoc) - [Flipper Tag v1.0 (By thejudge156)](https://github.com/thejudge156/flippertag) -- [Flizzer Tracker v0.6 (By LTVA1)](https://github.com/LTVA1/flizzer_tracker) +- [Flizzer Tracker v0.7 (By LTVA1)](https://github.com/LTVA1/flizzer_tracker) - [FM Radio v1.1 (By coolshrimp)](https://github.com/coolshrimp/flipperzero-firmware-wPlugins/tree/420/applications/external/fm_radio) - [FMF2USBMIDI v0.1 (By crackerjacques)](https://github.com/crackerjacques/Flipper_Zero_FMF2USBMIDI) - [Gas Sensor v0.1 (By iancohee)](https://github.com/iancohee/gas_sensor_fap) `Req: BME680 / SGP30` diff --git a/applications/external/ble_spam/ble_spam.c b/applications/external/ble_spam/ble_spam.c index 50ede4e64f3..15fa4357f98 100644 --- a/applications/external/ble_spam/ble_spam.c +++ b/applications/external/ble_spam/ble_spam.c @@ -185,12 +185,14 @@ const NotificationSequence blink_sequence = { NULL, }; static void start_blink(State* state) { + if(!state->ctx.led_indicator) return; uint16_t period = delays[state->delay]; if(period <= 100) period += 30; blink_message.data.led_blink.period = period; notification_message_block(state->ctx.notification, &blink_sequence); } static void stop_blink(State* state) { + if(!state->ctx.led_indicator) return; notification_message_block(state->ctx.notification, &sequence_blink_stop); } @@ -227,7 +229,7 @@ static int32_t adv_thread(void* _ctx) { Payload* payload = &attacks[state->index].payload; const Protocol* protocol = attacks[state->index].protocol; if(!payload->random_mac) randomize_mac(state); - if(state->ctx.led_indicator) start_blink(state); + start_blink(state); if(furi_hal_bt_extra_beacon_is_active()) { furi_check(furi_hal_bt_extra_beacon_stop()); } @@ -246,7 +248,7 @@ static int32_t adv_thread(void* _ctx) { furi_check(furi_hal_bt_extra_beacon_stop()); } - if(state->ctx.led_indicator) stop_blink(state); + stop_blink(state); return 0; } diff --git a/applications/external/flizzer_tracker/application.fam b/applications/external/flizzer_tracker/application.fam index 670628e8d78..9f2e0b31eaa 100644 --- a/applications/external/flizzer_tracker/application.fam +++ b/applications/external/flizzer_tracker/application.fam @@ -11,6 +11,6 @@ App( fap_icon_assets_symbol="flizzer_tracker", fap_author="LTVA", fap_weburl="https://github.com/LTVA1/flizzer_tracker", - fap_version=(0, 6), + fap_version=(0, 7), fap_description="An advanced Flipper Zero chiptune tracker with 4 channels", ) diff --git a/applications/external/flizzer_tracker/sound_engine/sound_engine.c b/applications/external/flizzer_tracker/sound_engine/sound_engine.c index ee1267ad9e6..5cbaf397a36 100644 --- a/applications/external/flizzer_tracker/sound_engine/sound_engine.c +++ b/applications/external/flizzer_tracker/sound_engine/sound_engine.c @@ -109,16 +109,17 @@ void sound_engine_fill_buffer( SoundEngineChannel* channel = &sound_engine->channel[chan]; if(channel->frequency > 0) { + channel->sync_bit = 0; uint32_t prev_acc = channel->accumulator; channel->accumulator += channel->frequency; - channel->sync_bit |= (channel->accumulator & ACC_LENGTH); + channel->sync_bit |= (channel->accumulator > ACC_LENGTH ? 1 : 0); channel->accumulator &= ACC_LENGTH - 1; if(channel->flags & SE_ENABLE_HARD_SYNC) { - uint8_t hard_sync_src = channel->hard_sync == 0xff ? i : channel->hard_sync; + uint8_t hard_sync_src = channel->hard_sync == 0xff ? chan : channel->hard_sync; if(sound_engine->channel[hard_sync_src].sync_bit) { channel->accumulator = 0; @@ -129,7 +130,7 @@ void sound_engine_fill_buffer( sound_engine_osc(sound_engine, channel, prev_acc) - WAVE_AMP / 2; if(channel->flags & SE_ENABLE_RING_MOD) { - uint8_t ring_mod_src = channel->ring_mod == 0xff ? i : channel->ring_mod; + uint8_t ring_mod_src = channel->ring_mod == 0xff ? chan : channel->ring_mod; channel_output[chan] = channel_output[chan] * channel_output[ring_mod_src] / WAVE_AMP; } diff --git a/applications/external/flizzer_tracker/tracker_engine/tracker_engine.c b/applications/external/flizzer_tracker/tracker_engine/tracker_engine.c index e633fd3f972..340a4c090b0 100644 --- a/applications/external/flizzer_tracker/tracker_engine/tracker_engine.c +++ b/applications/external/flizzer_tracker/tracker_engine/tracker_engine.c @@ -89,7 +89,7 @@ void set_default_instrument(Instrument* inst) { inst->adsr.volume = 0x80; inst->filter_type = FIL_OUTPUT_LOWPASS; - inst->filter_cutoff = 0xff; + inst->filter_cutoff = 0xd0; inst->program_period = 1; diff --git a/applications/external/ir_intervalometer/intervalometer.c b/applications/external/ir_intervalometer/intervalometer.c index 2f08156f501..cefd8d601fe 100644 --- a/applications/external/ir_intervalometer/intervalometer.c +++ b/applications/external/ir_intervalometer/intervalometer.c @@ -752,6 +752,7 @@ int32_t flipvalo_app() { } view_port_free(view_port); } + furi_hal_infrared_set_tx_output(FuriHalInfraredTxPinInternal); if(furi_hal_power_is_otg_enabled() != otg_was_enabled) { if(otg_was_enabled) { furi_hal_power_enable_otg(); diff --git a/applications/external/mfkey/mfkey.c b/applications/external/mfkey/mfkey.c index 1701c971800..be3ac230bb4 100644 --- a/applications/external/mfkey/mfkey.c +++ b/applications/external/mfkey/mfkey.c @@ -679,12 +679,12 @@ static void render_callback(Canvas* const canvas, void* ctx) { float eta_round = (float)1 - ((float)program_state->eta_round / (float)eta_round_time); float eta_total = (float)1 - ((float)program_state->eta_total / (float)eta_total_time); float progress = (float)program_state->num_completed / (float)program_state->total; - if(eta_round < 0) { + if(eta_round < 0 || eta_round > 1) { // Round ETA miscalculated eta_round = 1; program_state->eta_round = 0; } - if(eta_total < 0) { + if(eta_total < 0 || eta_total > 1) { // Total ETA miscalculated eta_total = 1; program_state->eta_total = 0; diff --git a/applications/external/xremote/xremote.c b/applications/external/xremote/xremote.c index 808903d0723..e01e49fbb3f 100644 --- a/applications/external/xremote/xremote.c +++ b/applications/external/xremote/xremote.c @@ -122,6 +122,7 @@ int32_t xremote_main(void* p) { xremote_app_switch_to_view(app, XRemoteViewSubmenu); view_dispatcher_run(app->app_ctx->view_dispatcher); + furi_hal_infrared_set_tx_output(FuriHalInfraredTxPinInternal); if(furi_hal_power_is_otg_enabled() != otg_was_enabled) { if(otg_was_enabled) { furi_hal_power_enable_otg();