REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
mblock_int.h
Go to the documentation of this file.
89 static MIntBlock *from_entity_classifier(entities::EntityClassifier classifier, bus::addr_t block_address);
150 [[nodiscard]] const std::array<IntegratorCalibration, NUM_INTEGRATORS> &get_calibration() const;
Definition mblock.h:27
@ M_INT8_BLOCK
Definition mblock_int.h:25
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.h:29
std::bitset< 8 > read_overload_flags() override
Definition mblock_int.h:31
MIntBlockHAL_Dummy(bus::addr_t)
Definition mblock_int.h:35
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.h:27
metadata::eui_t get_entity_eui() const override
Definition mblock_int.h:37
void reset_overload_flags() override
Definition mblock_int.h:33
Definition mblock_int.h:40
std::bitset< 8 > read_overload_flags() override
Definition mblock_int.cpp:433
const functions::TriggerFunction f_overload_flags_reset
Definition mblock_int.h:48
MIntBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition mblock_int.cpp:405
metadata::eui_t get_entity_eui() const override
Definition mblock_int.h:61
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:419
const functions::SR74HCT595 f_time_factor
Definition mblock_int.h:44
const functions::SR74HC16X f_overload_flags
Definition mblock_int.h:47
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:426
const functions::TriggerFunction f_time_factor_sync
Definition mblock_int.h:45
const functions::TriggerFunction f_time_factor_reset
Definition mblock_int.h:46
void reset_overload_flags() override
Definition mblock_int.cpp:437
Definition mblock_int.h:64
virtual bool write_time_factor_gain(uint8_t idx, uint8_t gain)
Definition mblock_int.cpp:494
metadata::eui_t get_entity_eui() const override
Definition mblock_int.h:81
virtual bool write_limiters_enable(std::bitset< 8 > limiters)
Definition mblock_int.cpp:459
functions::AD8403 f_time_factor_gain_4_7
Definition mblock_int.h:67
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:443
functions::AD8403 f_time_factor_gain_0_3
Definition mblock_int.h:66
MIntBlockHAL_V_1_1_X(bus::addr_t block_address)
Definition mblock_int.cpp:439
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:487
virtual bool write_time_factor_switches_and_limiters_enable(std::bitset< 8 > switches, std::bitset< 8 > limiters)
Definition mblock_int.cpp:476
Definition mblock_int.h:19
virtual bool write_time_factor_switches(std::bitset< 8 > switches)=0
virtual bool write_ic(uint8_t idx, float ic)=0
Definition mblock_int.h:143
std::array< IntegratorCalibration, NUM_INTEGRATORS > calibration
Definition mblock_int.h:159
utils::status write_calibration_to_hardware()
Definition mblock_int.cpp:329
void reset(entities::ResetAction action) override
Definition mblock_int.cpp:250
MIntBlock_V_1_1_X(SLOT slot, MIntBlockHAL_V_1_1_X *hardware)
Definition mblock_int.cpp:400
bool _gain_calibration(bool use_slow_integration)
Definition mblock_int.cpp:338
const std::array< IntegratorCalibration, NUM_INTEGRATORS > & get_calibration() const
Definition mblock_int.cpp:261
utils::status write_to_hardware() override
returns true in case of success
Definition mblock_int.cpp:271
bool calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) override
Definition mblock_int.cpp:279
Definition mblock_int.h:84
void config_self_to_json(JsonObject &cfg) override
Serialize the configuration of this entity to a JsonObject.
Definition mblock_int.cpp:213
const std::array< unsigned int, 8 > & get_time_factors() const
Definition mblock_int.cpp:74
static MIntBlock * from_entity_classifier(entities::EntityClassifier classifier, bus::addr_t block_address)
Definition mblock_int.cpp:223
utils::status _config_elements_from_json(const JsonVariantConst &cfg)
Definition mblock_int.cpp:164
MIntBlock(SLOT slot, MIntBlockHAL *hardware)
Definition mblock_int.cpp:26
bool set_time_factor(uint8_t int_idx, unsigned int k)
Definition mblock_int.cpp:98
const std::array< float, 8 > & get_ic_values() const
Definition mblock_int.cpp:41
bool set_ic_value(uint8_t idx, float value)
Definition mblock_int.cpp:63
static constexpr std::array< uint8_t, NUM_INTEGRATORS > INTEGRATORS_INPUT_RANGE()
Definition mblock_int.h:95
static constexpr unsigned int DEFAULT_TIME_FACTOR
Definition mblock_int.h:93
std::array< unsigned int, NUM_INTEGRATORS > time_factors
Definition mblock_int.h:107
void reset(entities::ResetAction action) override
Definition mblock_int.cpp:132
metadata::eui_t get_entity_eui() const override
Definition mblock_int.cpp:20
std::array< float, NUM_INTEGRATORS > ic_values
Definition mblock_int.h:106
bool set_time_factors(unsigned int k)
Definition mblock_int.cpp:91
utils::status config_self_from_json(JsonObjectConst cfg) override
Deserialize a new configuration for this entity from a JsonObject.
Definition mblock_int.cpp:148
unsigned int get_time_factor(uint8_t idx) const
Definition mblock_int.cpp:78
static constexpr uint8_t NUM_INTEGRATORS
Definition mblock_int.h:92
utils::status write_to_hardware() override
returns true in case of success
Definition mblock_int.cpp:113
static constexpr std::array< uint8_t, NUM_INTEGRATORS > INTEGRATORS_OUTPUT_RANGE()
Definition mblock_int.h:99
The DAC60508 is the 12-Bit 8-channel DAC, used in the MInt-Block for the initial conditions.
Definition DAC60508.h:17
Definition SR74HC16X.h:12
The SR74HCT595 is an 8-Bit Shift Register with 3-State Output Registers.
Definition SR74HCT595.h:16
A trigger function exploits the fact that setting an address on the bus triggers an action (TODO: Is ...
Definition functions.h:33
Definition entity.h:32
A recoverable error, inspired from https://abseil.io/docs/cpp/guides/status and https://github....
Definition error.h:35
struct __attribute__((packed)) IntegratorCalibration
Calibration data for each integrator.
Definition mblock_int.h:14
Definition protocol.h:20
Definition base.h:101