MAVRK Embedded Software 0.91
Software Libraries for the MAVRK motherboard and related components
Data Structures | Defines | Enumerations | Functions | Variables

ADS1259.h File Reference

#include "PC_Interface.h"
#include "SPI_Functions.h"

Go to the source code of this file.

Data Structures

struct  ADS1259_Status_Flags_type
struct  ADC_Configuration_Register_0_type
struct  ADC_Configuration_Register_1_type
struct  ADC_Configuration_Register_2_type

Defines

#define ADS1259_CONFIG_NUMBER_CHANNELS   1
#define ADS1259_CONFIG_DATA_WIDTH   _3_BYTES
#define ADS1259_SAMPLES_PER_PACKET   16
#define ADS1259_DEFAULT_GPIO_STATE   0x00
#define ADS1259_SPI_WRITE_DELAY   0x04
#define SINGLE_BYTE_READ_WRITE   0x00
#define ADS1259_DEFAULT_CONSTANT_TABLE_SIZE   ((unsigned char) sizeof(ADS1259_Default_Register_Settings))
#define ADS1259_REGISTER_SIZE   0x09
#define LARGE_BUFFER_SAMPLES   1000
#define LARGE_BUFFER_LENGTH   (ADS1259_CONFIG_DATA_WIDTH * LARGE_BUFFER_SAMPLES)

Enumerations

