REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches

DataFunction to transfer 32bit of data to the I-Block matrix command registry. More...

#include <icmd.h>

Inheritance diagram for functions::ICommandRegisterFunction:
Collaboration diagram for functions::ICommandRegisterFunction:

Public Member Functions

 ICommandRegisterFunction (bus::addr_t address)
 
 SR74HCT595 (bus::addr_t address, bool shift_clock=false)
 
- Public Member Functions inherited from functions::SR74HCT595
 SR74HCT595 (bus::addr_t address, bool shift_clock=false)
 
bool transfer (const void *mosi_buf, void *miso_buf, size_t count) const
 
bool transfer8 (uint8_t data_in, uint8_t *data_out=nullptr) const
 
bool transfer16 (uint16_t data_in, uint16_t *data_out=nullptr) const
 
bool transfer32 (uint32_t data_in, uint32_t *data_out=nullptr) const
 
 DataFunction (bus::addr_t address, const SPISettings &spiSettings)
 
- Public Member Functions inherited from functions::DataFunction
 DataFunction (bus::addr_t address, 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)
 

Static Public Member Functions

static uint8_t chip_cmd_word (uint8_t chip_input_idx, uint8_t chip_output_idx, bool connect=true)
 

Static Public Attributes

static const SPISettings DEFAULT_SPI_SETTINGS
 
- Static Public Attributes inherited from functions::SR74HCT595
static const SPISettings DEFAULT_SPI_SETTINGS
 
static const SPISettings DEFAULT_SPI_SETTINGS_SHIFTED_CLOCK
 

Additional Inherited Members

- Public Attributes inherited from functions::DataFunction
const SPISettings & spi_settings
 
- Public Attributes inherited from functions::Function
const bus::addr_t address
 
- Static Protected Member Functions inherited from functions::DataFunction
static SPIClass & get_raw_spi ()
 

Detailed Description

DataFunction to transfer 32bit of data to the I-Block matrix command registry.

Data is [8bit 4_* SR][8bit 3_* SR][8bit 2_* SR][8bit 1_* SR] -> [0-15 X 0-07][16-31 X 0-7][0-15 X 8-15][16-31 X 8-15] [ input X output ] matrix Each is [DATA Y2 Y1 Y0 X3 X2 X1 X0] Data bit comes first, most significant bit comes first (in SPI)

See chip_cmd_word and IBlock::write_to_hardware for more information and the actual calculation of the bitstream.

Definition at line 19 of file icmd.h.

Constructor & Destructor Documentation

◆ ICommandRegisterFunction()

functions::ICommandRegisterFunction::ICommandRegisterFunction ( bus::addr_t address)
explicit

Definition at line 15 of file icmd.cpp.

Member Function Documentation

◆ chip_cmd_word()

uint8_t functions::ICommandRegisterFunction::chip_cmd_word ( uint8_t chip_input_idx,
uint8_t chip_output_idx,
bool connect = true )
static

Definition at line 18 of file icmd.cpp.

Referenced by blocks::IBlockHAL_V_1_2_X::write_outputs().

◆ SR74HCT595()

functions::SR74HCT595::SR74HCT595 ( bus::addr_t address,
bool shift_clock = false )

Definition at line 21 of file SR74HCT595.cpp.

Member Data Documentation

◆ DEFAULT_SPI_SETTINGS

const SPISettings functions::ICommandRegisterFunction::DEFAULT_SPI_SETTINGS
static
Initial value:
{
4'000'000, MSBFIRST, SPI_MODE2 }

Definition at line 12 of file icmd.h.


The documentation for this class was generated from the following files:
  • lib/hardware/src/block/teensy/icmd.h
  • lib/hardware/src/block/teensy/icmd.cpp