|
AFE_NXP_Arduino 2.0.1
Analog Front-End (AFE) device operation sample code for Arduino
|
#include <NAFE33352.h>
Public Member Functions | |
| NAFE33352_UIOM (bool spi_addr=0, bool highspeed_variant=false, int nINT=7, int DRDY=4, int SYN=14, int nRESET=14, int DRDY_input=2, int SYNCDAC=14) | |
| virtual | ~NAFE33352_UIOM () |
| Public Member Functions inherited from NAFE33352_Base | |
| NAFE33352_Base (bool spi_addr, bool highspeed_variant, int nINT, int DRDY, int SYN, int nRESET, int DRDY_input, int SYNCDAC) | |
| virtual | ~NAFE33352_Base () |
| virtual void | boot (void) |
| virtual void | reset (bool hardware_reset=false) |
| virtual void | open_logical_channel (int ch, uint16_t cc0, uint16_t cc1, uint16_t cc2, uint16_t dummy) |
| virtual void | open_logical_channel (int ch, const uint16_t(&cc)[4]) |
| void | open_dac_output (const uint16_t(&cc)[6]) |
| virtual void | close_logical_channel (int ch) |
| virtual void | close_logical_channel (void) |
| void | enable_logical_channel (int ch) |
| virtual void | start (int ch) |
| virtual void | start (void) |
| virtual void | start_continuous_conversion () |
| virtual void | DRDY_by_sequencer_done (bool flag=true) |
| virtual raw_t | read (int ch) |
| virtual void | read (raw_t *data) |
| virtual void | read (volt_t *data) |
| double | raw2v (int ch, raw_t value) |
| virtual void | dac_out (double vi, double full_scale, uint8_t bit_length) |
| int32_t | dac_code (double a, double full_scale, uint8_t bit_length) |
| virtual void | command (uint16_t com) |
| virtual void | reg (Register16 r, uint16_t value) |
| virtual void | reg (Register24 r, uint32_t value) |
| virtual uint16_t | reg (Register16 r) |
| virtual uint32_t | reg (Register24 r) |
| template<typename T> | |
| uint32_t | bit_op (T rg, uint32_t mask, uint32_t value) |
| uint64_t | part_number (void) |
| uint8_t | revision_number (void) |
| uint64_t | serial_number (void) |
| float | temperature (void) |
| Public Member Functions inherited from AFE_base | |
| AFE_base (bool spi_addr, bool highspeed_variant, int nINT, int DRDY, int SYN, int nRESET, int DRDY_input, int SYNCDAC) | |
| virtual | ~AFE_base () |
| virtual void | begin (void) |
| virtual void | set_DRDY_callback (callback_fp_t fnc) |
| virtual raw_t | start_and_read (int ch) |
| template<typename T> | |
| void | start_and_read (T data) |
| double | raw2uv (int ch, raw_t value) |
| double | raw2mv (int ch, raw_t value) |
| double | drdy_delay (int ch) |
| double | drdy_delay (void) |
| int | enabled_logical_channels (void) |
| void | use_DRDY_trigger (bool use=true) |
| Public Member Functions inherited from SPI_for_AFE | |
| void | txrx (uint8_t *data, int size) |
| void | write_r16 (uint16_t reg) |
| void | write_r16 (uint16_t reg, uint16_t val) |
| uint16_t | read_r16 (uint16_t reg) |
| void | write_r24 (uint16_t reg, uint32_t val) |
| int32_t | read_r24 (uint16_t reg) |
| void | burst (uint32_t *data, int length, int width=3) |
Additional Inherited Members | |
| Public Types inherited from NAFE33352_Base | |
| enum | IN_SEL : uint8_t { VCM_VCM = 0 , AIP_AIN , AIP_VSNS , GPIO0_GPIO1 , AIP , AIN , ISNS , VSNS , TIA , GPIO0_VCM , VCM_GPIO1 , REF_BYP__VCM , VCM__REF_BYP , BG , VADD , LDO , VHDD , VHSS , DAC_REF } |
| enum | GainPGA : uint8_t { G_PGA_x_1_0 , G_PGA_x16_0 } |
| enum class | Register16 : uint16_t { CRC_CONF_REGS = 0x20 , CRC_COEF_REGS = 0x21 , CRC_TRIM_REGS = 0x22 , CRC_TRIM_REF = 0x3F , GPI_DATA = 0x23 , GPO_ENABLE = 0x24 , GPIO_FUNCTION = 0x25 , GPI_ENABLE = 0x26 , GPI_EDGE_POS = 0x27 , GPI_EDGE_NEG = 0x28 , GPO_DATA = 0x29 , SYS_CONFIG = 0x2A , SYS_STATUS = 0x2B , CK_SRC_SEL_CONFIG = 0x30 , GLOBAL_ALARM_ENABLE = 0x2C , GLOBAL_ALARM_INT = 0x2D , DIE_TEMP = 0x2E , TEMP_THRS = 0x2F , PN2 = 0x40 , PN1 = 0x41 , PN0_REV = 0x42 , AI_CONFIG0 = 0x1000 | 0x20 , AI_CONFIG1 = 0x1000 | 0x21 , AI_CONFIG2 = 0x1000 | 0x22 , AI_MULTI_CH_EN = 0x1000 | 0x23 , AI_SYSCFG = 0x1000 | 0x24 , AI_STATUS = 0x1000 | 0x25 , AI_STATUS_OVR = 0x1000 | 0x26 , AI_STATUS_UDR = 0x1000 | 0x27 , AIO_CONFIG = 0x1C00 | 0x20 , AO_CAL_COEF = 0x1C00 | 0x21 , AIO_PROT_CFG = 0x1C00 | 0x22 , AO_SLR_CTRL = 0x1C00 | 0x23 , AWG_PER = 0x1C00 | 0x24 , AO_SYSCFG = 0x1C00 | 0x25 , AIO_STATUS = 0x1C00 | 0x26 } |
| enum class | Register24 : uint16_t { GAIN_COEF0 = 0x50 , GAIN_COEF1 , GAIN_COEF2 , GAIN_COEF3 , GAIN_COEF4 , GAIN_COEF5 , GAIN_COEF6 , GAIN_COEF7 , OFFSET_COEF0 = 0x58 , OFFSET_COEF1 , OFFSET_COEF2 , OFFSET_COEF3 , OFFSET_COEF4 , OFFSET_COEF5 , OFFSET_COEF6 , OFFSET_COEF7 , EXTRA_CAL_COEF0 = 0x60 , EXTRA_CAL_COEF1 , EXTRA_CAL_COEF2 , EXTRA_CAL_COEF3 , EXTRA_CAL_COEF4 , EXTRA_CAL_COEF5 , EXTRA_CAL_COEF6 , EXTRA_CAL_COEF7 , SERIAL1 = 0x43 , SERIAL0 , AI_DATA0 = 0x1000 | 0x30 , AI_DATA1 , AI_DATA2 , AI_DATA3 , AI_DATA4 , AI_DATA5 , AI_DATA6 , AI_DATA7 , AI_CH_OVR_THR_0 = 0x1000 | 0x38 , AI_CH_OVR_THR_1 , AI_CH_OVR_THR_2 , AI_CH_OVR_THR_3 , AI_CH_OVR_THR_4 , AI_CH_OVR_THR_5 , AI_CH_OVR_THR_6 , AI_CH_OVR_THR_7 , AI_CH_UDR_THR_0 = 0x1000 | 0x40 , AI_CH_UDR_THR_1 , AI_CH_UDR_THR_2 , AI_CH_UDR_THR_3 , AI_CH_UDR_THR_4 , AI_CH_UDR_THR_5 , AI_CH_UDR_THR_6 , AI_CH_UDR_THR_7 , AO_DATA = 0x1C00 | 0x28 , AO_OC_POS_LIMIT , AO_OC_NEG_LIMIT , AWG_AMP_MAX , AWG_AMP_MIN } |
| enum | Command : uint16_t { CMD_CLEAR_ALARM = 0x12 , CMD_RESET = 0x14 , CMD_CLEAR_REG = 0x15 , CMD_RELOAD = 0x16 , CMD_CALC_CRC_CONFIG = 0x2006 , CMD_CALC_CRC_COEF = 0x2007 , CMD_CALC_CRC_FAC = 0x2008 , CMD_CH0 = 0x1000 , CMD_CH1 = 0x1001 , CMD_CH2 = 0x1002 , CMD_CH3 = 0x1003 , CMD_CH4 = 0x1004 , CMD_CH5 = 0x1005 , CMD_CH6 = 0x1006 , CMD_CH7 = 0x1007 , CMD_ADC_ABORT = 0x1010 , CMD_END = 0x1012 , CMD_CLEAR_DATA = 0x1013 , CMD_SS = 0x3000 , CMD_SC = 0x3001 , CMD_MM = 0x3002 , CMD_MC = 0x3003 , CMD_MS = 0x3004 , CMD_BURST_DATA = 0x3005 , CMD_WGEN_STOP = 0x1C00 , CMD_WGEN_START = 0x1C01 , CMD_CLEAR_DAC0 = 0x1C02 , CMD_AO_ABORT = 0x1C03 , CMD_AO_ABORT_HIZ = 0x1C04 , CMD_CISW_ABORT = 0x1C05 , CMD_CISW_ABORT_HIZ = 0x1C06 } |
| using | ch_setting_t = uint16_t[ 4 ] |
| Public Types inherited from AFE_base | |
| enum | LV_mux_sel : uint8_t { REF2_REF2 = 0 , GPIO0_GPIO1 , REFCOARSE_REF2 , VADD_REF2 , VHDD_REF2 , REF2_VHSS , HV_MUX } |
| using | raw_t = int32_t |
| using | volt_t = double |
| typedef void(* | callback_fp_t) (void) |
| Public Attributes inherited from NAFE33352_Base | |
| LogicalChannel | logical_channel [16] |
| DAC | dac |
| Static Public Attributes inherited from NAFE33352_Base | |
| static constexpr double | on_board_shunt_resister = 50.00 |
| static constexpr double | pga_gain [] = { 1.00, 16.00 } |
| Static Public Attributes inherited from AFE_base | |
| static AFE_base * | instance = nullptr |
| Protected Member Functions inherited from AFE_base | |
| int | bit_count (uint32_t value) |
| void | default_drdy_cb () |
| virtual void | init (void) |
| int | wait_conversion_complete (double delay=-1.0) |
| Static Protected Member Functions inherited from AFE_base | |
| static void | static_default_drdy_cb () |
| static void | DRDY_cb () |
| Protected Attributes inherited from AFE_base | |
| bool | dev_add |
| bool | highspeed_variant |
| int | pin_nINT |
| int | pin_DRDY |
| int | pin_SYN |
| int | pin_nRESET |
| int | pin_DRDY_input |
| int | pin_SYNCDAC |
| int | enabled_channels |
| uint8_t | sequence_order [16] |
| double | coeff_V [16] |
| int | mux_setting [16] |
| double | ch_delay [16] |
| double | total_delay |
| uint32_t | drdy_count |
| volatile bool | drdy_flag |
| Static Protected Attributes inherited from AFE_base | |
| static double | delay_accuracy = 1.2 |
| static constexpr uint32_t | timeout_limit = 10000000 |
| static callback_fp_t | cbf_DRDY = nullptr |
Definition at line 482 of file NAFE33352.h.
| NAFE33352_UIOM::NAFE33352_UIOM | ( | bool | spi_addr = 0, |
| bool | highspeed_variant = false, | ||
| int | nINT = 7, | ||
| int | DRDY = 4, | ||
| int | SYN = 14, | ||
| int | nRESET = 14, | ||
| int | DRDY_input = 2, | ||
| int | SYNCDAC = 14 ) |
Constructor to create a NAFE33352 instance
Definition at line 479 of file NAFE33352.cpp.
|
virtual |
Destractor
Definition at line 484 of file NAFE33352.cpp.