enum  ADC_Set_Internal_Reference_Bias_Type { INTERNAL_REFERENCE_BIAS_DISABLED = 0, DEFAULT_INTERNAL_REFERENCE_BIAS_ENABLED = 1 }
enum  ADC_Set_SPI_Timeout_Type { SPI_TIMEOUT_DISABLED = 0, DEFAULT_SPI_TIMESOUT_WHEN_SCLK_IS_HELD_FOR_65536_CLOCKS = 1 }
enum  ADC_Conversion_Delay_Type {
  DEFAULT_NO_DELAY = 0, NO_DELAY = 0, _64_ADC_CLOCKS = 1, _128_ADC_CLOCKS = 2,
  _256_ADC_CLOCKS = 3, _512_ADC_CLOCKS = 4, _1024_ADC_CLOCKS = 5, _2048_ADC_CLOCKS = 6,
  _4096_ADC_CLOCKS = 7
}
enum  ADC_Set_Reference_Type { REFERENCE_IS_INTERNAL = 0, DEFAULT_REFERENCE_IS_EXTERNAL = 1 }
enum  ADC_Set_Sync_Filter_Type { DEFAULT_SINC_FILTER_SETTLES_IN_ONE_CLOCK = 0, SINC_FILTER_SETTLES_IN_TWO_CLOCKS = 1 }
enum  ADC_Set_Checksum_Type { DEFAULT_CHECKSUM_IS_DISABLED = 0, CONVERSION_CHECKSUM_INCLUDED_IN_DATA = 1 }
enum  ADC_Set_Out_Of_Range_Flag_Type { DEFAULT_OUT_OF_RANGE_FLAG_IS_DISABLED = 0, LSB_OF_CONVERSION_DATA_BYTE_7_OF_CRC_IS_OUT_OF_RANGE_FLAG = 1 }
enum  ADC_Data_Rate_Setting_Type {
  DEFAULT_ADC_10_SPS = 0, ADC_10_SPS = 0, ADC_16_6_SPS = 1, ADC_50_SPS = 2,
  ADC_60_SPS = 3, ADC_400_SPS = 4, ADC_1200_SPS = 5, ADC_3600_SPS = 6,
  ADC_14400_SPS = 7
}
enum  ADC_Set_Conversion_Mode_Type { DEFAULT_CONVERSION_CONTINUES_UNTIL_STOP_CONDITION = 0, SINGLE_CONVERSION = 1 }
enum  ADC_Enable_Sync_Out_Clock_Pin_Type { DEFAULT_SYNCOUT_PIN_DISABLED = 0, SYNCOUT_PIN_ENABLED = 1 }
enum  ADC_Clock_Source_Flag_Type { INTERNAL_ADC_OSCILLATOR_IN_USE = 0, EXTERNAL_ADC_OSCILLATOR_IN_USE = 1 }
enum  Voltage_References_Levels_Type { _0_VOLTS = 0, _2_500_VOLTS = 1, _5_000_VOLTS = 2 }
enum  ADS1259_Command_Values {
  WAKE_CONVERTER_FROM_SLEEP = 0x02, PLACE_CONVERTER_IN_SLEEP_MODE = 0x04, RESET_CONVERTER = 0x06, START_COVERTER = 0x08,
  STOP_COVERTER = 0x0A, SET_READ_DATA_CONTINUOUSLY = 0x10, STOP_READ_DATA_CONTINUOUSLY = 0x11, READ_DATA_MANUALLY = 0x12,
  DEFAULT_READ_NUMBER_OF_REGISTERS = 0x20, DEFAULT_WRITE_NUMBER_OF_REGISTERS = 0x40, WRITE_ADS1259_REGISTER = 0x40, READ_ADS1259_REGISTER = 0x20,
  SYSTEM_OFFSET_CALIBRATION = 0x18, SYSTEM_GAIN_CALIBRATION = 0x19
}
enum  Specific_Register_Read_Command_Type {
  READ_CONFIGURATION_REGISTER_0 = 0x20, WRITE_CONFIGURATION_REGISTER_0 = 0x40, READ_CONFIGURATION_REGISTER_1 = 0x21, WRITE_CONFIGURATION_REGISTER_1 = 0x41,
  READ_CONFIGURATION_REGISTER_2 = 0x22, WRITE_CONFIGURATION_REGISTER_2 = 0x42, READ_OFFSET_CALIBRATION_LSBYTE = 0x23, WRITE_OFFSET_CALIBRATION_LSBYTE = 0x43,
  READ_OFFSET_CALIBRATION_MIDBYTE = 0x24, WRITE_OFFSET_CALIBRATION_MIDBYTE = 0x44, READ_OFFSET_CALIBRATION_MSBYTE = 0x25, WRITE_OFFSET_CALIBRATION_MSBYTE = 0x45,
  READ_FULL_SCALE_CALIBRATION_LSBYTE = 0x26, WRITE_FULL_SCALE_CALIBRATION_LSBYTE = 0x46, READ_FULL_SCALE_CALIBRATION_MIDBYTE = 0x27, WRITE_FULL_SCALE_CALIBRATION_MIDBYTE = 0x47,
  READ_FULL_SCALE_CALIBRATION_MSBYTE = 0x28, WRITE_FULL_SCALE_CALIBRATION_MSBYTE = 0x48, READ_DEVICE_ID = 0x20, READ_CONFIG_1_REGISTER = 0x21,
  WRITE_CONFIG_1_REGISTER = 0x41, READ_CONFIG_2_REGISTER = 0x22, WRITE_CONFIG_2_REGISTER = 0x42, READ_CONFIG_3_REGISTER = 0x23,
  WRITE_CONFIG_3_REGISTER = 0x43, READ_CONFIG_4_REGISTER = 0x37, WRITE_CONFIG_4_REGISTER = 0x57, READ_LEAD_OFF_CONTROL_REGISTER = 0x24,
  WRITE_LEAD_OFF_CONTROL_REGISTER = 0x44, READ_CHANNEL_1_SET_REGISTER = 0x25, WRITE_CHANNEL_1_SET_REGISTER = 0x45, READ_CHANNEL_2_SET_REGISTER = 0x26,
  WRITE_CHANNEL_2_SET_REGISTER = 0x46, READ_CHANNEL_3_SET_REGISTER = 0x27, WRITE_CHANNEL_3_SET_REGISTER = 0x47, READ_CHANNEL_4_SET_REGISTER = 0x28,
  WRITE_CHANNEL_4_SET_REGISTER = 0x48, READ_CHANNEL_5_SET_REGISTER = 0x29, WRITE_CHANNEL_5_SET_REGISTER = 0x49, READ_CHANNEL_6_SET_REGISTER = 0x2A,
  WRITE_CHANNEL_6_SET_REGISTER = 0x4A, READ_CHANNEL_7_SET_REGISTER = 0x2B, WRITE_CHANNEL_7_SET_REGISTER = 0x4B, READ_CHANNEL_8_SET_REGISTER = 0x2C,
  WRITE_CHANNEL_8_SET_REGISTER = 0x4C, READ_RIGHT_LEG_DRIVE_SENSE_POSITIVE_REGISTER = 0x2D, WRITE_RIGHT_LEG_DRIVE_SENSE_POSITIVE_REGISTER = 0x4D, READ_RIGHT_LEG_DRIVE_SENSE_NEGATIVE_REGISTER = 0x2E,
  WRITE_RIGHT_LEG_DRIVE_SENSE_NEGATIVE_REGISTER = 0x4E, READ_LEAD_OFF_SENSE_POSITIVE_REGISTER = 0x2F, WRITE_LEAD_OFF_SENSE_POSITIVE_REGISTER = 0x4F, READ_LEAD_OFF_SENSE_NEGATIVE_REGISTER = 0x30,
  WRITE_LEAD_OFF_SENSE_NEGATIVE_REGISTER = 0x50, READ_LEAD_OFF_FLIP_REGISTER = 0x31, WRITE_LEAD_OFF_FLIP_REGISTER = 0x51, READ_LEAD_OFF_STATUS_POSITIVE_REGISTER = 0x32,
  READ_LEAD_OFF_STATUS_NEGATIVE_REGISTER = 0x33, READ_GENERAL_PORT_IO = 0x34, WRITE_GENERAL_PORT_IO = 0x54, READ_PACE_DETECT_REGISTER = 0x35,
  WRITE_PACE_DETECT_REGISTER = 0x55, READ_RESPIRATION_CONTROL_REGISTER = 0x36, WRITE_RESPIRATION_CONTROL_REGISTER = 0x56, READ_CONFIGURATION_CONTROL_REGISTER = 0x37,
  WRITE_CONFIGURATION_CONTROL_REGISTER = 0x57, READ_WILSON_CENTRAL_TERMINAL_AUGMENTED_LEAD_CONTROL_REGISTER = 0x38, WRITE_WILSON_CENTRAL_TERMINAL_AUGMENTED_LEAD_CONTROL_REGISTER = 0x58, READ_WILSON_CENTRAL_TERMINAL_CONTROL_REGISTER = 0x39,
  WRITE_WILSON_CENTRAL_TERMINAL_CONTROL_REGISTER = 0x59, READ_BIAS_VOLTAGE_REGISTER = 0x21, WRITE_BIAS_VOLTAGE_REGISTER = 0x41, READ_MUX_CONTROL_1_REGISTER = 0x22,
  WRITE_MUX_CONTROL_1_REGISTER = 0x42, READ_SYSTEM_CONTROL_0_REGISTER = 0x23, WRITE_SYSTEM_CONTROL_0_REGISTER = 0x43, READ_CALIBRATION_COEFFICIENT_0_REGISTER = 0x24,
  WRITE_CALIBRATION_COEFFICIENT_0_REGISTER = 0x44, READ_CALIBRATION_COEFFICIENT_1_REGISTER = 0x25, WRITE_CALIBRATION_COEFFICIENT_1_REGISTER = 0x45, READ_CALIBRATION_COEFFICIENT_2_REGISTER = 0x26,
  WRITE_CALIBRATION_COEFFICIENT_2_REGISTER = 0x46, READ_FULL_SCALE_CALIBRATION_COEFFICIENT_0_REGISTER = 0x27, WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_0_REGISTER = 0x47, READ_FULL_SCALE_CALIBRATION_COEFFICIENT_1_REGISTER = 0x28,
  WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_1_REGISTER = 0x48, READ_FULL_SCALE_CALIBRATION_COEFFICIENT_2_REGISTER = 0x29, WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_2_REGISTER = 0x49, READ_IDAC_CONTROL_0_REGISTER = 0x2A,
  WRITE_IDAC_CONTROL_0_REGISTER = 0x4A
}
enum  Buffer_Status_Type {
  BUFFER_FULL = 1, BUFFER_FILLING = 2, BUFFER_EMPTY = 3, BUFFER_NOT_EMPTY = 4,
  IDLE_STATE = 5, DATA_COLLECT = 6, SEND_DATA = 7, BUFFER_FULL = 1,
  BUFFER_FILLING = 2, BUFFER_EMPTY = 3, BUFFER_NOT_EMPTY = 4, IDLE_STATE = 5,
  DATA_COLLECT = 6, SEND_DATA = 7
}

