AFE_NXP_Arduino 2.0.4
Analog Front-End (AFE) device operation sample code for Arduino
Loading...
Searching...
No Matches
SPI_for_AFE Class Reference

#include <SPI_for_AFE.h>

Inheritance diagram for SPI_for_AFE:
AFE_base NAFE13388_Base NAFE33352_Base NAFE13388 NAFE13388_UIM NAFE33352 NAFE33352_UIOM

Public Member Functions

virtual void txrx (uint8_t *data, int size)
virtual void write_r16 (uint16_t reg)
virtual void write_r16 (uint16_t reg, uint16_t val)
virtual uint16_t read_r16 (uint16_t reg)
virtual void write_r24 (uint16_t reg, uint32_t val)
virtual int32_t read_r24 (uint16_t reg)
virtual void burst (uint32_t *data, int length, int width=3)
virtual void spi_frequency (uint32_t frequency=1 '000 '000)

Protected Member Functions

void init (void)

Protected Attributes

uint32_t frequency

Private Member Functions

int32_t get_data16 (uint8_t *vp)
int32_t get_data24 (uint8_t *vp)

Static Private Attributes

static constexpr int command_length = 2

Detailed Description

NXP Analog Front End class library for Arduino

Author
Tedd OKANO
Version
0.1.1
Date
27-June-2023

Copyright: 2023 Tedd OKANO Released under the MIT license

A SPI interface class for NXP Analog Front End: NAFE13388

Definition at line 22 of file SPI_for_AFE.h.

Member Function Documentation

◆ burst()

void SPI_for_AFE::burst ( uint32_t * data,
int length,
int width = 3 )
virtual

Burst read of consecutive channel results

Parameters
datapointer to buffer to store results
lengthnumber of words to read
widthword width in bytes (default: 3 for 24-bit)

Definition at line 59 of file SPI_for_AFE.cpp.

Referenced by NAFE13388_Base::read(), and NAFE33352_Base::read().

◆ get_data16()

int32_t SPI_for_AFE::get_data16 ( uint8_t * vp)
inlineprivate

Definition at line 87 of file SPI_for_AFE.h.

Referenced by read_r16().

◆ get_data24()

int32_t SPI_for_AFE::get_data24 ( uint8_t * vp)
inlineprivate

Definition at line 92 of file SPI_for_AFE.h.

Referenced by burst(), and read_r24().

◆ init()

void SPI_for_AFE::init ( void )
protected

Initialize SPI peripheral and chip-select pin

Definition at line 78 of file SPI_for_AFE.cpp.

Referenced by AFE_base::begin().

◆ read_r16()

uint16_t SPI_for_AFE::read_r16 ( uint16_t reg)
virtual

Register read, 16 bit

Parameters
regregister index
Returns
data value

Definition at line 29 of file SPI_for_AFE.cpp.

Referenced by NAFE13388_Base::reg(), and NAFE33352_Base::reg().

◆ read_r24()

int32_t SPI_for_AFE::read_r24 ( uint16_t reg)
virtual

Register read, 24 bit

Parameters
regregister index
Returns
data value

Definition at line 48 of file SPI_for_AFE.cpp.

Referenced by NAFE13388_Base::reg(), and NAFE33352_Base::reg().

◆ spi_frequency()

void SPI_for_AFE::spi_frequency ( uint32_t frequency = 1'000'000)
virtual

Set SPI clock frequency

Parameters
frequencySPI clock in Hz (default: 1 MHz)

Definition at line 73 of file SPI_for_AFE.cpp.

Referenced by init().

◆ txrx()

void SPI_for_AFE::txrx ( uint8_t * data,
int size )
virtual

Send data

Parameters
datapointer to data buffer
sizedata size

Definition at line 3 of file SPI_for_AFE.cpp.

Referenced by burst(), read_r16(), read_r24(), write_r16(), write_r16(), and write_r24().

◆ write_r16() [1/2]

void SPI_for_AFE::write_r16 ( uint16_t reg)
virtual

Command write (register address only, no data)

Parameters
regregister/command index

Definition at line 13 of file SPI_for_AFE.cpp.

Referenced by NAFE13388_Base::command(), NAFE33352_Base::command(), NAFE13388_Base::reg(), and NAFE33352_Base::reg().

◆ write_r16() [2/2]

void SPI_for_AFE::write_r16 ( uint16_t reg,
uint16_t val )
virtual

Register write, 16 bit

Parameters
regregister index
valdata value

Definition at line 21 of file SPI_for_AFE.cpp.

◆ write_r24()

void SPI_for_AFE::write_r24 ( uint16_t reg,
uint32_t val )
virtual

Register write, 24 bit

Parameters
regregister index
valdata value

Reimplemented in NAFE33352_Base.

Definition at line 40 of file SPI_for_AFE.cpp.

Referenced by NAFE13388_Base::reg().

Member Data Documentation

◆ command_length

int SPI_for_AFE::command_length = 2
staticconstexprprivate

Definition at line 102 of file SPI_for_AFE.h.

Referenced by burst(), read_r16(), and read_r24().

◆ frequency

uint32_t SPI_for_AFE::frequency
protected

Definition at line 83 of file SPI_for_AFE.h.

Referenced by spi_frequency(), NAFE33352_Base::txrx(), and txrx().


The documentation for this class was generated from the following files: