mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2025-10-10 15:12:41 +02:00
222 lines
6.4 KiB
C
222 lines
6.4 KiB
C
#pragma once
|
|
|
|
#include "../types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderSecPlus_v2 instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 32 bit
|
|
* @param btn Button number, 8 bit
|
|
* @param cnt Container value, 28 bit
|
|
* @param manufacture_name Name of manufacturer's key
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_secplus_v2_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint32_t cnt,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderKeeloq instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 28 bit
|
|
* @param btn Button number, 4 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param manufacture_name Name of manufacturer's key
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_keeloq_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
const char* manufacture_name,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation for BFT.
|
|
* @param context Pointer to a SubGhzProtocolEncoderKeeloq instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 28 bit
|
|
* @param btn Button number, 4 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param seed Seed value, 32 bit
|
|
* @param manufacture_name Name of manufacturer's key
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_keeloq_bft_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
uint32_t seed,
|
|
const char* manufacture_name,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderFaacSLH instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 28 bit
|
|
* @param btn Button number, 4 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param seed Seed value, 32 bit
|
|
* @param manufacture_name Name of manufacturer's key
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_faac_slh_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint32_t cnt,
|
|
uint32_t seed,
|
|
const char* manufacture_name,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderAlutech_at_4n instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 24 bit
|
|
* @param btn Button number, 8 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_alutech_at_4n_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderCameAtomo instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 24 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_came_atomo_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint16_t cnt,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* New remote generation.
|
|
* @param context Pointer to a SubGhzProtocolEncoderNiceFlorS instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number
|
|
* @param btn Button number, 4 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @param nice_one Nice One if true, Nice Flor S if false
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_nice_flor_s_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
SubGhzRadioPreset* preset,
|
|
bool nice_one);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderStarLine instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 24 bit
|
|
* @param btn Button number, 8 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param manufacture_name Name of manufacturer's key
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_star_line_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
const char* manufacture_name,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderSomfyTelis instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 24 bit
|
|
* @param btn Button number, 8 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_somfy_telis_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
/**
|
|
* Key generation from simple data.
|
|
* @param context Pointer to a SubGhzProtocolEncoderSomfyKeytis instance
|
|
* @param flipper_format Pointer to a FlipperFormat instance
|
|
* @param serial Serial number, 24 bit
|
|
* @param btn Button number, 8 bit
|
|
* @param cnt Counter value, 16 bit
|
|
* @param preset Modulation, SubGhzRadioPreset
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_somfy_keytis_create_data(
|
|
void* context,
|
|
FlipperFormat* flipper_format,
|
|
uint32_t serial,
|
|
uint8_t btn,
|
|
uint16_t cnt,
|
|
SubGhzRadioPreset* preset);
|
|
|
|
typedef struct SubGhzProtocolDecoderBinRAW SubGhzProtocolDecoderBinRAW;
|
|
|
|
void subghz_protocol_decoder_bin_raw_data_input_rssi(
|
|
SubGhzProtocolDecoderBinRAW* instance,
|
|
float rssi);
|
|
|
|
/**
|
|
* Validation of fixed parts SubGhzProtocolDecoderSecPlus_v1.
|
|
* @param fixed fixed parts
|
|
* @return true On success
|
|
*/
|
|
bool subghz_protocol_secplus_v1_check_fixed(uint32_t fixed);
|
|
|
|
// Reset prog mode vars
|
|
// TODO: Remake in proper way
|
|
void faac_slh_reset_prog_mode(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|