Functions

unsigned char mvk_Init_ADS1259 (unsigned char device_slot)
 Performs a default initialization of the ADS1259 in the indicated device slot.
unsigned char mvk_Set_ADS1259_Reference (unsigned char device_slot, unsigned char internal_reference_bias, unsigned char reference_mode)
unsigned char mvk_Set_ADS1259_Conversion_Delay (unsigned char device_slot, unsigned char conversion_delay)
unsigned char mvk_Set_ADS1259_Checksum_Output (unsigned char device_slot, unsigned char checksum_set)
unsigned char mvk_Set_ADS1259_Out_Of_Range_Output (unsigned char device_slot, unsigned char out_of_range_mode)
unsigned char mvk_Set_ADS1259_Conversion_Mode (unsigned char device_slot, unsigned char conversion_mode)
unsigned char mvk_Enable_ADS1259_Sync_Out (unsigned char device_slot, unsigned char sync_out_mode)
unsigned char mvk_Check_ADS1259_Clock_Source (unsigned char device_slot)
unsigned char mvk_Check_ADS1259_Data_Ready_Pin (unsigned char device_slot)
unsigned char mvk_Check_ADS1259_Conversion_Mode_State (unsigned char device_slot)
unsigned char mvk_Set_ADS1259_Sync_Filter (unsigned char device_slot, unsigned char sync_setting)
 Performs the setting of the ADS1259 Sync Filter.
unsigned char mvk_Set_ADS1259_Data_Rate (unsigned char device_slot, unsigned char data_rate)
 Performs the setting of the ADS1259 data rate.
void mvk_Enable_ADS1259_Conversion (unsigned char device_slot)
 Set continuous conversion mode.
void mvk_Wake_Up_ADS1259 (unsigned char device_slot)
 Wake up a ADS1259 device.
void mvk_Put_ADS1259_In_Sleep (unsigned char device_slot)
 Place a ADS1259 device into sleep mode.
void mvk_Soft_Reset_ADS1259 (unsigned char device_slot)
 Reset a ADS1259 device.
void mvk_Soft_Start_Restart_ADS1259 (unsigned char device_slot)
void mvk_Start_Continuous_Read_Data_ADS1259 (unsigned char device_slot)
 Starts the continuous data read on a ADS1259 device.
void mvk_Stop_Continuous_Read_Data_ADS1259 (unsigned char device_slot)
 Stops the continuous data read on a ADS1259 device.
void mvk_Hard_Start_Restart_ADS1259 (unsigned char device_slot)
 Perform a hard restart on a ADS1259 device.
