|
REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
tblock.cpp
Go to the documentation of this file.
8 4'000'000, MSBFIRST, SPI_MODE2 /* Chip expects MODE0, CLK is inverted on the way, but MOSI is not, thus CLK must be shifted */};
11 : TBlockHAL_Parent(block_address, 7), f_set_mux_disable{bus::replace_function_idx(block_address, 5)},
12 f_reset_mux_disable{bus::replace_function_idx(block_address, 6)}, f_reset_connections{bus::replace_function_idx(block_address, 4)},
13 f_connections{bus::replace_function_idx(block_address, 2), 7, F_CONNECTION_SPI_SETTINGS}, f_connections_sync{
21 // Order of muxes in function argument is sources for output [bpl_ch0, cl0_ch0, cl1_ch0, cl2_ch0, bpl_ch1,
25 // Fill up MOSI buffer in reverse because MSBFirst flag doesnt mirror the byte order but only the bytes
46TBlock *TBlock::from_entity_classifier(entities::EntityClassifier classifier, bus::addr_t block_address) {
61TBlockBackplane *TBlockBackplane::from_entity_classifier(entities::EntityClassifier classifier, bus::addr_t block_address) {
77 4'000'000, MSBFIRST, SPI_MODE2 /* Chip expects MODE0, CLK is inverted on the way, but MOSI is not, thus CLK must be shifted */};
80 : TBlockBackplaneHAL_Parent(block_address, 0xff), f_set_mux_disable{bus::replace_function_idx(block_address, 5)},
81 f_reset_mux_disable{bus::replace_function_idx(block_address, 6)}, f_connections{bus::replace_function_idx(block_address, 2), 0xff,
83 f_reset_connections{bus::replace_function_idx(block_address, 4)}, f_connections_sync{bus::replace_function_idx(block_address, 3)} {}
102 // Order of mux data is completly crazy, as we have 3 bits per mux. So each byte holds partial data for three muxes
HAL class for TBlockBackplane version 1.0.1.
Definition tblock.h:45
const functions::TriggerFunction f_reset_connections
Definition tblock.h:51
const functions::TriggerFunction f_connections_sync
Definition tblock.h:52
void reset_mux_disable() override
Definition tblock.cpp:135
const functions::SR74HCT595 f_connections
Definition tblock.h:50
const functions::TriggerFunction f_reset_mux_disable
Definition tblock.h:48
static const SPISettings F_CONNECTION_SPI_SETTINGS
Definition tblock.h:54
const functions::TriggerFunction f_set_mux_disable
Definition tblock.h:47
bool write_muxes(std::array< uint8_t, NUM_SWITCHES > muxes) override
Definition tblock.cpp:101
void set_mux_disable() override
Definition tblock.cpp:133
TBlockBackplaneHAL_V_1_0_X(bus::addr_t block_address)
Definition tblock.cpp:79
const functions::TriggerFunction f_reset_mux_disable
Definition tblock.h:22
void reset_mux_disable() override
Definition tblock.cpp:18
bool write_muxes(std::array< uint8_t, NUM_SWITCHES > muxes) override
Definition tblock.cpp:20
static const SPISettings F_CONNECTION_SPI_SETTINGS
Definition tblock.h:27
TBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition tblock.cpp:10
const functions::TriggerFunction f_set_mux_disable
Definition tblock.h:21
const functions::TriggerFunction f_connections_sync
Definition tblock.h:25
const functions::TriggerFunction f_reset_connections
Definition tblock.h:23
const functions::SR74HCT595 f_connections
Definition tblock.h:24
constexpr auto bitset2array(const std::bitset< NumBits > &bits) -> std::array< uint8_t,(NumBits+7)/8 >
Definition tblock.cpp:86
Definition shblock.cpp:11
entities::EntitySharedHardware< TBlockHAL > TBlockHAL_Parent
Definition tblock.h:14
entities::EntitySharedHardware< TBlockBackplaneHAL > TBlockBackplaneHAL_Parent
Definition tblock.h:40