X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fnet%2Fafsk.h;h=4db5fe42ab1ee7cd23c91c767729f060a24516db;hb=99176a7ff060c88b8261d7f7f0a44e72c6d45aeb;hp=4a040fd9f4efb68e6cf6b3e951f936abcd848b6e;hpb=ffc60adf95aa2e09cb0013242790c761a0bf594c;p=bertos.git diff --git a/bertos/net/afsk.h b/bertos/net/afsk.h index 4a040fd9..4db5fe42 100644 --- a/bertos/net/afsk.h +++ b/bertos/net/afsk.h @@ -81,6 +81,10 @@ typedef struct Hdlc bool rxstart; ///< True if an HDLC_FLAG char has been found in the bitstream. } Hdlc; +/** + * RX FIFO buffer full error. + */ +#define AFSK_RXFIFO_OVERRUN BV(0) /** * AFSK1200 modem context. @@ -165,6 +169,12 @@ typedef struct Afsk /** True while modem sends data */ volatile bool sending; + /** + * AFSK modem status. + * If 0 all is ok, otherwise errors are present. + */ + volatile int status; + /** Hdlc context */ Hdlc hdlc; @@ -193,38 +203,14 @@ INLINE Afsk *AFSK_CAST(KFile *fd) return (Afsk *)fd; } -/** - * ADC ISR callback. - * This function has to be called by the ADC ISR when a sample of the configured - * channel is available. - * \param af Afsk context to operate one (\see Afsk). - * \param sample current sample from the ADC. - */ -void afsk_adc_isr(Afsk *af, int8_t sample); - -/** - * DAC ISR callback. - * This function has to be called by the DAC ISR when a sample of the configured - * channel has been converted out. - * - * \param af Afsk context to operate one (\see Afsk). - * - * \note The next DAC output sample is supplied by the Afsk driver through calling - * the AFSK_DAC_SET() callback. - */ -void afsk_dac_isr(Afsk *af); -/** - * Initialize an AFSK1200 modem. - * \param af Afsk context to operate one (\see Afsk). - * \param adc_ch ADC channel used by the demodulator. - * \param dac_ch DAC channel used by the modulator. - */ +void afsk_adc_isr(Afsk *af, int8_t sample); +uint8_t afsk_dac_isr(Afsk *af); void afsk_init(Afsk *af, int adc_ch, int dac_ch); /** - * \name afsk filter type + * \name Afsk filter types. * $WIZ$ afsk_filter_list = "AFSK_BUTTERWORTH", "AFSK_CHEBYSHEV" * \{ */