void mvk_Hard_Stop_ADS1259 (unsigned char device_slot)
 Perform a hard stop on a ADS1259 device.
void mvk_Power_Down_ADS1259 (unsigned char device_slot)
 Perform a power down of the ADS1259 device.
void mvk_Reset_ADS1259 (unsigned char device_slot)
 Perform a reset of the ADS1259 device.
void mvk_Disable_ADS1259_Reference (unsigned char device_slot)
 Disable the External Reference Circuit of the ADS1259 device.
void mvk_Enable_ADS1259_Reference (unsigned char device_slot)
 Enable the External Reference Circuit of the ADS1259 device.
unsigned char mvk_Read_Requested_ADS1259_Registers (unsigned char device_slot, unsigned char *register_set_pointer, unsigned char start_address, unsigned char number_bytes_per_packet, unsigned char number_registers)
unsigned char mvk_Read_ADS1259_Register (unsigned char device_slot, unsigned char register_name)
unsigned char mvk_Write_ADS1259_Register (unsigned char device_slot, unsigned char register_name, unsigned char register_data)
unsigned char mvk_Create_ADS1259_Constant_Table (unsigned char device_slot, unsigned char *constant_table_pointer)
void mvk_Init_ADS1259_Via_Constant_Table (unsigned char device_slot, unsigned char *install_table_pointer, unsigned int install_table_length)
 Initialize the ADS1259 using a Constants Table of known good settings.
unsigned char mvk_Initialize_ADS1259_Registers (unsigned char device_slot)
void mvk_Offset_System_Calibrate_ADS1259 (unsigned char device_slot)
 Perform the offset system calibration on the ADS1259 device.
void mvk_System_Gain_Calibration_ADS1259 (unsigned char device_slot)
 Perform the system gain calibration on the ADS1x4x device.
unsigned char mvk_Read_ADS1259_Version (unsigned char device_slot)
unsigned char mvk_Verify_ADS1259_Registers (unsigned char device_slot, unsigned char *constant_pointer)
void mvk_High_Speed_Collect_ADS1259_Data (unsigned char device_slot, char *buffer, int length)
void mvk_ADS1259_SPI_Address_Byte_Count (unsigned char device_slot, unsigned char read_write_address, unsigned char number_of_bytes)
unsigned int mvk_Calibration_Time (unsigned char data_rate, unsigned char sync_filter_type)
 Provide the amount of time required to perform calibration.
unsigned char mvk_ADS1259_SPI_Data (unsigned char device_slot, unsigned char data)
unsigned char mvk_ADS1259_SPI_Burst (unsigned char device_slot, unsigned char data)
unsigned char mvk_Send_ADS1259_PGA_Setting_Packet (unsigned char device_slot, char *pc_packet)
unsigned char mvk_Send_ADS1259_Voltage_References_Packet (unsigned char device_slot, unsigned char positive_voltage_reference, unsigned char negative_voltage_reference)
 Takes the data from an ADS1259 and configures it into a PC Interface Data Payload packet.
unsigned char mvk_Store_ADS1259_Packet (char *packet_data, unsigned int num_bytes)
char * mvk_Pull_ADS1259_Packet_From_Large_Buffer (unsigned char *status, int *length)
 This function pulls a ADS1259 packet from the large buffer.

Variables

unsigned char ADS1259_SPI_data
volatile unsigned char ADC_Configuration_0
volatile
ADC_Configuration_Register_0_type
*const 
ADC_Configuration_Register_0
volatile unsigned char ADC_Configuration_1
volatile
ADC_Configuration_Register_1_type
*const 
ADC_Configuration_Register_1
volatile unsigned char ADC_Configuration_2
volatile
ADC_Configuration_Register_2_type
*const 
ADC_Configuration_Register_2
unsigned char ADS1259_Num_Channels
unsigned char ADS1259_Data_Width
unsigned char ADS1259_PC_Interface_Data_Length
unsigned char ADS1259_Checksum_Available
unsigned char Positive_Reference_Voltage
unsigned char Negative_Reference_Voltage
char Register_Payload_Packet []
unsigned char High_Bandwidth_Data_Rate_ADS1259
unsigned char High_Bandwidth_Data_State_ADS1259
unsigned char ADS1259_PC_Interface_Packet_Length
volatile ADS1259_Status_Flags_type ADS1259_Status_Flags
unsigned char Checksum_Error
unsigned char Requested_Constant_ADS1259_Table []
unsigned char Continuous_Read_Data_ADS1259

Define Documentation

#define ADS1259_CONFIG_DATA_WIDTH   _3_BYTES
#define ADS1259_CONFIG_NUMBER_CHANNELS   1
#define ADS1259_DEFAULT_CONSTANT_TABLE_SIZE   ((unsigned char) sizeof(ADS1259_Default_Register_Settings))
#define ADS1259_DEFAULT_GPIO_STATE   0x00
#define ADS1259_REGISTER_SIZE   0x09
#define ADS1259_SAMPLES_PER_PACKET   16
#define ADS1259_SPI_WRITE_DELAY   0x04
#define LARGE_BUFFER_LENGTH   (ADS1259_CONFIG_DATA_WIDTH * LARGE_BUFFER_SAMPLES)
#define LARGE_BUFFER_SAMPLES   1000
#define SINGLE_BYTE_READ_WRITE   0x00

