fix endless tx state at receiver info

This commit is contained in:
MX
2026-02-15 16:39:58 +03:00
parent 0032c55a39
commit 75d4263822
2 changed files with 5 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ typedef enum {
SubGhzNotificationStateTx,
SubGhzNotificationStateRx,
SubGhzNotificationStateRxDone,
SubGhzNotificationStateTxWait,
} SubGhzNotificationState;
/** SubGhzTxRx state */

View File

@@ -153,7 +153,7 @@ bool subghz_scene_receiver_info_on_event(void* context, SceneManagerEvent event)
// user release OK
// we switch off endless_tx - that mean protocols yield finish endless transmission,
// send upload "repeat=xx" times, and after will be stoped by the tick event down in this code
subghz->state_notifications = SubGhzNotificationStateIDLE;
subghz->state_notifications = SubGhzNotificationStateTxWait;
subghz_block_generic_global.endless_tx = false;
return true;
@@ -192,7 +192,7 @@ bool subghz_scene_receiver_info_on_event(void* context, SceneManagerEvent event)
notification_message(subghz->notifications, &sequence_blink_green_100);
subghz->state_notifications = SubGhzNotificationStateRx;
break;
case SubGhzNotificationStateIDLE:
case SubGhzNotificationStateTxWait:
// we wait until hardware TX finished and after stop TX and start RX, else just blink led
if(!subghz_devices_is_async_complete_tx(subghz->txrx->radio_device)) {
notification_message(subghz->notifications, &sequence_blink_magenta_10);
@@ -202,6 +202,8 @@ bool subghz_scene_receiver_info_on_event(void* context, SceneManagerEvent event)
widget_reset(subghz->widget);
subghz_scene_receiver_info_draw_widget(subghz);
subghz->state_notifications = SubGhzNotificationStateIDLE;
if(!scene_manager_has_previous_scene(subghz->scene_manager, SubGhzSceneDecodeRAW)) {
subghz_txrx_rx_start(subghz->txrx);
subghz_txrx_hopper_unpause(subghz->txrx);