Просмотр исходного кода

[FL-2684, FL-2685] bugfix subghz (#1446)

* [FL-2684] SubGhz: fix incorrect CAME TWICE protocol definition
* [FL-2685] SubGhz: fix the recorded RAW signal is deleted when trying to transmit on a prohibited frequency

Co-authored-by: あく <alleteam@gmail.com>
Skorpionm 3 лет назад
Родитель
Сommit
ed7db336c1
2 измененных файлов с 2 добавлено и 1 удалено
  1. 1 0
      applications/subghz/scenes/subghz_scene_read_raw.c
  2. 1 1
      lib/subghz/protocols/came_twee.c

+ 1 - 0
applications/subghz/scenes/subghz_scene_read_raw.c

@@ -202,6 +202,7 @@ bool subghz_scene_read_raw_on_event(void* context, SceneManagerEvent event) {
                 if((subghz->txrx->txrx_state == SubGhzTxRxStateIDLE) ||
                 if((subghz->txrx->txrx_state == SubGhzTxRxStateIDLE) ||
                    (subghz->txrx->txrx_state == SubGhzTxRxStateSleep)) {
                    (subghz->txrx->txrx_state == SubGhzTxRxStateSleep)) {
                     if(!subghz_tx_start(subghz, subghz->txrx->fff_data)) {
                     if(!subghz_tx_start(subghz, subghz->txrx->fff_data)) {
+                        subghz->txrx->rx_key_state = SubGhzRxKeyStateBack;
                         scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowOnlyRx);
                         scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowOnlyRx);
                     } else {
                     } else {
                         DOLPHIN_DEED(DolphinDeedSubGhzSend);
                         DOLPHIN_DEED(DolphinDeedSubGhzSend);

+ 1 - 1
lib/subghz/protocols/came_twee.c

@@ -354,7 +354,7 @@ void subghz_protocol_decoder_came_twee_feed(void* context, bool level, uint32_t
             } else if(
             } else if(
                 duration >= ((uint32_t)subghz_protocol_came_twee_const.te_long * 2 +
                 duration >= ((uint32_t)subghz_protocol_came_twee_const.te_long * 2 +
                              subghz_protocol_came_twee_const.te_delta)) {
                              subghz_protocol_came_twee_const.te_delta)) {
-                if(instance->decoder.decode_count_bit >=
+                if(instance->decoder.decode_count_bit ==
                    subghz_protocol_came_twee_const.min_count_bit_for_found) {
                    subghz_protocol_came_twee_const.min_count_bit_for_found) {
                     instance->generic.data = instance->decoder.decode_data;
                     instance->generic.data = instance->decoder.decode_data;
                     instance->generic.data_count_bit = instance->decoder.decode_count_bit;
                     instance->generic.data_count_bit = instance->decoder.decode_count_bit;