firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
isoADC.h File Reference
#include <main.h>
#include <math.h>
#include <stdint.h>
Include dependency graph for isoADC.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  isoADCConfig_t
struct  isoADCData_t

Enumerations

enum  isoADCCommandCode_e {
  NULL_CMD = 0x0000 , RESET_CMD = 0x0011 , STANDBY_CMD = 0x0022 , WAKEUP_CMD = 0x0033 ,
  LOCK_CMD = 0x0555 , UNLOCK_CMD = 0x0655 , RREG_CMD = 0xA000 , WREG_CMD = 0x6000
}
enum  isoADCRegisterAddr_e {
  ID_ADDRESS = 0x00 , STATUS_ADDRESS = 0x01 , MODE_ADDRESS = 0x02 , CLOCK_ADDRESS = 0x03 ,
  GAIN_ADDRESS = 0x04 , CFG_ADDRESS = 0x06 , CH0_CFG_ADDRESS = 0x09 , CH0_OCAL_MSB_ADDRESS = 0x0A ,
  CH0_OCAL_LSB_ADDRESS = 0x0B , CH0_GCAL_MSB_ADDRESS = 0x0C , CH0_GCAL_LSB_ADDRESS = 0x0D , CH1_CFG_ADDRESS = 0x0E ,
  CH1_OCAL_MSB_ADDRESS = 0x0F , CH1_OCAL_LSB_ADDRESS = 0x10 , CH1_GCAL_MSB_ADDRESS = 0x11 , CH1_GCAL_LSB_ADDRESS = 0x12 ,
  CH2_CFG_ADDRESS = 0x13 , CH2_OCAL_MSB_ADDRESS = 0x14 , CH2_OCAL_LSB_ADDRESS = 0x15 , CH2_GCAL_MSB_ADDRESS = 0x16 ,
  CH2_GCAL_LSB_ADDRESS = 0x17 , DCDC_CTRL_ADDRESS = 0x31 , REGMAP_CRC_ADDRESS = 0x3E
}
enum  clkDivider_e { DIV_2 , DIV_4 , DIV_8 , DIV_12 }
enum  osr_t {
  OSR_128 , OSR_256 , OSR_512 , OSR_1024 ,
  OSR_2048 , OSR_4096 , OSR_8192 , OSR_16384
}
enum  pwr_t { LOW_PWR = 0x01 , HIGH_RES = 0x10 }
enum  chGain_e {
  GAIN_1 , GAIN_2 , GAIN_4 , GAIN_8 ,
  GAIN_16 , GAIN_32 , GAIN_64 , GAIN_128
}
enum  gcDelay_e {
  GC_DLY_2 , GC_DLY_4 , GC_DLY_8 , GC_DLY_16 ,
  GC_DLY_32 , GC_DLY_64 , GC_DLY_128 , GC_DLY_256 ,
  GC_DLY_512 , GC_DLY_1024 , GC_DLY_2048 , GC_DLY_4096 ,
  GC_DLY_8192 , GC_DLY_16384 , GC_DLY_32768 , GC_DLY_65535
}
enum  dcdcFreq_t {
  DCDC_FREQ_0 , DCDC_FREQ_1 , DCDC_FREQ_2 , DCDC_FREQ_3 ,
  DCDC_FREQ_4 , DCDC_FREQ_5 , DCDC_FREQ_6 , DCDC_FREQ_7 ,
  DCDC_FREQ_8 , DCDC_FREQ_9 , DCDC_FREQ_10 , DCDC_FREQ_11 ,
  DCDC_FREQ_12 , DCDC_FREQ_13 , DCDC_FREQ_14 , DCDC_FREQ_15
}

Functions

uint8_t wakeup_isoADC (isoADCConfig_t const *cfg_ptr, isoADCData_t *data_ptr)
uint8_t read_isoADC_register (uint8_t address, uint8_t *response_buffer)
uint8_t write_isoADC_register (uint8_t address, uint8_t *response_buffer, uint8_t const *write_bits)
uint8_t read_isoADC_ID (void)
uint8_t read_isoADC_ADCs (isoADCConfig_t const *cfg_ptr, isoADCData_t *data_ptr)
uint8_t read_isoADC_status (isoADCData_t *data_ptr)
uint16_t calculate_crc (uint8_t *data, uint8_t length)
uint8_t write_isoADC_reg_with_crc (uint8_t address, uint8_t *response_buffer, uint8_t const *write_bits)
uint8_t read_isoADC_reg_with_crc (uint8_t address, uint8_t *response_buffer)
bool convert_raw_to_actual (isoADCConfig_t *config, isoADCData_t *data_ptr)

Variables

SPI_HandleTypeDef * isoADC_SPI_ptr_g
GPIO_TypeDef * isoADC_SPI_cs_port_ptr_g
uint16_t isoADC_SPI_cs_pin_g
TIM_HandleTypeDef * isoADC_PWM_ptr_g
uint32_t isoADC_PWM_ch_g
isoADCConfig_t gIsoADCConfig
isoADCData_t gIsoADCData

Enumeration Type Documentation

◆ chGain_e

enum chGain_e
Enumerator
GAIN_1 
GAIN_2 
GAIN_4 
GAIN_8 
GAIN_16 
GAIN_32 
GAIN_64 
GAIN_128 

