[FL-2934] WS: add protocol Acurite 592TXR (#1916)

* WS: add protocol Acurite 592TXR
* WS: fix decoder Acurite_592TXR
* SubGhz: proper types in math

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Skorpionm
2022-10-26 18:56:54 +04:00
committed by GitHub
parent 406d830fb6
commit 378bf05068
8 changed files with 455 additions and 2 deletions

View File

@@ -216,4 +216,34 @@ uint16_t subghz_protocol_blocks_lfsr_digest16(
}
}
return sum;
}
uint8_t subghz_protocol_blocks_add_bytes(uint8_t const message[], size_t num_bytes) {
int result = 0;
for(size_t i = 0; i < num_bytes; ++i) {
result += message[i];
}
return (uint8_t)result;
}
int subghz_protocol_blocks_parity8(uint8_t byte) {
byte ^= byte >> 4;
byte &= 0xf;
return (0x6996 >> byte) & 1;
}
int subghz_protocol_blocks_parity_bytes(uint8_t const message[], size_t num_bytes) {
int result = 0;
for(size_t i = 0; i < num_bytes; ++i) {
result ^= subghz_protocol_blocks_parity8(message[i]);
}
return result;
}
uint8_t subghz_protocol_blocks_xor_bytes(uint8_t const message[], size_t num_bytes) {
uint8_t result = 0;
for(size_t i = 0; i < num_bytes; ++i) {
result ^= message[i];
}
return result;
}