unleashed-firmware/lib/subghz/blocks/math.c
Skorpionm a39111ade2
[FL-2723] SubGhz: add protocol Honeywell_WDB / Doorbell (#1560)
* SubGhz: add protocol Honeywell_WDB (receive/save/load/transfer)
* SubGhz: add  parsing data honeywell
* SubGhz: fix UI CAME TWEE
* SubGhz: add unit_test honeywell_wdb

Co-authored-by: あく <alleteam@gmail.com>
2022-08-11 21:20:31 +09:00

17 lines
No EOL
480 B
C

#include "math.h"
uint64_t subghz_protocol_blocks_reverse_key(uint64_t key, uint8_t count_bit) {
uint64_t key_reverse = 0;
for(uint8_t i = 0; i < count_bit; i++) {
key_reverse = key_reverse << 1 | bit_read(key, i);
}
return key_reverse;
}
uint8_t subghz_protocol_blocks_get_parity(uint64_t key, uint8_t count_bit) {
uint8_t parity = 0;
for(uint8_t i = 0; i < count_bit; i++) {
parity += bit_read(key, i);
}
return parity & 0x01;
}