Enumeration Type Documentation

Enumerator:
INTERNAL_ADC_OSCILLATOR_IN_USE 
EXTERNAL_ADC_OSCILLATOR_IN_USE 
Enumerator:
DEFAULT_NO_DELAY 
NO_DELAY 
_64_ADC_CLOCKS 
_128_ADC_CLOCKS 
_256_ADC_CLOCKS 
_512_ADC_CLOCKS 
_1024_ADC_CLOCKS 
_2048_ADC_CLOCKS 
_4096_ADC_CLOCKS 
Enumerator:
DEFAULT_ADC_10_SPS 
ADC_10_SPS 
ADC_16_6_SPS 
ADC_50_SPS 
ADC_60_SPS 
ADC_400_SPS 
ADC_1200_SPS 
ADC_3600_SPS 
ADC_14400_SPS 
Enumerator:
DEFAULT_SYNCOUT_PIN_DISABLED 
SYNCOUT_PIN_ENABLED 
Enumerator:
DEFAULT_CHECKSUM_IS_DISABLED 
CONVERSION_CHECKSUM_INCLUDED_IN_DATA 
Enumerator:
DEFAULT_CONVERSION_CONTINUES_UNTIL_STOP_CONDITION 
SINGLE_CONVERSION 
Enumerator:
INTERNAL_REFERENCE_BIAS_DISABLED 
DEFAULT_INTERNAL_REFERENCE_BIAS_ENABLED 
Enumerator:
DEFAULT_OUT_OF_RANGE_FLAG_IS_DISABLED 
LSB_OF_CONVERSION_DATA_BYTE_7_OF_CRC_IS_OUT_OF_RANGE_FLAG 
Enumerator:
REFERENCE_IS_INTERNAL 
DEFAULT_REFERENCE_IS_EXTERNAL 
Enumerator:
SPI_TIMEOUT_DISABLED 
DEFAULT_SPI_TIMESOUT_WHEN_SCLK_IS_HELD_FOR_65536_CLOCKS 
Enumerator:
DEFAULT_SINC_FILTER_SETTLES_IN_ONE_CLOCK 
SINC_FILTER_SETTLES_IN_TWO_CLOCKS 
Enumerator:
WAKE_CONVERTER_FROM_SLEEP 

WAKEUP.

PLACE_CONVERTER_IN_SLEEP_MODE 

SLEEP.

RESET_CONVERTER 

RESET.

START_COVERTER 

START.

STOP_COVERTER 

STOP.

SET_READ_DATA_CONTINUOUSLY 

RDATAC.

STOP_READ_DATA_CONTINUOUSLY 

SDATAC.

READ_DATA_MANUALLY 

RDATA.

DEFAULT_READ_NUMBER_OF_REGISTERS 

RREG.

DEFAULT_WRITE_NUMBER_OF_REGISTERS 

WREG.

WRITE_ADS1259_REGISTER 

Write Register Bit Setting.

READ_ADS1259_REGISTER 

Read Register Bit Setting.

SYSTEM_OFFSET_CALIBRATION 

OFSCAL.

SYSTEM_GAIN_CALIBRATION 

GANCAL.

