|
REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
A DataFunction class wraps SPI communication over the digital bus. More...
#include <functions.h>


Public Member Functions | |
| DataFunction (bus::addr_t address, uint8_t alt_function_idx, const SPISettings &spiSettings) | |
| void | begin_communication () const |
| void | end_communication () const |
| void | transfer (const void *mosi_buf, void *miso_buf, size_t count) const |
| uint8_t | transfer8 (uint8_t data_in) const |
| uint16_t | transfer16 (uint16_t data_in) const |
| uint32_t | transfer32 (uint32_t data_in) const |
Public Member Functions inherited from functions::Function | |
| Function (bus::addr_t address) | |
Public Attributes | |
| const SPISettings & | spi_settings |
Public Attributes inherited from functions::Function | |
| const bus::addr_t | address |
Static Protected Member Functions | |
| static SPIClass & | get_raw_spi () |
Protected Attributes | |
| bus::addr_t | alt_function_address |
| bool | use_csel = false |
Detailed Description
A DataFunction class wraps SPI communication over the digital bus.
The communication is configured at constructor level, while the transfer functions basically decorate the Arduino/Teensyduino SPIClass access with hardware bus addressing.
Definition at line 47 of file functions.h.
Constructor & Destructor Documentation
◆ DataFunction()
| functions::DataFunction::DataFunction | ( | bus::addr_t | address, |
| uint8_t | alt_function_idx, | ||
| const SPISettings & | spiSettings ) |
Definition at line 24 of file functions.cpp.
References functions::Function::address.
Referenced by functions::EEPROM25AA02::EEPROM25AA02(), metadata::MetadataMemory< dataSize >::MetadataMemory(), and functions::SR74HC16X::SR74HC16X().
Member Function Documentation
◆ begin_communication()
| void functions::DataFunction::begin_communication | ( | ) | const |
Definition at line 31 of file functions.cpp.
References functions::Function::address, alt_function_address, bus::spi, spi_settings, and use_csel.
Referenced by functions::UMatrixFunction::DataFunction(), functions::AD9834::init(), functions::EEPROM25AA02::read(), MetadataMemory74LVC138AD::read_from_hardware(), functions::EEPROM25AA02::read_status_register(), functions::AD5452::set_scale(), transfer16(), functions::SyncFunction::transfer16(), transfer32(), functions::EEPROM25AA02::write(), functions::EEPROM25AA02::write8(), functions::AD9834::write_frequency(), functions::AD9834::write_phase(), and functions::EEPROM25AA02::write_status_register().
◆ end_communication()
| void functions::DataFunction::end_communication | ( | ) | const |
Definition at line 60 of file functions.cpp.
References bus::spi.
Referenced by functions::UMatrixFunction::DataFunction(), functions::AD9834::init(), functions::EEPROM25AA02::read(), MetadataMemory74LVC138AD::read_from_hardware(), functions::EEPROM25AA02::read_status_register(), functions::AD5452::set_scale(), transfer16(), functions::SyncFunction::transfer16(), transfer32(), functions::EEPROM25AA02::write(), functions::EEPROM25AA02::write8(), functions::AD9834::write_frequency(), functions::AD9834::write_phase(), and functions::EEPROM25AA02::write_status_register().
◆ get_raw_spi()
|
staticprotected |
Definition at line 95 of file functions.cpp.
References bus::spi.
Referenced by functions::AD9834::init(), functions::EEPROM25AA02::read(), functions::EEPROM25AA02::read_status_register(), functions::EEPROM25AA02::write(), functions::EEPROM25AA02::write8(), functions::AD9834::write_frequency(), functions::AD9834::write_phase(), and functions::EEPROM25AA02::write_status_register().
◆ transfer()
| void functions::DataFunction::transfer | ( | const void * | mosi_buf, |
| void * | miso_buf, | ||
| size_t | count ) const |
Definition at line 68 of file functions.cpp.
Referenced by functions::SR74HCT595::transfer(), and functions::UMatrixFunction::transfer().
◆ transfer16()
| uint16_t functions::DataFunction::transfer16 | ( | uint16_t | data_in | ) | const |
Definition at line 81 of file functions.cpp.
References begin_communication(), end_communication(), and bus::spi.
Referenced by functions::TMP127Q1::read_temperature(), functions::SR74HCT595::transfer16(), functions::AD8402::write_channel_raw(), and functions::AD8403::write_channel_raw().
◆ transfer32()
Definition at line 88 of file functions.cpp.
References begin_communication(), end_communication(), bus::spi, and uint32_t.
Referenced by functions::SR74HCT595::transfer32().
◆ transfer8()
| uint8_t functions::DataFunction::transfer8 | ( | uint8_t | data_in | ) | const |
Definition at line 74 of file functions.cpp.
Referenced by functions::SR74HC16X::read8(), functions::EEPROM25AA02::set_write_enable(), functions::SR74HCT595::transfer8(), and functions::EEPROM25AA02::unset_write_enable().
Member Data Documentation
◆ alt_function_address
|
protected |
Definition at line 50 of file functions.h.
Referenced by begin_communication().
◆ spi_settings
| const SPISettings& functions::DataFunction::spi_settings |
Definition at line 54 of file functions.h.
Referenced by begin_communication(), and metadata::MetadataMemory< dataSize >::MetadataMemory().
◆ use_csel
|
protected |
Definition at line 51 of file functions.h.
Referenced by begin_communication().
The documentation for this class was generated from the following files:
- lib/hardware/src/bus/functions.h
- lib/hardware/src/bus/functions.cpp
Public Member Functions inherited from