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

#include <lucidac.h>

Inheritance diagram for platform::LUCIDAC_HAL:
Collaboration diagram for platform::LUCIDAC_HAL:

Public Types

enum class  ACL { INTERNAL_ = 0 , EXTERNAL_ = 1 }
 

Public Member Functions

 LUCIDAC_HAL ()
 
bool write_acl (std::array< ACL, 8 > acl)
 Write bits to ACL shift register, from I-block input 24 (first element) to 31 (last element)
 
void reset_acl ()
 
bool write_adc_bus_mux (const std::array< int8_t, 8 > &channels) override
 Write channel selection to ADC bus muxer.
 
void reset_adc_bus_mux () override
 
- Public Member Functions inherited from carrier::Carrier_HAL

Static Public Attributes

static constexpr uint8_t CARRIER_MADDR = 5
 
static constexpr uint8_t METADATA_FADDR = bus::METADATA_FUNC_IDX
 
static constexpr uint8_t TEMPERATURE_FADDR = 1
 
static constexpr uint8_t ADC_PRG_FADDR = 2
 
static constexpr uint8_t ADC_RESET_8816_FADDR = 3
 
static constexpr uint8_t ADC_RESET_SR_FADDR = 4
 
static constexpr uint8_t ADC_STROBE_FADDR = 5
 
static constexpr uint8_t ACL_PRG_FADDR = 6
 
static constexpr uint8_t ACL_UPD_FADDR = 7
 
static constexpr uint8_t ACL_CRL_FADDR = 8
 

Protected Attributes

const functions::SR74HCT595 f_acl_prg
 
const functions::TriggerFunction f_acl_upd
 
const functions::TriggerFunction f_acl_clr
 
const functions::ICommandRegisterFunction f_adc_switcher_prg
 
const functions::TriggerFunction f_adc_switcher_sync
 
const functions::TriggerFunction f_adc_switcher_sr_reset
 
const functions::TriggerFunction f_adc_switcher_matrix_reset
 
const functions::TMP127Q1 f_temperature
 

Static Protected Attributes

static const SPISettings F_ADC_SWITCHER_PRG_SPI_SETTINGS
 

Detailed Description

Definition at line 15 of file lucidac.h.

Member Enumeration Documentation

◆ ACL

enum class platform::LUCIDAC_HAL::ACL
strong
Enumerator
INTERNAL_ 
EXTERNAL_ 

Definition at line 49 of file lucidac.h.

Constructor & Destructor Documentation

◆ LUCIDAC_HAL()

FLASHMEM LUCIDAC_HAL::LUCIDAC_HAL ( )

Definition at line 16 of file lucidac.cpp.

Member Function Documentation

◆ reset_acl()

FLASHMEM void LUCIDAC_HAL::reset_acl ( )

Definition at line 40 of file lucidac.cpp.

References f_acl_clr, f_acl_upd, and functions::TriggerFunction::trigger().

◆ reset_adc_bus_mux()

FLASHMEM void LUCIDAC_HAL::reset_adc_bus_mux ( )
overridevirtual

Implements carrier::Carrier_HAL.

Definition at line 63 of file lucidac.cpp.

References f_adc_switcher_matrix_reset, and functions::TriggerFunction::trigger().

Referenced by write_adc_bus_mux().

◆ write_acl()

FLASHMEM bool LUCIDAC_HAL::write_acl ( std::array< ACL, 8 > acl)

Write bits to ACL shift register, from I-block input 24 (first element) to 31 (last element)

Definition at line 27 of file lucidac.cpp.

References EXTERNAL_, f_acl_prg, f_acl_upd, functions::SR74HCT595::transfer8(), and functions::TriggerFunction::trigger().

Referenced by platform::LUCIDAC::calibrate_routes(), and platform::LUCIDAC::write_to_hardware().

◆ write_adc_bus_mux()

FLASHMEM bool LUCIDAC_HAL::write_adc_bus_mux ( const std::array< int8_t, 8 > & channels)
overridevirtual

Write channel selection to ADC bus muxer.

Each element in channels selects the input index for the n-th ADC bus output (-1 disables).

Implements carrier::Carrier_HAL.

Definition at line 45 of file lucidac.cpp.