◆ clkDivider_e

Enumerator
DIV_2 
DIV_4 
DIV_8 
DIV_12 

◆ dcdcFreq_t

enum dcdcFreq_t
Enumerator
DCDC_FREQ_0 
DCDC_FREQ_1 
DCDC_FREQ_2 
DCDC_FREQ_3 
DCDC_FREQ_4 
DCDC_FREQ_5 
DCDC_FREQ_6 
DCDC_FREQ_7 
DCDC_FREQ_8 
DCDC_FREQ_9 
DCDC_FREQ_10 
DCDC_FREQ_11 
DCDC_FREQ_12 
DCDC_FREQ_13 
DCDC_FREQ_14 
DCDC_FREQ_15 

◆ gcDelay_e

enum gcDelay_e
Enumerator
GC_DLY_2 
GC_DLY_4 
GC_DLY_8 
GC_DLY_16 
GC_DLY_32 
GC_DLY_64 
GC_DLY_128 
GC_DLY_256 
GC_DLY_512 
GC_DLY_1024 
GC_DLY_2048 
GC_DLY_4096 
GC_DLY_8192 
GC_DLY_16384 
GC_DLY_32768 
GC_DLY_65535 

◆ isoADCCommandCode_e

Enumerator
NULL_CMD 
RESET_CMD 
STANDBY_CMD 
WAKEUP_CMD 
LOCK_CMD 
UNLOCK_CMD 
RREG_CMD 
WREG_CMD 

◆ isoADCRegisterAddr_e

Enumerator
ID_ADDRESS 
STATUS_ADDRESS 
MODE_ADDRESS 
CLOCK_ADDRESS 
GAIN_ADDRESS 
CFG_ADDRESS 
CH0_CFG_ADDRESS 
CH0_OCAL_MSB_ADDRESS 
CH0_OCAL_LSB_ADDRESS 
CH0_GCAL_MSB_ADDRESS 
CH0_GCAL_LSB_ADDRESS 
CH1_CFG_ADDRESS 
CH1_OCAL_MSB_ADDRESS 
CH1_OCAL_LSB_ADDRESS 
CH1_GCAL_MSB_ADDRESS 
CH1_GCAL_LSB_ADDRESS 
CH2_CFG_ADDRESS 
CH2_OCAL_MSB_ADDRESS 
CH2_OCAL_LSB_ADDRESS 
CH2_GCAL_MSB_ADDRESS 
CH2_GCAL_LSB_ADDRESS 
DCDC_CTRL_ADDRESS 
REGMAP_CRC_ADDRESS 

◆ osr_t

enum osr_t
Enumerator
OSR_128 
OSR_256 
OSR_512 
OSR_1024 
OSR_2048 
OSR_4096 
OSR_8192 
OSR_16384 

◆ pwr_t

enum pwr_t
Enumerator
LOW_PWR 
HIGH_RES 

Function Documentation

◆ calculate_crc()

uint16_t calculate_crc ( uint8_t * data,
uint8_t length )
Here is the caller graph for this function:

◆ convert_raw_to_actual()

bool convert_raw_to_actual ( isoADCConfig_t * config,
isoADCData_t * data_ptr )
Here is the caller graph for this function:

◆ read_isoADC_ADCs()

uint8_t read_isoADC_ADCs ( isoADCConfig_t const * cfg_ptr,
isoADCData_t * data_ptr )
Here is the caller graph for this function:

◆ read_isoADC_ID()

uint8_t read_isoADC_ID ( void )
Here is the call graph for this function:

◆ read_isoADC_reg_with_crc()

uint8_t read_isoADC_reg_with_crc ( uint8_t address,
uint8_t * response_buffer )

◆ read_isoADC_register()

uint8_t read_isoADC_register ( uint8_t address,
uint8_t * response_buffer )

◆ read_isoADC_status()

uint8_t read_isoADC_status ( isoADCData_t * data_ptr)
Here is the call graph for this function:

◆ wakeup_isoADC()

uint8_t wakeup_isoADC ( isoADCConfig_t const * cfg_ptr,
isoADCData_t * data_ptr )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_isoADC_reg_with_crc()

uint8_t write_isoADC_reg_with_crc ( uint8_t address,
uint8_t * response_buffer,
uint8_t const * write_bits )

◆ write_isoADC_register()

uint8_t write_isoADC_register ( uint8_t address,
uint8_t * response_buffer,
uint8_t const * write_bits )

Variable Documentation

◆ gIsoADCConfig

isoADCConfig_t gIsoADCConfig
extern

◆ gIsoADCData

isoADCData_t gIsoADCData
extern

◆ isoADC_PWM_ch_g

uint32_t isoADC_PWM_ch_g
extern

◆ isoADC_PWM_ptr_g

TIM_HandleTypeDef* isoADC_PWM_ptr_g
extern

◆ isoADC_SPI_cs_pin_g

uint16_t isoADC_SPI_cs_pin_g
extern

◆ isoADC_SPI_cs_port_ptr_g

GPIO_TypeDef* isoADC_SPI_cs_port_ptr_g
extern

◆ isoADC_SPI_ptr_g

SPI_HandleTypeDef* isoADC_SPI_ptr_g
extern