mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
32bit subghz hashes (less false duplicates)
This commit is contained in:
@@ -65,7 +65,7 @@ static void subghz_scene_add_to_history_callback(
|
||||
|
||||
if(subghz->remove_duplicates) {
|
||||
// Look in history for signal hash
|
||||
uint8_t hash_data = subghz_protocol_decoder_base_get_hash_data(decoder_base);
|
||||
uint32_t hash_data = subghz_protocol_decoder_base_get_hash_data_long(decoder_base);
|
||||
subghz_view_receiver_disable_draw_callback(subghz->subghz_receiver);
|
||||
for(uint16_t i = idx; i > 0; i--) {
|
||||
i--; // Iterating in reverse with off by one
|
||||
|
||||
@@ -147,7 +147,8 @@ static void subghz_scene_add_to_history_callback(
|
||||
|
||||
if(subghz->remove_duplicates) {
|
||||
// Look in history for signal hash
|
||||
uint8_t hash_data = subghz_protocol_decoder_base_get_hash_data(decoder_base);
|
||||
uint32_t hash_data =
|
||||
subghz_protocol_decoder_base_get_hash_data_long(decoder_base);
|
||||
subghz_view_receiver_disable_draw_callback(subghz->subghz_receiver);
|
||||
for(uint16_t i = idx; i > 0; i--) {
|
||||
i--; // Iterating in reverse with off by one
|
||||
|
||||
@@ -13,7 +13,7 @@ typedef struct {
|
||||
uint8_t type;
|
||||
SubGhzRadioPreset* preset;
|
||||
FuriHalRtcDateTime datetime;
|
||||
uint8_t hash_data;
|
||||
uint32_t hash_data;
|
||||
uint16_t repeats;
|
||||
float latitude;
|
||||
float longitude;
|
||||
@@ -30,7 +30,7 @@ typedef struct {
|
||||
struct SubGhzHistory {
|
||||
uint32_t last_update_timestamp;
|
||||
uint16_t last_index_write;
|
||||
uint8_t code_last_hash_data;
|
||||
uint32_t code_last_hash_data;
|
||||
FuriString* tmp_string;
|
||||
SubGhzHistoryStruct* history;
|
||||
};
|
||||
@@ -59,7 +59,7 @@ void subghz_history_free(SubGhzHistory* instance) {
|
||||
free(instance);
|
||||
}
|
||||
|
||||
uint8_t subghz_history_get_hash_data(SubGhzHistory* instance, uint16_t idx) {
|
||||
uint32_t subghz_history_get_hash_data(SubGhzHistory* instance, uint16_t idx) {
|
||||
furi_assert(instance);
|
||||
SubGhzHistoryItem* item = SubGhzHistoryItemArray_get(instance->history->data, idx);
|
||||
return item->hash_data;
|
||||
@@ -221,7 +221,7 @@ bool subghz_history_add_to_history(
|
||||
if(instance->last_index_write >= SUBGHZ_HISTORY_MAX) return false;
|
||||
|
||||
SubGhzProtocolDecoderBase* decoder_base = context;
|
||||
uint8_t hash_data = subghz_protocol_decoder_base_get_hash_data(decoder_base);
|
||||
uint32_t hash_data = subghz_protocol_decoder_base_get_hash_data_long(decoder_base);
|
||||
if((instance->code_last_hash_data == hash_data) &&
|
||||
((furi_get_tick() - instance->last_update_timestamp) < 500)) {
|
||||
instance->last_update_timestamp = furi_get_tick();
|
||||
|
||||
@@ -33,9 +33,9 @@ void subghz_history_delete_item(SubGhzHistory* instance, uint16_t idx);
|
||||
*
|
||||
* @param instance - SubGhzHistory instance
|
||||
* @param idx - record index
|
||||
* @return hash - hash data byte
|
||||
* @return hash - hash data
|
||||
*/
|
||||
uint8_t subghz_history_get_hash_data(SubGhzHistory* instance, uint16_t idx);
|
||||
uint32_t subghz_history_get_hash_data(SubGhzHistory* instance, uint16_t idx);
|
||||
|
||||
/** Get repeat count to history[idx]
|
||||
*
|
||||
|
||||
@@ -25,3 +25,15 @@ uint8_t subghz_protocol_blocks_get_hash_data(SubGhzBlockDecoder* decoder, size_t
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
uint32_t subghz_protocol_blocks_get_hash_data_long(SubGhzBlockDecoder* decoder, size_t len) {
|
||||
union {
|
||||
uint32_t full;
|
||||
uint8_t split[4];
|
||||
} hash = {0};
|
||||
uint8_t* p = (uint8_t*)&decoder->decode_data;
|
||||
for(size_t i = 0; i < len; i++) {
|
||||
hash.split[i % sizeof(hash)] ^= p[i];
|
||||
}
|
||||
return hash.full;
|
||||
}
|
||||
|
||||
@@ -42,6 +42,13 @@ void subghz_protocol_blocks_add_to_128_bit(
|
||||
*/
|
||||
uint8_t subghz_protocol_blocks_get_hash_data(SubGhzBlockDecoder* decoder, size_t len);
|
||||
|
||||
/**
|
||||
* Getting the long hash sum of the last randomly received parcel.
|
||||
* @param decoder Pointer to a SubGhzBlockDecoder instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint32_t subghz_protocol_blocks_get_hash_data_long(SubGhzBlockDecoder* decoder, size_t len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -256,10 +256,10 @@ void ws_protocol_decoder_acurite_592txr_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_acurite_592txr_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_acurite_592txr_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAcurite_592TXR* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_acurite_592txr_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a WSProtocolDecoderAcurite_592TXR instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_acurite_592txr_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_acurite_592txr_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAcurite_592TXR.
|
||||
|
||||
@@ -195,10 +195,10 @@ void ws_protocol_decoder_acurite_606tx_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_acurite_606tx_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_acurite_606tx_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAcurite_606TX* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_acurite_606tx_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a WSProtocolDecoderAcurite_606TX instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_acurite_606tx_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_acurite_606tx_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAcurite_606TX.
|
||||
|
||||
@@ -195,10 +195,10 @@ void ws_protocol_decoder_acurite_609txc_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_acurite_609txc_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_acurite_609txc_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAcurite_609TXC* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_acurite_609txc_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a WSProtocolDecoderAcurite_609TXC instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_acurite_609txc_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_acurite_609txc_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAcurite_609TXC.
|
||||
|
||||
@@ -651,10 +651,10 @@ static void subghz_protocol_alutech_at_4n_remote_controller(
|
||||
subghz_custom_btn_set_max(4);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_alutech_at_4n_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_alutech_at_4n_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderAlutech_at_4n* instance = context;
|
||||
return (uint8_t)instance->crc;
|
||||
return instance->crc;
|
||||
}
|
||||
|
||||
SubGhzProtocolStatus subghz_protocol_decoder_alutech_at_4n_serialize(
|
||||
|
||||
@@ -77,7 +77,7 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
|
||||
* @param context Pointer to a SubGhzProtocolDecoderAlutech_at_4n instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_alutech_at_4n_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_alutech_at_4n_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderAlutech_at_4n.
|
||||
|
||||
@@ -224,10 +224,10 @@ void ws_protocol_decoder_ambient_weather_feed(void* context, bool level, uint32_
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_ambient_weather_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_ambient_weather_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAmbient_Weather* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_ambient_weather_feed(void* context, bool level, uint32_
|
||||
* @param context Pointer to a WSProtocolDecoderAmbient_Weather instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_ambient_weather_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_ambient_weather_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAmbient_Weather.
|
||||
|
||||
@@ -295,10 +295,10 @@ static void subghz_protocol_ansonic_check_remote_controller(SubGhzBlockGeneric*
|
||||
instance->btn = ((instance->data >> 1) & 0x3);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_ansonic_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_ansonic_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderAnsonic* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_ansonic_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a SubGhzProtocolDecoderAnsonic instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_ansonic_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_ansonic_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderAnsonic.
|
||||
|
||||
@@ -212,10 +212,10 @@ void ws_protocol_decoder_auriol_ahfl_feed(void* context, bool level, uint32_t du
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_auriol_ahfl_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_auriol_ahfl_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAuriol_AHFL* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_auriol_ahfl_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a WSProtocolDecoderAuriol_AHFL instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_auriol_ahfl_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_auriol_ahfl_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAuriol_AHFL.
|
||||
|
||||
@@ -206,10 +206,10 @@ void ws_protocol_decoder_auriol_th_feed(void* context, bool level, uint32_t dura
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_auriol_th_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_auriol_th_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderAuriol_TH* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_auriol_th_feed(void* context, bool level, uint32_t dura
|
||||
* @param context Pointer to a WSProtocolDecoderAuriol_TH instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_auriol_th_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_auriol_th_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderAuriol_TH.
|
||||
|
||||
@@ -53,6 +53,21 @@ SubGhzProtocolStatus subghz_protocol_decoder_base_deserialize(
|
||||
uint8_t subghz_protocol_decoder_base_get_hash_data(SubGhzProtocolDecoderBase* decoder_base) {
|
||||
uint8_t hash = 0;
|
||||
|
||||
if(decoder_base->protocol && decoder_base->protocol->decoder &&
|
||||
decoder_base->protocol->decoder->get_hash_data) {
|
||||
uint32_t full = decoder_base->protocol->decoder->get_hash_data(decoder_base);
|
||||
uint8_t* p = (uint8_t*)&full;
|
||||
for(size_t i = 0; i < sizeof(full); i++) {
|
||||
hash ^= p[i];
|
||||
}
|
||||
}
|
||||
|
||||
return hash;
|
||||
}
|
||||
|
||||
uint32_t subghz_protocol_decoder_base_get_hash_data_long(SubGhzProtocolDecoderBase* decoder_base) {
|
||||
uint32_t hash = 0;
|
||||
|
||||
if(decoder_base->protocol && decoder_base->protocol->decoder &&
|
||||
decoder_base->protocol->decoder->get_hash_data) {
|
||||
hash = decoder_base->protocol->decoder->get_hash_data(decoder_base);
|
||||
|
||||
@@ -73,6 +73,13 @@ SubGhzProtocolStatus subghz_protocol_decoder_base_deserialize(
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_base_get_hash_data(SubGhzProtocolDecoderBase* decoder_base);
|
||||
|
||||
/**
|
||||
* Getting the long hash sum of the last randomly received parcel.
|
||||
* @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint32_t subghz_protocol_decoder_base_get_hash_data_long(SubGhzProtocolDecoderBase* decoder_base);
|
||||
|
||||
// Encoder Base
|
||||
typedef struct SubGhzProtocolEncoderBase SubGhzProtocolEncoderBase;
|
||||
|
||||
|
||||
@@ -289,10 +289,10 @@ void subghz_protocol_decoder_bett_feed(void* context, bool level, uint32_t durat
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_bett_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_bett_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderBETT* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_bett_feed(void* context, bool level, uint32_t durat
|
||||
* @param context Pointer to a SubGhzProtocolDecoderBETT instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_bett_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_bett_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderBETT.
|
||||
|
||||
@@ -960,12 +960,19 @@ void subghz_protocol_decoder_bin_raw_data_input_rssi(
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_bin_raw_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_bin_raw_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderBinRAW* instance = context;
|
||||
return subghz_protocol_blocks_add_bytes(
|
||||
instance->data + instance->data_markup[0].byte_bias,
|
||||
subghz_protocol_bin_raw_get_full_byte(instance->data_markup[0].bit_count));
|
||||
union {
|
||||
uint32_t full;
|
||||
uint8_t split[4];
|
||||
} hash = {0};
|
||||
uint8_t* p = instance->data + instance->data_markup[0].byte_bias;
|
||||
size_t len = subghz_protocol_bin_raw_get_full_byte(instance->data_markup[0].bit_count);
|
||||
for(size_t i = 0; i < len; i++) {
|
||||
hash.split[i % sizeof(hash)] ^= p[i];
|
||||
}
|
||||
return hash.full;
|
||||
}
|
||||
|
||||
SubGhzProtocolStatus subghz_protocol_decoder_bin_raw_serialize(
|
||||
|
||||
@@ -79,7 +79,7 @@ void subghz_protocol_decoder_bin_raw_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a SubGhzProtocolDecoderBinRAW instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_bin_raw_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_bin_raw_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderBinRAW.
|
||||
|
||||
@@ -310,10 +310,10 @@ void subghz_protocol_decoder_came_feed(void* context, bool level, uint32_t durat
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_came_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_came_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderCame* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_came_feed(void* context, bool level, uint32_t durat
|
||||
* @param context Pointer to a SubGhzProtocolDecoderCame instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_came_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_came_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderCame.
|
||||
|
||||
@@ -682,10 +682,10 @@ static uint8_t subghz_protocol_came_atomo_get_btn_code() {
|
||||
return btn;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_came_atomo_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_came_atomo_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderCameAtomo* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ void subghz_protocol_decoder_came_atomo_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a SubGhzProtocolDecoderCameAtomo instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_came_atomo_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_came_atomo_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderCameAtomo.
|
||||
|
||||
@@ -409,10 +409,10 @@ void subghz_protocol_decoder_came_twee_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_came_twee_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_came_twee_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderCameTwee* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_came_twee_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a SubGhzProtocolDecoderCameTwee instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_came_twee_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_came_twee_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderCameTwee.
|
||||
|
||||
@@ -422,10 +422,10 @@ void subghz_protocol_decoder_chamb_code_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_chamb_code_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_chamb_code_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderChamb_Code* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_chamb_code_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a SubGhzProtocolDecoderChamb_Code instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_chamb_code_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_chamb_code_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderChamb_Code.
|
||||
|
||||
@@ -310,10 +310,10 @@ static void subghz_protocol_clemsa_check_remote_controller(SubGhzBlockGeneric* i
|
||||
instance->btn = (instance->data & 0x03);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_clemsa_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_clemsa_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderClemsa* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_clemsa_feed(void* context, bool level, uint32_t dur
|
||||
* @param context Pointer to a SubGhzProtocolDecoderClemsa instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_clemsa_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_clemsa_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderClemsa.
|
||||
|
||||
@@ -303,10 +303,10 @@ static void subghz_protocol_doitrand_check_remote_controller(SubGhzBlockGeneric*
|
||||
instance->btn = ((instance->data >> 18) & 0x3);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_doitrand_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_doitrand_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderDoitrand* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_doitrand_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderDoitrand instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_doitrand_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_doitrand_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderDoitrand.
|
||||
|
||||
@@ -347,10 +347,10 @@ static void subghz_protocol_dooya_check_remote_controller(SubGhzBlockGeneric* in
|
||||
instance->btn = instance->data & 0xFF;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_dooya_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_dooya_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderDooya* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_dooya_feed(void* context, bool level, uint32_t dura
|
||||
* @param context Pointer to a SubGhzProtocolDecoderDooya instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_dooya_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_dooya_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderDooya.
|
||||
|
||||
@@ -570,10 +570,10 @@ static void subghz_protocol_faac_slh_check_remote_controller(
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_faac_slh_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_faac_slh_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderFaacSLH* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_faac_slh_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderFaacSLH instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_faac_slh_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_faac_slh_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderFaacSLH.
|
||||
|
||||
@@ -283,10 +283,10 @@ static void subghz_protocol_gate_tx_check_remote_controller(SubGhzBlockGeneric*
|
||||
instance->btn = ((code_found_reverse >> 16) & 0x0F);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_gate_tx_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_gate_tx_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderGateTx* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_gate_tx_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a SubGhzProtocolDecoderGateTx instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_gate_tx_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_gate_tx_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderGateTx.
|
||||
|
||||
@@ -213,10 +213,10 @@ void ws_protocol_decoder_gt_wt_02_feed(void* context, bool level, uint32_t durat
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_gt_wt_02_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_gt_wt_02_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderGT_WT02* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_gt_wt_02_feed(void* context, bool level, uint32_t durat
|
||||
* @param context Pointer to a WSProtocolDecoderGT_WT02 instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_gt_wt_02_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_gt_wt_02_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderGT_WT02.
|
||||
|
||||
@@ -288,10 +288,10 @@ void ws_protocol_decoder_gt_wt_03_feed(void* context, bool level, uint32_t durat
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_gt_wt_03_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_gt_wt_03_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderGT_WT03* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_gt_wt_03_feed(void* context, bool level, uint32_t durat
|
||||
* @param context Pointer to a WSProtocolDecoderGT_WT03 instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_gt_wt_03_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_gt_wt_03_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderGT_WT03.
|
||||
|
||||
@@ -315,10 +315,10 @@ static void subghz_protocol_holtek_check_remote_controller(SubGhzBlockGeneric* i
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_holtek_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_holtek_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderHoltek* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_holtek_feed(void* context, bool level, uint32_t dur
|
||||
* @param context Pointer to a SubGhzProtocolDecoderHoltek instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_holtek_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_holtek_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderHoltek.
|
||||
|
||||
@@ -322,10 +322,10 @@ static void subghz_protocol_holtek_th12x_check_remote_controller(SubGhzBlockGene
|
||||
instance->cnt = (instance->data >> 4) & 0xFF;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_holtek_th12x_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_holtek_th12x_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderHoltek_HT12X* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_holtek_th12x_feed(void* context, bool level, uint32
|
||||
* @param context Pointer to a SubGhzProtocolDecoderHoltek_HT12X instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_holtek_th12x_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_holtek_th12x_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderHoltek_HT12X.
|
||||
|
||||
@@ -136,10 +136,10 @@ void subghz_protocol_decoder_honeywell_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_honeywell_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_honeywell_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderHoneywell* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ void subghz_protocol_decoder_honeywell_reset(void* context);
|
||||
|
||||
void subghz_protocol_decoder_honeywell_feed(void* context, bool level, uint32_t duration);
|
||||
|
||||
uint8_t subghz_protocol_decoder_honeywell_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_honeywell_get_hash_data(void* context);
|
||||
|
||||
SubGhzProtocolStatus subghz_protocol_decoder_honeywell_serialize(
|
||||
void* context,
|
||||
|
||||
@@ -337,10 +337,10 @@ static void subghz_protocol_honeywell_wdb_check_remote_controller(
|
||||
instance->lowbat = (uint8_t)((instance->generic.data >> 1) & 0x1);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_honeywell_wdb_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_honeywell_wdb_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderHoneywell_WDB* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_honeywell_wdb_feed(void* context, bool level, uint3
|
||||
* @param context Pointer to a SubGhzProtocolDecoderHoneywell_WDB instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_honeywell_wdb_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_honeywell_wdb_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderHoneywell_WDB.
|
||||
|
||||
@@ -288,10 +288,10 @@ static void subghz_protocol_hormann_check_remote_controller(SubGhzBlockGeneric*
|
||||
instance->btn = (instance->data >> 4) & 0xF;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_hormann_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_hormann_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderHormann* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_hormann_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a SubGhzProtocolDecoderHormann instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_hormann_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_hormann_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderHormann.
|
||||
|
||||
@@ -173,10 +173,10 @@ static void subghz_protocol_ido_check_remote_controller(SubGhzBlockGeneric* inst
|
||||
instance->btn = (code_fix >> 20) & 0x0F;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_ido_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_ido_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderIDo* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ void subghz_protocol_decoder_ido_feed(void* context, bool level, uint32_t durati
|
||||
* @param context Pointer to a SubGhzProtocolDecoderIDo instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_ido_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_ido_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderIDo.
|
||||
|
||||
@@ -244,10 +244,10 @@ void ws_protocol_decoder_infactory_feed(void* context, bool level, uint32_t dura
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_infactory_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_infactory_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderInfactory* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_infactory_feed(void* context, bool level, uint32_t dura
|
||||
* @param context Pointer to a WSProtocolDecoderInfactory instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_infactory_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_infactory_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderInfactory.
|
||||
|
||||
@@ -399,10 +399,10 @@ static void subghz_protocol_intertechno_v3_check_remote_controller(SubGhzBlockGe
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_intertechno_v3_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_intertechno_v3_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderIntertechno_V3* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ void subghz_protocol_decoder_intertechno_v3_feed(void* context, bool level, uint
|
||||
* @param context Pointer to a SubGhzProtocolDecoderIntertechno_V3 instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_intertechno_v3_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_intertechno_v3_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderIntertechno_V3.
|
||||
|
||||
@@ -1050,10 +1050,10 @@ static void subghz_protocol_keeloq_check_remote_controller(
|
||||
subghz_custom_btn_set_max(4);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_keeloq_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_keeloq_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderKeeloq* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ void subghz_protocol_decoder_keeloq_feed(void* context, bool level, uint32_t dur
|
||||
* @param context Pointer to a SubGhzProtocolDecoderKeeloq instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_keeloq_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_keeloq_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderKeeloq.
|
||||
|
||||
@@ -225,10 +225,10 @@ static void subghz_protocol_kia_check_remote_controller(SubGhzBlockGeneric* inst
|
||||
instance->cnt = (instance->data >> 40) & 0xFFFF;
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_kia_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_kia_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderKIA* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ void subghz_protocol_decoder_kia_feed(void* context, bool level, uint32_t durati
|
||||
* @param context Pointer to a SubGhzProtocolDecoderKIA instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_kia_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_kia_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderKIA.
|
||||
|
||||
@@ -501,10 +501,10 @@ static void subghz_protocol_kinggates_stylo_4k_remote_controller(
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_kinggates_stylo_4k_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_kinggates_stylo_4k_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderKingGates_stylo_4k* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_kinggates_stylo_4k_feed(void* context, bool level,
|
||||
* @param context Pointer to a SubGhzProtocolDecoderKingGates_stylo_4k instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_kinggates_stylo_4k_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_kinggates_stylo_4k_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderKingGates_stylo_4k.
|
||||
|
||||
@@ -276,10 +276,10 @@ void ws_protocol_decoder_lacrosse_tx_feed(void* context, bool level, uint32_t du
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_lacrosse_tx_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_lacrosse_tx_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderLaCrosse_TX* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_lacrosse_tx_feed(void* context, bool level, uint32_t du
|
||||
* @param context Pointer to a WSProtocolDecoderLaCrosse_TX instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_lacrosse_tx_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_lacrosse_tx_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderLaCrosse_TX.
|
||||
|
||||
@@ -249,10 +249,10 @@ void ws_protocol_decoder_lacrosse_tx141thbv2_feed(void* context, bool level, uin
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_lacrosse_tx141thbv2_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_lacrosse_tx141thbv2_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderLaCrosse_TX141THBv2* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_lacrosse_tx141thbv2_feed(void* context, bool level, uin
|
||||
* @param context Pointer to a WSProtocolDecoderLaCrosse_TX141THBv2 instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_lacrosse_tx141thbv2_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_lacrosse_tx141thbv2_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderLaCrosse_TX141THBv2.
|
||||
|
||||
@@ -293,10 +293,10 @@ void subghz_protocol_decoder_linear_feed(void* context, bool level, uint32_t dur
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_linear_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_linear_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderLinear* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_linear_feed(void* context, bool level, uint32_t dur
|
||||
* @param context Pointer to a SubGhzProtocolDecoderLinear instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_linear_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_linear_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderLinear.
|
||||
|
||||
@@ -304,10 +304,10 @@ void subghz_protocol_decoder_linear_delta3_feed(void* context, bool level, uint3
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_linear_delta3_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_linear_delta3_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderLinearDelta3* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8));
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_linear_delta3_feed(void* context, bool level, uint3
|
||||
* @param context Pointer to a SubGhzProtocolDecoderLinearDelta3 instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_linear_delta3_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_linear_delta3_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderLinearDelta3.
|
||||
|
||||
@@ -392,10 +392,10 @@ static void subghz_protocol_magellan_get_event_serialize(uint8_t event, FuriStri
|
||||
((event >> 7) & 0x1 ? ", ?" : ""));
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_magellan_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_magellan_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderMagellan* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_magellan_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderMagellan instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_magellan_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_magellan_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderMagellan.
|
||||
|
||||
@@ -336,10 +336,10 @@ void subghz_protocol_decoder_marantec_feed(void* context, bool level, volatile u
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_marantec_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_marantec_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderMarantec* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_marantec_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderMarantec instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_marantec_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_marantec_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderMarantec.
|
||||
|
||||
@@ -313,10 +313,10 @@ static void subghz_protocol_mastercode_check_remote_controller(SubGhzBlockGeneri
|
||||
instance->btn = (instance->data >> 2 & 0x03);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_mastercode_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_mastercode_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderMastercode* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_mastercode_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a SubGhzProtocolDecoderMastercode instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_mastercode_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_mastercode_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderMastercode.
|
||||
|
||||
@@ -374,10 +374,10 @@ static void subghz_protocol_megacode_check_remote_controller(SubGhzBlockGeneric*
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_megacode_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_megacode_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderMegaCode* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_megacode_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderMegaCode instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_megacode_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_megacode_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderMegaCode.
|
||||
|
||||
@@ -350,10 +350,10 @@ void subghz_protocol_decoder_nero_radio_feed(void* context, bool level, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_nero_radio_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_nero_radio_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderNeroRadio* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_nero_radio_feed(void* context, bool level, uint32_t
|
||||
* @param context Pointer to a SubGhzProtocolDecoderNeroRadio instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_nero_radio_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_nero_radio_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderNeroRadio.
|
||||
|
||||
@@ -321,10 +321,10 @@ void subghz_protocol_decoder_nero_sketch_feed(void* context, bool level, uint32_
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_nero_sketch_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_nero_sketch_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderNeroSketch* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_nero_sketch_feed(void* context, bool level, uint32_
|
||||
* @param context Pointer to a SubGhzProtocolDecoderNeroSketch instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_nero_sketch_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_nero_sketch_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderNeroSketch.
|
||||
|
||||
@@ -286,10 +286,10 @@ void ws_protocol_decoder_nexus_th_feed(void* context, bool level, uint32_t durat
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_nexus_th_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_nexus_th_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderNexus_TH* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void ws_protocol_decoder_nexus_th_feed(void* context, bool level, uint32_t durat
|
||||
* @param context Pointer to a WSProtocolDecoderNexus_TH instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t ws_protocol_decoder_nexus_th_get_hash_data(void* context);
|
||||
uint32_t ws_protocol_decoder_nexus_th_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data WSProtocolDecoderNexus_TH.
|
||||
|
||||
@@ -276,10 +276,10 @@ void subghz_protocol_decoder_nice_flo_feed(void* context, bool level, uint32_t d
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_nice_flo_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_nice_flo_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderNiceFlo* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void subghz_protocol_decoder_nice_flo_feed(void* context, bool level, uint32_t d
|
||||
* @param context Pointer to a SubGhzProtocolDecoderNiceFlo instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_nice_flo_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_nice_flo_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderNiceFlo.
|
||||
|
||||
@@ -693,10 +693,10 @@ static void subghz_protocol_nice_flor_s_remote_controller(
|
||||
subghz_custom_btn_set_max(4);
|
||||
}
|
||||
|
||||
uint8_t subghz_protocol_decoder_nice_flor_s_get_hash_data(void* context) {
|
||||
uint32_t subghz_protocol_decoder_nice_flor_s_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
SubGhzProtocolDecoderNiceFlorS* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ void subghz_protocol_decoder_nice_flor_s_feed(void* context, bool level, uint32_
|
||||
* @param context Pointer to a SubGhzProtocolDecoderNiceFlorS instance
|
||||
* @return hash Hash sum
|
||||
*/
|
||||
uint8_t subghz_protocol_decoder_nice_flor_s_get_hash_data(void* context);
|
||||
uint32_t subghz_protocol_decoder_nice_flor_s_get_hash_data(void* context);
|
||||
|
||||
/**
|
||||
* Serialize data SubGhzProtocolDecoderNiceFlorS.
|
||||
|
||||
@@ -295,10 +295,10 @@ void ws_protocol_decoder_oregon2_feed(void* context, bool level, uint32_t durati
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_oregon2_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_oregon2_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderOregon2* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -231,10 +231,10 @@ void ws_protocol_decoder_oregon3_feed(void* context, bool level, uint32_t durati
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ws_protocol_decoder_oregon3_get_hash_data(void* context) {
|
||||
uint32_t ws_protocol_decoder_oregon3_get_hash_data(void* context) {
|
||||
furi_assert(context);
|
||||
WSProtocolDecoderOregon3* instance = context;
|
||||
return subghz_protocol_blocks_get_hash_data(
|
||||
return subghz_protocol_blocks_get_hash_data_long(
|
||||
&instance->decoder, (instance->decoder.decode_count_bit / 8) + 1);
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user