References functions::ICommandRegisterFunction::chip_cmd_word(), f_adc_switcher_prg, f_adc_switcher_sync, reset_adc_bus_mux(), functions::SR74HCT595::transfer8(), and functions::TriggerFunction::trigger().

Member Data Documentation

◆ ACL_CRL_FADDR

uint8_t platform::LUCIDAC_HAL::ACL_CRL_FADDR = 8
staticconstexpr

Definition at line 28 of file lucidac.h.

◆ ACL_PRG_FADDR

uint8_t platform::LUCIDAC_HAL::ACL_PRG_FADDR = 6
staticconstexpr

Definition at line 26 of file lucidac.h.

◆ ACL_UPD_FADDR

uint8_t platform::LUCIDAC_HAL::ACL_UPD_FADDR = 7
staticconstexpr

Definition at line 27 of file lucidac.h.

◆ ADC_PRG_FADDR

uint8_t platform::LUCIDAC_HAL::ADC_PRG_FADDR = 2
staticconstexpr

Definition at line 22 of file lucidac.h.

◆ ADC_RESET_8816_FADDR

uint8_t platform::LUCIDAC_HAL::ADC_RESET_8816_FADDR = 3
staticconstexpr

Definition at line 23 of file lucidac.h.

◆ ADC_RESET_SR_FADDR

uint8_t platform::LUCIDAC_HAL::ADC_RESET_SR_FADDR = 4
staticconstexpr

Definition at line 24 of file lucidac.h.

◆ ADC_STROBE_FADDR

uint8_t platform::LUCIDAC_HAL::ADC_STROBE_FADDR = 5
staticconstexpr

Definition at line 25 of file lucidac.h.

◆ CARRIER_MADDR

uint8_t platform::LUCIDAC_HAL::CARRIER_MADDR = 5
staticconstexpr

Definition at line 18 of file lucidac.h.

◆ f_acl_clr

const functions::TriggerFunction platform::LUCIDAC_HAL::f_acl_clr
protected

Definition at line 34 of file lucidac.h.

Referenced by reset_acl().

◆ f_acl_prg

const functions::SR74HCT595 platform::LUCIDAC_HAL::f_acl_prg
protected

Definition at line 32 of file lucidac.h.

Referenced by write_acl().

◆ f_acl_upd

const functions::TriggerFunction platform::LUCIDAC_HAL::f_acl_upd
protected

Definition at line 33 of file lucidac.h.

Referenced by reset_acl(), and write_acl().

◆ f_adc_switcher_matrix_reset

const functions::TriggerFunction platform::LUCIDAC_HAL::f_adc_switcher_matrix_reset
protected

Definition at line 42 of file lucidac.h.

Referenced by reset_adc_bus_mux().

◆ f_adc_switcher_prg

const functions::ICommandRegisterFunction platform::LUCIDAC_HAL::f_adc_switcher_prg
protected

Definition at line 39 of file lucidac.h.

Referenced by write_adc_bus_mux().

◆ F_ADC_SWITCHER_PRG_SPI_SETTINGS

const SPISettings platform::LUCIDAC_HAL::F_ADC_SWITCHER_PRG_SPI_SETTINGS
staticprotected
Initial value:
{
4'000'000, MSBFIRST, SPI_MODE2 }

Definition at line 9 of file lucidac.h.

◆ f_adc_switcher_sr_reset

const functions::TriggerFunction platform::LUCIDAC_HAL::f_adc_switcher_sr_reset
protected

Definition at line 41 of file lucidac.h.

◆ f_adc_switcher_sync

const functions::TriggerFunction platform::LUCIDAC_HAL::f_adc_switcher_sync
protected

Definition at line 40 of file lucidac.h.

Referenced by write_adc_bus_mux().

◆ f_temperature

const functions::TMP127Q1 platform::LUCIDAC_HAL::f_temperature
protected

Definition at line 44 of file lucidac.h.

◆ METADATA_FADDR

uint8_t platform::LUCIDAC_HAL::METADATA_FADDR = bus::METADATA_FUNC_IDX
staticconstexpr

Definition at line 20 of file lucidac.h.

◆ TEMPERATURE_FADDR

uint8_t platform::LUCIDAC_HAL::TEMPERATURE_FADDR = 1
staticconstexpr

Definition at line 21 of file lucidac.h.


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