4 #if defined(ARDUINO) && ARDUINO >= 100    14 #define INCC_BIPOLAR_DIFF     (0b000) // 00X    15 #define INCC_BIPOLAR_COM      (0b010)    16 #define INCC_TEMP             (0b011)    17 #define INCC_UNIPOLAR_DIFF    (0b100)// 10X    18 #define INCC_UNIPOLAR_REF_COM (0b110)    19 #define INCC_UNIPOLAR_REF_GND (0b111)    22 #define INT_REF_25            (0b000)    23 #define INT_REF_4096          (0b001)    24 #define EXT_REF_TEMP_ON       (0b010)    25 #define EXT_REF_TEMP_BUF      (0b011)    26 #define EXT_REF_TEMP_OFF      (0b110)    27 #define EXT_REF_TEMP_OFF_BUF  (0b111)    30 #define SEQ_OFF               (0b00)    31 #define SEQ_UPDATE            (0b01)    32 #define SEQ_SCAN_INPUT_TEMP   (0b10)    33 #define SEQ_SCAN_INPUT        (0b11)    35 #define MAX_FREQ              (38000000) // 26 ns period @ VDD 5V and VIO 3.3 - 5V    37 #define UNIPOLAR_MODE         (0)    38 #define BIPOLAR_MODE          (1)    39 #define DIFFERENTIAL_MODE     (2)    41 #define REF_INTERNAL          (0)    42 #define REF_EXTERNAL          (1)    55 #define TEMP_REF              (4.096)  // reference voltage to be used for temperature measurement, either 2.5V or 4.096V    56 #define BASE_TEMP             (25)    57 #define TEMP_BASE_VOLTAGE     (0.283)    58 #define TEMP_RICO             (0.001)    59 #define INTERNAL_25           (2.5)    60 #define INTERNAL_4096         (4.096)    61 #define TOTAL_CHANNELS        (8)    62 #define TOTAL_STEPS           (65536)    65 #define STARTUP_DELAY         (100)   107     uint16_t    shiftTransaction(uint16_t command, 
bool readback, uint16_t* rb_cmd_ptr) 
const;
   109     AD7689_conf getADCConfig(
bool default_config = 
false);
   110     float       readTemperature(
void);
   111     void        configureSequencer();
   112     void        readChannels(uint8_t channels, uint8_t mode, uint16_t* data, uint16_t* temp);
   113     float       calculateVoltage(uint16_t sample) 
const;
   114     float      calculateTemp(uint16_t temp) 
const;
   115     uint32_t   initSampleTiming(
void);
   116     void       cycleTimingBenchmark(
void);
   119     uint8_t getInputConfig(uint8_t polarity, 
bool differential) 
const;
   120     float   getNegRef(
float posR, uint8_t polarity) 
const;
   121     uint8_t getRefSrc(uint8_t refS, 
float posR) 
const;
   122     float   getPosRef(uint8_t refS, 
float posR) 
const;
   126     void enableFiltering(
bool onOff);
   127     float acquireChannel(uint8_t channel, uint32_t* timeStamp);
   128     float acquireChannel(uint8_t channel);
   129     float acquireTemperature();
 bool CFG_conf
Definition: ad7689.h:72
bool RB_conf
Definition: ad7689.h:79
AD7689_conf conf
Definition: ad7689.h:87
uint16_t tempTime
Definition: ad7689.h:99
uint16_t framePeriod
Definition: ad7689.h:97
const uint8_t refsrc
Definition: ad7689.h:91
#define TOTAL_CHANNELS
Definition: ad7689.h:61
uint16_t curTemp
Definition: ad7689.h:98
const float posref
Definition: ad7689.h:89
uint8_t REF_conf
Definition: ad7689.h:76
const float negref
Definition: ad7689.h:90
float REF_voltage
Definition: ad7689.h:78
uint8_t inputCount
Definition: ad7689.h:101
uint8_t INx_conf
Definition: ad7689.h:74
bool sequencerActive
Definition: ad7689.h:103
uint8_t INCC_conf
Definition: ad7689.h:73
const uint8_t inputConfig
Definition: ad7689.h:92
const uint8_t refConfig
Definition: ad7689.h:93
uint32_t lastSeqEndTime
Definition: ad7689.h:100
uint8_t BW_conf
Definition: ad7689.h:75
bool filterConfig
Definition: ad7689.h:104
uint8_t SEQ_conf
Definition: ad7689.h:77