| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #pragma once
- #include <stdint.h>
- #include <stdbool.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct FSKDemod FSKDemod;
- /**
- * @brief Allocate a new FSKDemod instance
- * FSKDemod is a demodulator that can decode FSK encoded data
- *
- * @param low_time time between rising edges for the 0 bit
- * @param low_pulses rising edges count for the 0 bit
- * @param hi_time time between rising edges for the 1 bit
- * @param hi_pulses rising edges count for the 1 bit
- * @return FSKDemod*
- */
- FSKDemod*
- fsk_demod_alloc(uint32_t low_time, uint32_t low_pulses, uint32_t hi_time, uint32_t hi_pulses);
- /**
- * @brief Free a FSKDemod instance
- *
- * @param fsk_demod
- */
- void fsk_demod_free(FSKDemod* fsk_demod);
- /**
- * @brief Feed sample to demodulator
- *
- * @param demod FSKDemod instance
- * @param polarity sample polarity
- * @param time sample time
- * @param value demodulated bit value
- * @param count demodulated bit count
- */
- void fsk_demod_feed(FSKDemod* demod, bool polarity, uint32_t time, bool* value, uint32_t* count);
- #ifdef __cplusplus
- }
- #endif
|