mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-13 13:09:49 +04:00
SubGhz: remove direct reading subghz->lock
This commit is contained in:
@@ -159,7 +159,8 @@ void subghz_scene_decode_raw_on_enter(void* context) {
|
||||
FuriString* item_name = furi_string_alloc();
|
||||
FuriString* item_time = furi_string_alloc();
|
||||
|
||||
subghz_view_receiver_set_lock(subghz->subghz_receiver, subghz->lock);
|
||||
subghz_view_receiver_set_lock(
|
||||
subghz->subghz_receiver, subghz_is_locked(subghz)); //TODO Doesn't matter in DecodeRAW
|
||||
subghz_view_receiver_set_mode(subghz->subghz_receiver, SubGhzViewReceiverModeFile);
|
||||
subghz_view_receiver_set_callback(
|
||||
subghz->subghz_receiver, subghz_scene_decode_raw_callback, subghz);
|
||||
@@ -242,7 +243,7 @@ bool subghz_scene_decode_raw_on_event(void* context, SceneManagerEvent event) {
|
||||
consumed = true;
|
||||
break;
|
||||
case SubGhzCustomEventViewReceiverUnlock:
|
||||
subghz->lock = SubGhzLockOff;
|
||||
subghz_unlock(subghz); //TODO There is no such event in DecodeRAW
|
||||
consumed = true;
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -127,7 +127,7 @@ void subghz_scene_receiver_on_enter(void* context) {
|
||||
subghz->txrx->rx_key_state = SubGhzRxKeyStateStart;
|
||||
}
|
||||
|
||||
subghz_view_receiver_set_lock(subghz->subghz_receiver, subghz->lock);
|
||||
subghz_view_receiver_set_lock(subghz->subghz_receiver, subghz_is_locked(subghz));
|
||||
subghz_view_receiver_set_mode(subghz->subghz_receiver, SubGhzViewReceiverModeLive);
|
||||
|
||||
//Load history to receiver
|
||||
@@ -262,7 +262,7 @@ bool subghz_scene_receiver_on_event(void* context, SceneManagerEvent event) {
|
||||
consumed = true;
|
||||
break;
|
||||
case SubGhzCustomEventViewReceiverUnlock:
|
||||
subghz->lock = SubGhzLockOff;
|
||||
subghz_unlock(subghz);
|
||||
consumed = true;
|
||||
break;
|
||||
default:
|
||||
@@ -286,7 +286,7 @@ bool subghz_scene_receiver_on_event(void* context, SceneManagerEvent event) {
|
||||
notification_message(subghz->notifications, &sequence_blink_cyan_10);
|
||||
break;
|
||||
case SubGhzNotificationStateRxDone:
|
||||
if(subghz->lock != SubGhzLockOn) {
|
||||
if(!subghz_is_locked(subghz)) {
|
||||
notification_message(subghz->notifications, &subghz_sequence_rx);
|
||||
} else {
|
||||
notification_message(subghz->notifications, &subghz_sequence_rx_locked);
|
||||
|
||||
@@ -415,7 +415,7 @@ bool subghz_scene_receiver_config_on_event(void* context, SceneManagerEvent even
|
||||
|
||||
if(event.type == SceneManagerEventTypeCustom) {
|
||||
if(event.event == SubGhzCustomEventSceneSettingLock) {
|
||||
subghz->lock = SubGhzLockOn;
|
||||
subghz_lock(subghz);
|
||||
scene_manager_previous_scene(subghz->scene_manager);
|
||||
consumed = true;
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ SubGhz* subghz_alloc(bool alloc_for_tx_only) {
|
||||
subghz->threshold_rssi = subghz_threshold_rssi_alloc();
|
||||
|
||||
//init Worker & Protocol & History & KeyBoard
|
||||
subghz->lock = SubGhzLockOff;
|
||||
subghz_unlock(subghz);
|
||||
subghz->txrx = malloc(sizeof(SubGhzTxRx));
|
||||
subghz->txrx->preset = malloc(sizeof(SubGhzRadioPreset));
|
||||
subghz->txrx->preset->name = furi_string_alloc();
|
||||
|
||||
@@ -710,3 +710,18 @@ void subghz_speaker_unmute(SubGhz* subghz) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void subghz_lock(SubGhz* subghz) {
|
||||
furi_assert(subghz);
|
||||
subghz->lock = SubGhzLockOn;
|
||||
}
|
||||
|
||||
void subghz_unlock(SubGhz* subghz) {
|
||||
furi_assert(subghz);
|
||||
subghz->lock = SubGhzLockOff;
|
||||
}
|
||||
|
||||
bool subghz_is_locked(SubGhz* subghz) {
|
||||
furi_assert(subghz);
|
||||
return (subghz->lock == SubGhzLockOn);
|
||||
}
|
||||
@@ -185,5 +185,9 @@ void subghz_hopper_set_state(SubGhz* subghz, SubGhzHopperState state);
|
||||
void subghz_hopper_remove_pause(SubGhz* subghz);
|
||||
void subghz_subghz_hopper_set_pause(SubGhz* subghz);
|
||||
|
||||
void subghz_lock(SubGhz* subghz);
|
||||
void subghz_unlock(SubGhz* subghz);
|
||||
bool subghz_is_locked(SubGhz* subghz);
|
||||
|
||||
extern const NotificationSequence subghz_sequence_rx;
|
||||
extern const NotificationSequence subghz_sequence_rx_locked;
|
||||
|
||||
@@ -49,7 +49,7 @@ typedef enum {
|
||||
} SubGhzViewReceiverBarShow;
|
||||
|
||||
struct SubGhzViewReceiver {
|
||||
SubGhzLock lock;
|
||||
bool lock;
|
||||
uint8_t lock_count;
|
||||
FuriTimer* timer;
|
||||
View* view;
|
||||
@@ -95,10 +95,10 @@ void subghz_receiver_rssi(SubGhzViewReceiver* instance, float rssi) {
|
||||
true);
|
||||
}
|
||||
|
||||
void subghz_view_receiver_set_lock(SubGhzViewReceiver* subghz_receiver, SubGhzLock lock) {
|
||||
void subghz_view_receiver_set_lock(SubGhzViewReceiver* subghz_receiver, bool lock) {
|
||||
furi_assert(subghz_receiver);
|
||||
subghz_receiver->lock_count = 0;
|
||||
if(lock == SubGhzLockOn) {
|
||||
if(lock == true) {
|
||||
subghz_receiver->lock = lock;
|
||||
with_view_model(
|
||||
subghz_receiver->view,
|
||||
@@ -394,7 +394,7 @@ static void subghz_view_receiver_timer_callback(void* context) {
|
||||
subghz_receiver->callback(
|
||||
SubGhzCustomEventViewReceiverOffDisplay, subghz_receiver->context);
|
||||
} else {
|
||||
subghz_receiver->lock = SubGhzLockOff;
|
||||
subghz_receiver->lock = false;
|
||||
subghz_receiver->callback(SubGhzCustomEventViewReceiverUnlock, subghz_receiver->context);
|
||||
}
|
||||
subghz_receiver->lock_count = 0;
|
||||
@@ -404,7 +404,7 @@ bool subghz_view_receiver_input(InputEvent* event, void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzViewReceiver* subghz_receiver = context;
|
||||
|
||||
if(subghz_receiver->lock == SubGhzLockOn) {
|
||||
if(subghz_receiver->lock == true) {
|
||||
with_view_model(
|
||||
subghz_receiver->view,
|
||||
SubGhzViewReceiverModel * model,
|
||||
@@ -424,7 +424,7 @@ bool subghz_view_receiver_input(InputEvent* event, void* context) {
|
||||
SubGhzViewReceiverModel * model,
|
||||
{ model->bar_show = SubGhzViewReceiverBarShowUnlock; },
|
||||
true);
|
||||
//subghz_receiver->lock = SubGhzLockOff;
|
||||
//subghz_receiver->lock = false;
|
||||
furi_timer_start(subghz_receiver->timer, pdMS_TO_TICKS(650));
|
||||
}
|
||||
|
||||
@@ -549,7 +549,7 @@ SubGhzViewReceiver* subghz_view_receiver_alloc() {
|
||||
// View allocation and configuration
|
||||
subghz_receiver->view = view_alloc();
|
||||
|
||||
subghz_receiver->lock = SubGhzLockOff;
|
||||
subghz_receiver->lock = false;
|
||||
subghz_receiver->lock_count = 0;
|
||||
view_allocate_model(
|
||||
subghz_receiver->view, ViewModelTypeLocking, sizeof(SubGhzViewReceiverModel));
|
||||
|
||||
@@ -14,7 +14,7 @@ void subghz_view_receiver_set_mode(
|
||||
|
||||
void subghz_receiver_rssi(SubGhzViewReceiver* instance, float rssi);
|
||||
|
||||
void subghz_view_receiver_set_lock(SubGhzViewReceiver* subghz_receiver, SubGhzLock keyboard);
|
||||
void subghz_view_receiver_set_lock(SubGhzViewReceiver* subghz_receiver, bool keyboard);
|
||||
|
||||
void subghz_view_receiver_set_callback(
|
||||
SubGhzViewReceiver* subghz_receiver,
|
||||
|
||||
Reference in New Issue
Block a user