diff --git a/lib/subghz/protocols/nice_flor_s.c b/lib/subghz/protocols/nice_flor_s.c index 367afcc92..f259056ea 100644 --- a/lib/subghz/protocols/nice_flor_s.c +++ b/lib/subghz/protocols/nice_flor_s.c @@ -126,6 +126,7 @@ static bool instance->encoder.size_upload = size_upload; } + instance->generic.cnt++; uint64_t decrypt = instance->generic.serial << 16 | instance->generic.cnt; uint64_t temp_parcel = subghz_protocol_nice_flor_s_encrypt(decrypt, file_name); @@ -133,27 +134,27 @@ static bool static const uint64_t loops[4][32] = { - {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x0, - 0xE,0xF,0xC,0xD,0xA,0xB,0x8,0x9,0x6,0x7,0x4,0x5,0x2,0x3,0x0,0x1}, + { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x0, + 0xE, 0xF, 0xC, 0xD, 0xA, 0xB, 0x8, 0x9, 0x6, 0x7, 0x4, 0x5, 0x2, 0x3, 0x0, 0x1 }, - {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x0, - 0xD,0xC,0xF,0xE,0x9,0x8,0xB,0xA,0x5,0x4,0x7,0x6,0x1,0x0,0x3,0x2}, + { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x0, + 0xD, 0xC, 0xF, 0xE, 0x9, 0x8, 0xB, 0xA, 0x5, 0x4, 0x7, 0x6, 0x1, 0x0, 0x3, 0x2 }, - {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x0, - 0xB,0xA,0x9,0x8,0xF,0xE,0xD,0xC,0x3,0x2,0x1,0x0,0x7,0x6,0x5,0x4}, + { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x0, + 0xB, 0xA, 0x9, 0x8, 0xF, 0xE, 0xD, 0xC, 0x3, 0x2, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4 }, - {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x0, - 0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0xF,0xE,0xD,0xC,0xB,0xA,0x9,0x8} + { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x0, + 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0, 0xF, 0xE, 0xD, 0xC, 0xB, 0xA, 0x9, 0x8 } }; if (btn == 0x1) { - instance->generic.data = btn << 4 | (0xF ^ btn ^ loops[0][i]) << 4 | temp_parcel; + instance->generic.data = ((btn << 4) | ((0xF ^ btn ^ loops[0][i]) << 4) | temp_parcel); } else if (btn == 0x2) { - instance->generic.data = btn << 4 | (0xF ^ btn ^ loops[1][i]) << 4 | temp_parcel; + instance->generic.data = ((btn << 4) | ((0xF ^ btn ^ loops[1][i]) << 4) | temp_parcel); } else if (btn == 0x4) { - instance->generic.data = btn << 4 | (0xF ^ btn ^ loops[2][i]) << 4 | temp_parcel; + instance->generic.data = ((btn << 4) | ((0xF ^ btn ^ loops[2][i]) << 4) | temp_parcel); } else if (btn == 0x8) { - instance->generic.data = btn << 4 | (0xF ^ btn ^ loops[3][i]) << 4 | temp_parcel; + instance->generic.data = ((btn << 4) | ((0xF ^ btn ^ loops[3][i]) << 4) | temp_parcel); } //Send header for(uint8_t i = 35; i > 0; i--) {