AEM
adcMgr.h
Go to the documentation of this file.
1 #ifndef ADCMGR_H
2 #define ADCMGR_H
3 
4 #include <Arduino.h>
5 #include "config.h"
6 #include "yADC.h"
7 #include "timeStamper.h"
8 #include "yspi.h"
9 #include "utilities.h"
10 
11 
12 
18 class ADCMgr{ // each instance will manage the test of one ADC
19  protected:
20 
21  // member variables assigned during instatiation or execution
22  YADC *adc;
23  boolean usingUSARTSPI = true;
24  const uint8_t adcID;
29  virtual void doSelfTest() const = 0;
30 
34  virtual YSPI* usartInit() const = 0;
35 
39  virtual YSPI* hwInit() const = 0;
40 
41  public:
42  const uint8_t nbChannels;
48  virtual float getValue(uint8_t channel) const = 0;
49 
55  ADCMgr(uint8_t id,uint8_t nbChan);
56 };
57 
58 
61 class YADCMgr : public ADCMgr{
62  protected:
63  const uint8_t AD7689_SS_pin = ADCMGR_SS_PIN;
68  void doSelfTest() const;
69 
73  YSPI* usartInit() const;
74 
75 
79  YSPI* hwInit() const;
80 
81 
82  public:
86  YADCMgr(uint8_t id,uint8_t nbChan);
87 
91  virtual float getValue(uint8_t channel) const;
92 
93 };
94 #endif
95 
96 
const uint8_t adcID
Definition: adcMgr.h:24
virtual YSPI * hwInit() const =0
virtual void doSelfTest() const =0
virtual YSPI * usartInit() const =0
const uint8_t nbChannels
Definition: adcMgr.h:42
ADCMgr(uint8_t id, uint8_t nbChan)
Definition: adcMgr.cpp:6
Definition: yspi.h:34
Definition: adcMgr.h:61
boolean usingUSARTSPI
Definition: adcMgr.h:23
Definition: adcMgr.h:18
virtual float getValue(uint8_t channel) const =0
YADC * adc
Definition: adcMgr.h:22
Definition: yADC.h:17
#define ADCMGR_SS_PIN
Definition: config.h:63