9#ifndef ARDUINO_AFE_DRIVER_H
10#define ARDUINO_AFE_DRIVER_H
37 virtual void begin(
void );
40 virtual void boot(
void ) = 0;
128#ifdef NON_TEMPLATE_VERSION_FOR_START_AND_READ
253 virtual void init(
void );
312 virtual void boot(
void );
375 virtual void start(
void );
424 return 2.00 * (
v + 1.50);
427 return 32.00 * (
v + 0.25);
430 return -32.00 * (
v - 0.25);
NAFE13388_Base::Register16 operator+(NAFE13388_Base::Register16 rn, int n)
virtual void enable_logical_channel(int ch)=0
virtual void start_continuous_conversion(void)=0
static AFE_base * instance
static callback_fp_t cbf_DRDY
virtual void close_logical_channel(void)=0
void use_DRDY_trigger(bool use=true)
virtual void open_logical_channel(int ch, const uint16_t(&cc)[4])=0
virtual double raw2v(int ch, raw_t value)=0
virtual void read(volt_t *data_ptr)=0
virtual void set_DRDY_callback(callback_fp_t fnc)
static constexpr uint32_t timeout_limit
virtual void open_logical_channel(int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3)=0
double drdy_delay(int ch)
double raw2mv(int ch, raw_t value)
int enabled_logical_channels(void)
virtual void reset(bool hardware_reset=false)=0
int bit_count(uint32_t value)
virtual void read(raw_t *data_ptr)=0
virtual void start(int ch)=0
double raw2uv(int ch, raw_t value)
void(* callback_fp_t)(void)
virtual raw_t start_and_read(int ch)
uint8_t sequence_order[16]
static void static_default_drdy_cb()
virtual void start(void)=0
int wait_conversion_complete(double delay=-1.0)
virtual void close_logical_channel(int ch)=0
static double delay_accuracy
virtual void boot(void)=0
void start_and_read(T data)
virtual raw_t read(int ch)=0
virtual void DRDY_by_sequencer_done(bool flag=true)=0
virtual ~LogicalChannel_Base()
friend double operator-(T v, LogicalChannel_Base lc)
friend double operator/(T v, LogicalChannel_Base lc)
friend double operator*(T v, LogicalChannel_Base lc)
friend double operator+(T v, LogicalChannel_Base lc)
virtual ~LogicalChannel()
void configure(const uint16_t(&cc)[4])
virtual void start_continuous_conversion()
double raw2v(int ch, raw_t value)
void gain_offset_coeff(const ref_points &ref)
double calc_delay(int ch)
virtual void command(uint16_t com)
virtual raw_t read(int ch)
LogicalChannel logical_channel[16]
uint32_t bit_op(T rg, uint32_t mask, uint32_t value)
int self_calibrate(int pga_gain_index, int channel_selection=15, int input_select=0, double reference_source_voltage=0, bool use_positive_side=true)
struct NAFE13388_Base::_ref_points ref_points
virtual void reg(Register16 r, uint16_t value)
struct NAFE13388_Base::_reference_point reference_point
uint8_t revision_number(void)
virtual void close_logical_channel(void)
virtual void DRDY_by_sequencer_done(bool flag=true)
uint64_t serial_number(void)
void channel_info_update(uint16_t value)
virtual ~NAFE13388_Base()
void enable_logical_channel(int ch)
virtual void reset(bool hardware_reset=false)
uint32_t part_number(void)
virtual void open_logical_channel(int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t cc3)