1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 12:42:30 +04:00

Fix counter

This commit is contained in:
MX
2023-02-25 23:25:32 +03:00
parent 4dbb55d740
commit 172c0e077f
10 changed files with 50 additions and 10 deletions

View File

@@ -286,7 +286,11 @@ static bool subghz_protocol_alutech_at_4n_gen_data(
} }
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -136,7 +136,11 @@ static void
uint8_t pack[8] = {}; uint8_t pack[8] = {};
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -110,7 +110,11 @@ void subghz_protocol_encoder_faac_slh_free(void* context) {
} }
static bool subghz_protocol_faac_slh_gen_data(SubGhzProtocolEncoderFaacSLH* instance) { static bool subghz_protocol_faac_slh_gen_data(SubGhzProtocolEncoderFaacSLH* instance) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
uint32_t fix = instance->generic.serial << 4 | instance->generic.btn; uint32_t fix = instance->generic.serial << 4 | instance->generic.btn;
uint32_t hop = 0; uint32_t hop = 0;
uint32_t decrypt = 0; uint32_t decrypt = 0;

View File

@@ -160,7 +160,11 @@ static bool subghz_protocol_keeloq_gen_data(
bool counter_up) { bool counter_up) {
if(counter_up) { if(counter_up) {
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -156,7 +156,11 @@ static bool subghz_protocol_kinggates_stylo_4k_gen_data(
instance->generic.cnt = decrypt & 0xFFFF; instance->generic.cnt = decrypt & 0xFFFF;
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -136,7 +136,11 @@ static void subghz_protocol_encoder_nice_flor_s_get_upload(
} }
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -379,7 +379,11 @@ static void subghz_protocol_secplus_v2_encode(SubGhzProtocolEncoderSecPlus_v2* i
uint8_t roll_1[9] = {0}; uint8_t roll_1[9] = {0};
uint8_t roll_2[9] = {0}; uint8_t roll_2[9] = {0};
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
//ToDo it is not known what value the counter starts //ToDo it is not known what value the counter starts
if(instance->generic.cnt > 0xFFFFFFF) instance->generic.cnt = 0xE500000; if(instance->generic.cnt > 0xFFFFFFF) instance->generic.cnt = 0xE500000;
uint32_t rolling = subghz_protocol_blocks_reverse_key(instance->generic.cnt, 28); uint32_t rolling = subghz_protocol_blocks_reverse_key(instance->generic.cnt, 28);

View File

@@ -131,7 +131,11 @@ static bool
instance->generic.serial = data & 0xFFFFFF; instance->generic.serial = data & 0xFFFFFF;
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -104,7 +104,11 @@ static bool
instance->generic.serial = data & 0xFFFFFF; // address instance->generic.serial = data & 0xFFFFFF; // address
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }

View File

@@ -139,7 +139,11 @@ void subghz_protocol_encoder_star_line_free(void* context) {
static bool static bool
subghz_protocol_star_line_gen_data(SubGhzProtocolEncoderStarLine* instance, uint8_t btn) { subghz_protocol_star_line_gen_data(SubGhzProtocolEncoderStarLine* instance, uint8_t btn) {
if(instance->generic.cnt < 0xFFFF) { if(instance->generic.cnt < 0xFFFF) {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult(); if((instance->generic.cnt + furi_hal_subghz_get_rolling_counter_mult()) >= 0xFFFF) {
instance->generic.cnt = 0;
} else {
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
}
} else if(instance->generic.cnt >= 0xFFFF) { } else if(instance->generic.cnt >= 0xFFFF) {
instance->generic.cnt = 0; instance->generic.cnt = 0;
} }