embeddedlibrary
reusable software modules for embedded systems
daq.h
1 /*
2  * DAq.h
3  *
4  * Created on: Mar 27, 2015
5  * Author: Bradley Ebinger
6  */
7 
8 #ifndef INCLUDE_DAQ_H_
9 #define INCLUDE_DAQ_H_
10 
11 #define DAQ_BUFFER_SIZE 32
12 
16 typedef enum {
17  TYPE_UINT8,
18  TYPE_UINT16,
19  TYPE_UINT32,
20  TYPE_FLOAT
21 } daq_data_type_t;
22 
26 typedef enum {
27  FREQ_KHZ,
28  FREQ_MHZ,
29  FREQ_GHZ
30 } daq_freq_factor_t;
31 
37 typedef void(*data_ready_cb)(void);
38 typedef struct {
39  uint8_t ID;
40  data_ready_cb cb;
41  // Define signal characteristics
42  daq_freq_factor_t sampFreqFactor;
43  float sampFreq;
44  daq_data_type_t dataType;
45  // Data Buffer
46  uint8_t bufferLength;
47  uint8_t *dataBuffer;
49 
53 void DAQ_init(void);
54 
60 void DAQ_RegisterDevice(daq_id_data_t *device);
61 
67 void DAQ_AcquireData(daq_id_data_t *device, uint8_t *data, uint8_t dataLen);
68 
72 void DAQ_ForceDataDump(daq_id_data_t *device);
73 
77 void DAQ_UpdateTick(void);
78 
79 #endif /* INCLUDE_DAQ_H_ */
Definition: daq.h:38