|
REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
redac.cpp
Go to the documentation of this file.
37 bp_redac_id(bus::address_from_tuple(bus::BACKPLANE_BADDR, BP_REDAC_ID_FADDR), 3, BP_REDAC_ID_SPI_SETTINGS),
41 f_adc0_switcher_prg(bus::idx_to_addr(0, bus::REDAC_ADC_PSEUDO_BLOCK_IDX, ADC_PRG_FADDR), 15, F_ADC_SWITCHER_PRG_SPI_SETTINGS),
44 f_adc1_switcher_prg(bus::idx_to_addr(1, bus::REDAC_ADC_PSEUDO_BLOCK_IDX, ADC_PRG_FADDR), 15, F_ADC_SWITCHER_PRG_SPI_SETTINGS),
47 f_adc2_switcher_prg(bus::idx_to_addr(2, bus::REDAC_ADC_PSEUDO_BLOCK_IDX, ADC_PRG_FADDR), 15, F_ADC_SWITCHER_PRG_SPI_SETTINGS),
51uint16_t platform::REDAC_HAL_V_1_0_X::read_backplane_and_slot_id() const { return bp_redac_id.transfer16(0); }
128platform::REDAC_V_1_1_X::REDAC_V_1_1_X(REDAC_HAL_V_1_1_X *hardware) : REDAC(hardware), fp_control_sr_state(0), hardware(hardware) {}
143platform::REDAC_V_1_1_X::FrontPanelIOMode platform::REDAC_V_1_1_X::get_io_mode(uint8_t io_number) const {
144 return static_cast<FrontPanelIOMode>(fp_control_sr_state & (0b10001 << (3 - io_number)) >> (3 - io_number));
147bool platform::REDAC_V_1_1_X::set_DIO_direction(uint8_t dio_number, bool input_from_ctrl_block) {
void reset_adc_bus_mux() override
Definition redac.cpp:98
static const SPISettings BP_REDAC_ID_SPI_SETTINGS
Definition redac.h:28
static constexpr uint8_t ADC_STROBE_FADDR
Definition redac.h:34
static constexpr uint8_t BP_REDAC_ID_FADDR
Definition redac.h:39
bool write_adc_bus_mux(const std::array< int8_t, 8 > &channels) override
Definition redac.cpp:53
const functions::TriggerFunction f_adc2_switcher_reset
Definition redac.h:58
const functions::TriggerFunction f_adc2_switcher_sync
Definition redac.h:59
const functions::ICommandRegisterFunction f_adc2_switcher_prg
Definition redac.h:57
const functions::TriggerFunction f_adc1_switcher_reset
Definition redac.h:54
const functions::TriggerFunction f_adc0_switcher_reset
Definition redac.h:50
const functions::TriggerFunction f_unset_standby
Definition redac.h:47
const functions::TriggerFunction f_adc0_switcher_sync
Definition redac.h:51
static const SPISettings F_ADC_SWITCHER_PRG_SPI_SETTINGS
Definition redac.h:31
uint16_t read_backplane_and_slot_id() const override
Definition redac.cpp:51
const functions::ICommandRegisterFunction f_adc0_switcher_prg
Definition redac.h:49
static constexpr uint8_t ADC_RESET_FADDR
Definition redac.h:33
static constexpr uint8_t STANDBY_UNSET_FADDR
Definition redac.h:36
static constexpr uint8_t STANDBY_SET_FADDR
Definition redac.h:35
const functions::TriggerFunction f_adc1_switcher_sync
Definition redac.h:55
const functions::TriggerFunction f_set_standby
Definition redac.h:46
const functions::ICommandRegisterFunction f_adc1_switcher_prg
Definition redac.h:53
static constexpr uint8_t ADC_PRG_FADDR
Definition redac.h:32
const functions::DataFunction bp_redac_id
Definition redac.h:42
Definition redac.h:62
const functions::TriggerFunction fp_control_reset
Definition redac.h:74
bool write_fp_control_register(uint16_t state)
Definition redac.cpp:116
const functions::TriggerFunction fp_control_sync
Definition redac.h:75
bool get_DIO_direction(uint8_t dio_number) const
Definition redac.cpp:166
FrontPanelIOMode get_io_mode(uint8_t io_number) const
Definition redac.cpp:143
status write_to_hardware() override
Definition redac.cpp:122
bool set_io_mode(uint8_t io_number, FrontPanelIOMode mode)
Definition redac.cpp:130
bool set_DIO_direction(uint8_t dio_number, bool input_from_ctrl_block)
Definition redac.cpp:147
REDAC_V_1_1_X(REDAC_HAL_V_1_1_X *hardware)
Definition redac.cpp:128
__attribute__((section(".fastrun"), noinline, noclone, optimize("Os"))) int flash_sector_not_erased(uint32_t address)
Definition flasher.cpp:114
entities::EntitySharedHardware< REDAC_HAL > REDAC_HAL_Parent
Definition redac.h:14