X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=bertos%2Fnet%2Fafsk.h;h=b23ba63dde1016e4ed0fb101ddf19066efab4e66;hb=69189320a33089d77c2623698c583a7a0fc48702;hp=020b2f9618a5f0f02f7bf89a0166f67d0f108a58;hpb=3e7de48cbdf0a6c043a0836de2fcc41af5265dce;p=bertos.git diff --git a/bertos/net/afsk.h b/bertos/net/afsk.h index 020b2f96..b23ba63d 100644 --- a/bertos/net/afsk.h +++ b/bertos/net/afsk.h @@ -32,8 +32,7 @@ * * \brief AFSK1200 modem. * - * \version $Id$ - * \author Francesco Sacchi + * \author Francesco Sacchi * * $WIZ$ module_name = "afsk" * $WIZ$ module_configuration = "bertos/cfg/cfg_afsk.h" @@ -41,14 +40,16 @@ * $WIZ$ module_hw = "bertos/hw/hw_afsk.h" */ -#ifndef DRV_AFSK_H -#define DRV_AFSK_H +#ifndef NET_AFSK_H +#define NET_AFSK_H #include "cfg/cfg_afsk.h" #include "hw/hw_afsk.h" -#include #include + +#include + #include @@ -81,6 +82,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 +170,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; @@ -177,7 +188,7 @@ typedef struct Afsk uint16_t preamble_len; /** - * Preamble length. + * Trailer length. * After sending the actual data, the AFSK shifts out * trailer_len HDLC_FLAG characters. * This helps to synchronize the demodulator filters on the receiver side. @@ -195,12 +206,12 @@ INLINE Afsk *AFSK_CAST(KFile *fd) void afsk_adc_isr(Afsk *af, int8_t sample); -void afsk_dac_isr(Afsk *af); +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" * \{ */ @@ -212,4 +223,4 @@ int afsk_testSetup(void); int afsk_testRun(void); int afsk_testTearDown(void); -#endif +#endif /* NET_AFSK_H */