Enumerator:
BUFFER_FULL 
BUFFER_FILLING 
BUFFER_EMPTY 
BUFFER_NOT_EMPTY 
IDLE_STATE 
DATA_COLLECT 
SEND_DATA 
BUFFER_FULL 
BUFFER_FILLING 
BUFFER_EMPTY 
BUFFER_NOT_EMPTY 
IDLE_STATE 
DATA_COLLECT 
SEND_DATA 
Enumerator:
READ_CONFIGURATION_REGISTER_0 
WRITE_CONFIGURATION_REGISTER_0 
READ_CONFIGURATION_REGISTER_1 
WRITE_CONFIGURATION_REGISTER_1 
READ_CONFIGURATION_REGISTER_2 
WRITE_CONFIGURATION_REGISTER_2 
READ_OFFSET_CALIBRATION_LSBYTE 
WRITE_OFFSET_CALIBRATION_LSBYTE 
READ_OFFSET_CALIBRATION_MIDBYTE 
WRITE_OFFSET_CALIBRATION_MIDBYTE 
READ_OFFSET_CALIBRATION_MSBYTE 
WRITE_OFFSET_CALIBRATION_MSBYTE 
READ_FULL_SCALE_CALIBRATION_LSBYTE 
WRITE_FULL_SCALE_CALIBRATION_LSBYTE 
READ_FULL_SCALE_CALIBRATION_MIDBYTE 
WRITE_FULL_SCALE_CALIBRATION_MIDBYTE 
READ_FULL_SCALE_CALIBRATION_MSBYTE 
WRITE_FULL_SCALE_CALIBRATION_MSBYTE 
READ_DEVICE_ID 
READ_CONFIG_1_REGISTER 
WRITE_CONFIG_1_REGISTER 
READ_CONFIG_2_REGISTER 
WRITE_CONFIG_2_REGISTER 
READ_CONFIG_3_REGISTER 
WRITE_CONFIG_3_REGISTER 
READ_CONFIG_4_REGISTER 
WRITE_CONFIG_4_REGISTER 
READ_LEAD_OFF_CONTROL_REGISTER 
WRITE_LEAD_OFF_CONTROL_REGISTER 
READ_CHANNEL_1_SET_REGISTER 
WRITE_CHANNEL_1_SET_REGISTER 
READ_CHANNEL_2_SET_REGISTER 
WRITE_CHANNEL_2_SET_REGISTER 
READ_CHANNEL_3_SET_REGISTER 
WRITE_CHANNEL_3_SET_REGISTER 
READ_CHANNEL_4_SET_REGISTER 
WRITE_CHANNEL_4_SET_REGISTER 
READ_CHANNEL_5_SET_REGISTER 
WRITE_CHANNEL_5_SET_REGISTER 
READ_CHANNEL_6_SET_REGISTER 
WRITE_CHANNEL_6_SET_REGISTER 
READ_CHANNEL_7_SET_REGISTER 
WRITE_CHANNEL_7_SET_REGISTER 
READ_CHANNEL_8_SET_REGISTER 
WRITE_CHANNEL_8_SET_REGISTER 
READ_RIGHT_LEG_DRIVE_SENSE_POSITIVE_REGISTER 
WRITE_RIGHT_LEG_DRIVE_SENSE_POSITIVE_REGISTER 
READ_RIGHT_LEG_DRIVE_SENSE_NEGATIVE_REGISTER 
WRITE_RIGHT_LEG_DRIVE_SENSE_NEGATIVE_REGISTER 
READ_LEAD_OFF_SENSE_POSITIVE_REGISTER 
WRITE_LEAD_OFF_SENSE_POSITIVE_REGISTER 
READ_LEAD_OFF_SENSE_NEGATIVE_REGISTER 
WRITE_LEAD_OFF_SENSE_NEGATIVE_REGISTER 
READ_LEAD_OFF_FLIP_REGISTER 
WRITE_LEAD_OFF_FLIP_REGISTER 
READ_LEAD_OFF_STATUS_POSITIVE_REGISTER 
READ_LEAD_OFF_STATUS_NEGATIVE_REGISTER 
READ_GENERAL_PORT_IO 
WRITE_GENERAL_PORT_IO 
READ_PACE_DETECT_REGISTER 
WRITE_PACE_DETECT_REGISTER 
READ_RESPIRATION_CONTROL_REGISTER 
WRITE_RESPIRATION_CONTROL_REGISTER 
READ_CONFIGURATION_CONTROL_REGISTER 
WRITE_CONFIGURATION_CONTROL_REGISTER 
READ_WILSON_CENTRAL_TERMINAL_AUGMENTED_LEAD_CONTROL_REGISTER 
WRITE_WILSON_CENTRAL_TERMINAL_AUGMENTED_LEAD_CONTROL_REGISTER 
READ_WILSON_CENTRAL_TERMINAL_CONTROL_REGISTER 
WRITE_WILSON_CENTRAL_TERMINAL_CONTROL_REGISTER 
READ_BIAS_VOLTAGE_REGISTER 
WRITE_BIAS_VOLTAGE_REGISTER 
READ_MUX_CONTROL_1_REGISTER 
WRITE_MUX_CONTROL_1_REGISTER 
READ_SYSTEM_CONTROL_0_REGISTER 
WRITE_SYSTEM_CONTROL_0_REGISTER 
READ_CALIBRATION_COEFFICIENT_0_REGISTER 
WRITE_CALIBRATION_COEFFICIENT_0_REGISTER 
READ_CALIBRATION_COEFFICIENT_1_REGISTER 
WRITE_CALIBRATION_COEFFICIENT_1_REGISTER 
READ_CALIBRATION_COEFFICIENT_2_REGISTER 
WRITE_CALIBRATION_COEFFICIENT_2_REGISTER 
READ_FULL_SCALE_CALIBRATION_COEFFICIENT_0_REGISTER 
WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_0_REGISTER 
READ_FULL_SCALE_CALIBRATION_COEFFICIENT_1_REGISTER 
WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_1_REGISTER 
READ_FULL_SCALE_CALIBRATION_COEFFICIENT_2_REGISTER 
WRITE_FULL_SCALE_CALIBRATION_COEFFICIENT_2_REGISTER 
READ_IDAC_CONTROL_0_REGISTER 
WRITE_IDAC_CONTROL_0_REGISTER 
Enumerator:
_0_VOLTS 
_2_500_VOLTS 
_5_000_VOLTS 

Function Documentation

void mvk_ADS1259_SPI_Address_Byte_Count ( unsigned char  device_slot,
unsigned char  read_write_address,
unsigned char  number_of_bytes 
)
unsigned char mvk_ADS1259_SPI_Burst ( unsigned char  device_slot,
unsigned char  data 
)
unsigned char mvk_ADS1259_SPI_Data ( unsigned char  device_slot,
unsigned char  data 
)
unsigned int mvk_Calibration_Time ( unsigned char  data_rate,
unsigned char  sync_filter_type 
)

