9#ifndef ARDUINO_AFE_DRIVER_H
10#define ARDUINO_AFE_DRIVER_H
28 AFE_base(
int nINT,
int DRDY,
int SYN,
int nRESET );
39 virtual void begin(
void );
42 virtual void boot(
void ) = 0;
45 virtual void reset(
bool hardware_reset =
false ) = 0;
55 virtual void logical_ch_config(
int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3 ) = 0;
97 virtual void start(
int ch ) = 0;
146 virtual void boot(
void );
149 virtual void reset(
bool hardware_reset =
false );
159 virtual void logical_ch_config(
int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3 );
188 virtual void start(
int ch );
357 return T(
static_cast<uint16_t
>( rn ) + n );
363 return T( n +
static_cast<uint16_t
>( rn ) );
370 virtual void command( uint16_t com );
410 uint32_t
bit_op( T rg, uint32_t mask, uint32_t value )
412 uint32_t v =
reg( rg );
464 void recalibrate(
int pga_gain_index,
int channel_selection = 15,
int input_select = 0,
double reference_source_voltage = 0,
bool use_positive_side =
true );
474 NAFE13388(
int nINT = 2,
int DRDY = 3,
int SYN = 5,
int nRESET = 6 );
484 NAFE13388_UIM(
int nINT = 3,
int DRDY = 4,
int SYN = 6,
int nRESET = 7 );
virtual void logical_ch_config(int ch, const uint16_t(&cc)[4])=0
static constexpr float default_delay
virtual void logical_ch_config(int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3)=0
virtual void logical_ch_disable(int ch)=0
virtual void reset(bool hardware_reset=false)=0
int bit_count(uint32_t value)
virtual void start(int ch)=0
void start_and_delay(int ch, float delay)
AFE_base(int nINT, int DRDY, int SYN, int nRESET)
static constexpr float immidiate_read
static double delay_accuracy
T read(int ch, float delay=default_delay)
virtual void boot(void)=0
virtual int32_t adc_read(int ch)=0
virtual int32_t adc_read(int ch)
void gain_offset_coeff(const ref_points &ref)
double calc_delay(int ch)
virtual void command(uint16_t com)
uint32_t bit_op(T rg, uint32_t mask, uint32_t value)
struct NAFE13388_Base::_ref_points ref_points
friend T operator+(const T &rn, const int n)
friend T operator+(const int n, const T &rn)
virtual void logical_ch_config(int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3)
virtual void reg(Register16 r, uint16_t value)
struct NAFE13388_Base::_reference_point reference_point
void recalibrate(int pga_gain_index, int channel_selection=15, int input_select=0, double reference_source_voltage=0, bool use_positive_side=true)
uint8_t revision_number(void)
NAFE13388_Base(int nINT, int DRDY, int SYN, int nRESET)
uint64_t serial_number(void)
virtual void logical_ch_disable(int ch)
virtual ~NAFE13388_Base()
virtual void reset(bool hardware_reset=false)
uint32_t part_number(void)
virtual void start(int ch)
NAFE13388_UIM(int nINT=3, int DRDY=4, int SYN=6, int nRESET=7)
NAFE13388(int nINT=2, int DRDY=3, int SYN=5, int nRESET=6)