Herzog Library 00.00.01  rel_libdev.herzog.00.00.01.10606
rx_device.h
Go to the documentation of this file.
1 
12 #ifndef __RX_DEVICE_H__
13 #define __RX_DEVICE_H__
14 
15 #include "hdf.h"
16 #include "rf_codec.h"
17 
18 typedef const struct RX_Device_t RX_Device_Type;
19 typedef void (*rx_cb_func_t)(RX_Device_Type *dev);
20 
24 typedef struct {
27  uint8_t buffer_size;
28  uint8_t buffer[RX_BUFF_SIZE];
31 
35 typedef const struct RX_Device_t {
36  int32_t (*Init)(uint8_t bytes, DCM_FMT_t fmt);
37  int32_t (*Stop)(void);
38  int32_t (*GetReceivedData)(uint8_t *data, uint8_t size);
39  int32_t (*RegisterMsgIRQ)(void *cb);
40  int32_t (*UnregisterMsgIRQ)(void);
41  char *Name;
44 } RX_Device_t;
45 
52 
61 int32_t RX_devInit(RX_Device_t *dev, uint8_t bytes, DCM_FMT_t fmt);
62 
71 int32_t RX_devGetReceivedData(RX_Device_t *dev, uint8_t *data, uint32_t len);
72 
79 int32_t RX_devStop(RX_Device_t *dev);
80 
88 int32_t RX_devRegisterCallback(RX_Device_t *dev, void *cb);
89 
97 
98 #endif /* __RX_DEVICE_H__ */
rx_cb_func_t cb
Definition: rx_device.h:29
RX_Device_t * RX_devRequest(void)
Request a RX device.
Definition: rx_device.c:104
int32_t(* UnregisterMsgIRQ)(void)
Definition: rx_device.h:40
uint8_t buffer_size
Definition: rx_device.h:27
int32_t RX_devGetReceivedData(RX_Device_t *dev, uint8_t *data, uint32_t len)
Send data to RX device.
Definition: rx_device.c:151
enum IRQn IRQn_Type
The enumeration of Interrupt Number Assignments.
void(* rx_cb_func_t)(RX_Device_Type *dev)
Definition: rx_device.h:19
int32_t(* RegisterMsgIRQ)(void *cb)
Definition: rx_device.h:39
RX_Dev_State_t * state
Definition: rx_device.h:43
int32_t RX_devInit(RX_Device_t *dev, uint8_t bytes, DCM_FMT_t fmt)
Initialize RX device.
Definition: rx_device.c:144
A structure to represent RX device driver.
Definition: rx_device.h:35
IRQn_Type IRQ
Definition: rx_device.h:42
const struct RX_Device_t RX_Device_t
A structure to represent RX device driver.
DCM_FMT_t format
Definition: rx_device.h:25
int32_t RX_devStop(RX_Device_t *dev)
Stop Receiver.
Definition: rx_device.c:158
int32_t RX_devUnregisterCallback(RX_Device_t *dev)
Un-Register a call back function to RX device driver.
Definition: rx_device.c:172
int32_t RX_devRegisterCallback(RX_Device_t *dev, void *cb)
Register a call back function to RX device driver.
Definition: rx_device.c:165
DCM_FMT_t
The enum for the duty-cycle modulation format.
Definition: rf_codec.h:20
int32_t(* Init)(uint8_t bytes, DCM_FMT_t fmt)
Definition: rx_device.h:36
int32_t(* GetReceivedData)(uint8_t *data, uint8_t size)
Definition: rx_device.h:38
A structure to represent RX device state.
Definition: rx_device.h:24
#define RX_BUFF_SIZE
Definition: rx_sfrs.h:15
char * Name
Definition: rx_device.h:41
uint8_t message_frame_size
Definition: rx_device.h:26
int32_t(* Stop)(void)
Definition: rx_device.h:37