Provide the amount of time required to perform calibration.

The function will return the amount of time required for calibration to complete

Parameters:
[in]data_rateDEFAULT_ADC_10_SPS, ADC_10_SPS, ADC_16_6_SPS, ADC_50_SPS, ADC_60_SPS, ADC_400_SPS, ADC_1200_SPS, ADC_3600_SPS, ADC_14400_SPS
[in]sync_filter_typeDEFAULT_SINC_FILTER_SETTLES_IN_ONE_CLOCK, SINC_FILTER_SETTLES_IN_TWO_CLOCKS
Returns:
calibration time in 1ms steps
unsigned char mvk_Check_ADS1259_Clock_Source ( unsigned char  device_slot)
unsigned char mvk_Check_ADS1259_Conversion_Mode_State ( unsigned char  device_slot)
unsigned char mvk_Check_ADS1259_Data_Ready_Pin ( unsigned char  device_slot)
unsigned char mvk_Create_ADS1259_Constant_Table ( unsigned char  device_slot,
unsigned char *  constant_table_pointer 
)
void mvk_Disable_ADS1259_Reference ( unsigned char  device_slot)

Disable the External Reference Circuit of the ADS1259 device.

The function will Disable the Reference Circuit of the ADS1259 device

Returns:
None
void mvk_Enable_ADS1259_Conversion ( unsigned char  device_slot)

Set continuous conversion mode.

The function will place the indicated ADS1259 device into continuous conversion mode

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
void mvk_Enable_ADS1259_Reference ( unsigned char  device_slot)

Enable the External Reference Circuit of the ADS1259 device.

The function will Enable the Reference Circuit of the ADS1259 device

Returns:
None
unsigned char mvk_Enable_ADS1259_Sync_Out ( unsigned char  device_slot,
unsigned char  sync_out_mode 
)
void mvk_Hard_Start_Restart_ADS1259 ( unsigned char  device_slot)

Perform a hard restart on a ADS1259 device.

The function will hard restart the indicated ADS1259 device

Returns:
None
void mvk_Hard_Stop_ADS1259 ( unsigned char  device_slot)

Perform a hard stop on a ADS1259 device.

The function will perform a hard stop on the ADS1259 device

Returns:
None
void mvk_High_Speed_Collect_ADS1259_Data ( unsigned char  device_slot,
char *  buffer,
int  length 
)
unsigned char mvk_Init_ADS1259 ( unsigned char  device_slot)

Performs a default initialization of the ADS1259 in the indicated device slot.

The function will performs a default initialization of the ADS1259 in the indicated device slot.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
ADS1259_INIT_SUCCESS Initialization successful
ADS1259_VERIFY_ERROR Initialization error
void mvk_Init_ADS1259_Via_Constant_Table ( unsigned char  device_slot,
unsigned char *  install_table_pointer,
unsigned int  install_table_length 
)

Initialize the ADS1259 using a Constants Table of known good settings.

The function will load the ADS1259 with a set of values from a table. This function allows a user to load a known register setttings or to save a set of registers and reload them at a future time.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
[in]install_table_pointerPointer to the table of address and register pairs to load into the ADS1x9x
[in]install_table_lengthNumber of total bytes in install_table_pointer
Returns:
None
Note:
This function can be used to load any subset of registers for the device. The input table expects sets of register address / value pairs that get loaded into the device one register at a time in the specified order. The default ADS1259_Default_Register_Settings table in this file performs a standard initialization, but other settings may be developed to perform other tasks.
unsigned char mvk_Initialize_ADS1259_Registers ( unsigned char  device_slot)
void mvk_Offset_System_Calibrate_ADS1259 ( unsigned char  device_slot)

Perform the offset system calibration on the ADS1259 device.

The function will calibrate the offset value for the ADS1259 system.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
void mvk_Power_Down_ADS1259 ( unsigned char  device_slot)

Perform a power down of the ADS1259 device.

The function will power down the indicated ADS1259 device

Returns:
None
char* mvk_Pull_ADS1259_Packet_From_Large_Buffer ( unsigned char *  status,
int *  length 
)

This function pulls a ADS1259 packet from the large buffer.

Parameters:
[out]statusSends out the status of the reading of the buffer, BUFFER_EMTPY or BUFFER_NOT_EMPTY
[out]lengthThe amount of bytes read from the large buffer
Returns:
char* The address of the next packet from the large buffer
void mvk_Put_ADS1259_In_Sleep ( unsigned char  device_slot)

Place a ADS1259 device into sleep mode.

The function will put the indicated ADS1259 device to sleep

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
unsigned char mvk_Read_ADS1259_Register ( unsigned char  device_slot,
unsigned char  register_name 
)
unsigned char mvk_Read_ADS1259_Version ( unsigned char  device_slot)
unsigned char mvk_Read_Requested_ADS1259_Registers ( unsigned char  device_slot,
unsigned char *  register_set_pointer,
unsigned char  start_address,
unsigned char  number_bytes_per_packet,
unsigned char  number_registers 
)
void mvk_Reset_ADS1259 ( unsigned char  device_slot)

