| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #pragma once
- #include "../types.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct SubGhzProtocolDecoderBase SubGhzProtocolDecoderBase;
- typedef void (
- *SubGhzProtocolDecoderBaseRxCallback)(SubGhzProtocolDecoderBase* instance, void* context);
- typedef void (
- *SubGhzProtocolDecoderBaseSerialize)(SubGhzProtocolDecoderBase* decoder_base, string_t output);
- struct SubGhzProtocolDecoderBase {
- // Decoder general section
- const SubGhzProtocol* protocol;
- // Callback section
- SubGhzProtocolDecoderBaseRxCallback callback;
- void* context;
- };
- /**
- * Set a callback upon completion of successful decoding of one of the protocols.
- * @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
- * @param callback Callback, SubGhzProtocolDecoderBaseRxCallback
- * @param context Context
- */
- void subghz_protocol_decoder_base_set_decoder_callback(
- SubGhzProtocolDecoderBase* decoder_base,
- SubGhzProtocolDecoderBaseRxCallback callback,
- void* context);
- /**
- * Getting a textual representation of the received data.
- * @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
- * @param output Resulting text
- */
- bool subghz_protocol_decoder_base_get_string(
- SubGhzProtocolDecoderBase* decoder_base,
- string_t output);
- /**
- * Serialize data SubGhzProtocolDecoderBase.
- * @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
- * @param flipper_format Pointer to a FlipperFormat instance
- * @param preset The modulation on which the signal was received, SubGhzPresetDefinition
- * @return true On success
- */
- bool subghz_protocol_decoder_base_serialize(
- SubGhzProtocolDecoderBase* decoder_base,
- FlipperFormat* flipper_format,
- SubGhzPresetDefinition* preset);
- /**
- * Deserialize data SubGhzProtocolDecoderBase.
- * @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
- * @param flipper_format Pointer to a FlipperFormat instance
- * @return true On success
- */
- bool subghz_protocol_decoder_base_deserialize(
- SubGhzProtocolDecoderBase* decoder_base,
- FlipperFormat* flipper_format);
- /**
- * Getting the hash sum of the last randomly received parcel.
- * @param decoder_base Pointer to a SubGhzProtocolDecoderBase instance
- * @return hash Hash sum
- */
- uint8_t subghz_protocol_decoder_base_get_hash_data(SubGhzProtocolDecoderBase* decoder_base);
- // Encoder Base
- typedef struct SubGhzProtocolEncoderBase SubGhzProtocolEncoderBase;
- struct SubGhzProtocolEncoderBase {
- // Decoder general section
- const SubGhzProtocol* protocol;
- // Callback section
- };
- #ifdef __cplusplus
- }
- #endif
|