mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-30 08:20:21 +00:00
ffa3996a5e
* clang-format: AllowShortEnumsOnASingleLine: false * clang-format: InsertNewlineAtEOF: true * clang-format: Standard: c++20 * clang-format: AlignConsecutiveBitFields * clang-format: AlignConsecutiveMacros * clang-format: RemoveParentheses: ReturnStatement * clang-format: RemoveSemicolon: true * Restored RemoveParentheses: Leave, retained general changes for it * formatting: fixed logging TAGs * Formatting update for dev Co-authored-by: あく <alleteam@gmail.com>
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct SubGhzBlockDecoder SubGhzBlockDecoder;
|
|
|
|
struct SubGhzBlockDecoder {
|
|
uint32_t parser_step;
|
|
uint32_t te_last;
|
|
uint64_t decode_data;
|
|
uint8_t decode_count_bit;
|
|
};
|
|
|
|
/**
|
|
* Add data bit when decoding.
|
|
* @param decoder Pointer to a SubGhzBlockDecoder instance
|
|
* @param bit data, 1bit
|
|
*/
|
|
void subghz_protocol_blocks_add_bit(SubGhzBlockDecoder* decoder, uint8_t bit);
|
|
|
|
/**
|
|
* Add data to_128 bit when decoding.
|
|
* @param decoder Pointer to a SubGhzBlockDecoder instance
|
|
* @param head_64_bit Pointer to a head_64_bit
|
|
* @param bit data, 1bit
|
|
*/
|
|
void subghz_protocol_blocks_add_to_128_bit(
|
|
SubGhzBlockDecoder* decoder,
|
|
uint8_t bit,
|
|
uint64_t* head_64_bit);
|
|
|
|
/**
|
|
* Getting the hash sum of the last randomly received parcel.
|
|
* @param decoder Pointer to a SubGhzBlockDecoder instance
|
|
* @return hash Hash sum
|
|
*/
|
|
uint8_t subghz_protocol_blocks_get_hash_data(SubGhzBlockDecoder* decoder, size_t len);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|