Perform a reset of the ADS1259 device.

The function will reset the indicated ADS1259 device

Returns:
None
unsigned char mvk_Send_ADS1259_PGA_Setting_Packet ( unsigned char  device_slot,
char *  pc_packet 
)
unsigned char mvk_Send_ADS1259_Voltage_References_Packet ( unsigned char  device_slot,
unsigned char  positive_voltage_reference,
unsigned char  negative_voltage_reference 
)

Takes the data from an ADS1259 and configures it into a PC Interface Data Payload packet.

Parameters:
[in]device_slotTarget component slot on MAVRK board
[in]positive_voltage_referencePositive voltage reference level (_0_VOLTS, _2_500_VOLTS, _5_000_VOLTS)
[in]negative_voltage_referenceNegative voltage reference level (_0_VOLTS, _2_500_VOLTS, _5_000_VOLTS)
Returns:
PRINTF_SUCCESS - Data sent
ERR_MESSAGE_IN_USE - Data is waiting to be sent from previous debug message
unsigned char mvk_Set_ADS1259_Checksum_Output ( unsigned char  device_slot,
unsigned char  checksum_set 
)
unsigned char mvk_Set_ADS1259_Conversion_Delay ( unsigned char  device_slot,
unsigned char  conversion_delay 
)
unsigned char mvk_Set_ADS1259_Conversion_Mode ( unsigned char  device_slot,
unsigned char  conversion_mode 
)
unsigned char mvk_Set_ADS1259_Data_Rate ( unsigned char  device_slot,
unsigned char  data_rate 
)

Performs the setting of the ADS1259 data rate.

The function will set the ADS1259 data rate.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
[in]data_rateDEFAULT_ADC_10_SPS, ADC_10_SPS, ADC_16_6_SPS, ADC_50_SPS, ADC_60_SPS, ADC_400_SPS, ADC_1200_SPS, ADC_3600_SPS, ADC_14400_SPS
Returns:
ADS1259_INIT_SUCCESS Initialization successful
ADS1259_VERIFY_ERROR Initialization error
unsigned char mvk_Set_ADS1259_Out_Of_Range_Output ( unsigned char  device_slot,
unsigned char  out_of_range_mode 
)
unsigned char mvk_Set_ADS1259_Reference ( unsigned char  device_slot,
unsigned char  internal_reference_bias,
unsigned char  reference_mode 
)
unsigned char mvk_Set_ADS1259_Sync_Filter ( unsigned char  device_slot,
unsigned char  sync_setting 
)

Performs the setting of the ADS1259 Sync Filter.

The function will set the ADS1259 Sinc filter affecting the conversion time and the filters performance.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
[in]sync_settingDEFAULT_SINC_FILTER_SETTLES_IN_ONE_CLOCK, SINC_FILTER_SETTLES_IN_TWO_CLOCKS
Returns:
ADS1259_INIT_SUCCESS Initialization successful
ADS1259_VERIFY_ERROR Initialization error
void mvk_Soft_Reset_ADS1259 ( unsigned char  device_slot)

Reset a ADS1259 device.

The function will reset the indicated ADS1259 device

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
void mvk_Soft_Start_Restart_ADS1259 ( unsigned char  device_slot)
void mvk_Start_Continuous_Read_Data_ADS1259 ( unsigned char  device_slot)

Starts the continuous data read on a ADS1259 device.

The function will start the continuous data read on the indicated ADS1x4x device

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
void mvk_Stop_Continuous_Read_Data_ADS1259 ( unsigned char  device_slot)

Stops the continuous data read on a ADS1259 device.

The function will stop the continuous data read on the indicated ADS1259 device

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
unsigned char mvk_Store_ADS1259_Packet ( char *  packet_data,
unsigned int  num_bytes 
)
void mvk_System_Gain_Calibration_ADS1259 ( unsigned char  device_slot)

Perform the system gain calibration on the ADS1x4x device.

The function will calibrate the gain value for the ADS1x4x system.

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
unsigned char mvk_Verify_ADS1259_Registers ( unsigned char  device_slot,
unsigned char *  constant_pointer 
)
void mvk_Wake_Up_ADS1259 ( unsigned char  device_slot)

Wake up a ADS1259 device.

The function will wake the indicated ADS1259 device

Parameters:
[in]device_slotMAVRK slot occupied by the given device (MAVRK_RFx, MAVRK_AFEx, MAVRK_SCIx)
Returns:
None
unsigned char mvk_Write_ADS1259_Register ( unsigned char  device_slot,
unsigned char  register_name,
unsigned char  register_data 
)

Variable Documentation

volatile unsigned char ADC_Configuration_0
volatile unsigned char ADC_Configuration_1
volatile unsigned char ADC_Configuration_2
unsigned char ADS1259_Data_Width
unsigned char ADS1259_Num_Channels
unsigned char ADS1259_SPI_data
unsigned char Checksum_Error
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines