REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
mblock_int.cpp
Go to the documentation of this file.
23FLASHMEM blocks::MIntBlock *blocks::MIntBlock::from_entity_classifier(entities::EntityClassifier classifier,
25 if (!classifier or classifier.class_enum != CLASS_ or classifier.type != static_cast<uint8_t>(TYPE))
65FLASHMEM blocks::IntegratorCalibration blocks::MIntBlock_V_1_1_X::get_calibration(uint8_t int_idx) const {
79FLASHMEM bool blocks::MIntBlock_V_1_1_X::calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) {
93 // Connect +0.1 to all integrator inputs. 0.1 because we have high precision and a long integration time.
151 if (!mode::FlexIOControl::init(use_slow_integration ? mode::DEFAULT_IC_TIME * 100 : mode::DEFAULT_IC_TIME,
227FLASHMEM bool blocks::MIntBlockHAL_V_1_0_X::write_time_factor_switches(std::bitset<8> switches) {
238FLASHMEM void blocks::MIntBlockHAL_V_1_0_X::reset_overload_flags() { f_overload_flags_reset.trigger(); }
241 : MIntBlockHAL_V_1_0_X(block_address), f_time_factor_gain_0_3(bus::replace_function_idx(block_address, 8)),
244FLASHMEM bool blocks::MIntBlockHAL_V_1_1_X::write_time_factor_switches(std::bitset<8> switches) {
245 // In version 1.1, a new shift register has been chained behind the time factors shift register,
277blocks::MIntBlockHAL_V_1_1_X::write_time_factor_switches_and_limiters_enable(std::bitset<8> switches,
Definition mblock_int.h:20
std::bitset< 8 > read_overload_flags() override
Definition mblock_int.cpp:234
MIntBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition mblock_int.cpp:205
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:220
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:227
void reset_overload_flags() override
Definition mblock_int.cpp:238
Definition mblock_int.h:42
virtual bool write_time_factor_gain(uint8_t idx, uint8_t gain)
Definition mblock_int.cpp:295
virtual bool write_limiters_enable(std::bitset< 8 > limiters)
Definition mblock_int.cpp:260
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:244
MIntBlockHAL_V_1_1_X(bus::addr_t block_address)
Definition mblock_int.cpp:240
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:288
virtual bool write_time_factor_switches_and_limiters_enable(std::bitset< 8 > switches, std::bitset< 8 > limiters)
Definition mblock_int.cpp:277
std::array< IntegratorCalibration, NUM_INTEGRATORS > calibration
Definition mblock_int.h:76
utils::status write_calibration_to_hardware()
Definition mblock_int.cpp:129
void reset(entities::ResetAction action) override
Definition mblock_int.cpp:50
MIntBlock_V_1_1_X(SLOT slot, MIntBlockHAL_V_1_1_X *hardware)
Definition mblock_int.cpp:200
bool _gain_calibration(bool use_slow_integration)
Definition mblock_int.cpp:138
const std::array< IntegratorCalibration, NUM_INTEGRATORS > & get_calibration() const
Definition mblock_int.cpp:61
utils::status write_to_hardware() override
Definition mblock_int.cpp:71
bool calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) override
Definition mblock_int.cpp:79
static bool init(unsigned long long ic_time_ns, unsigned long long op_time_ns, mode::OnOverload on_overload=mode::OnOverload::HALT, mode::OnExtHalt on_ext_halt=mode::OnExtHalt::IGNORE, mode::Sync sync=mode::Sync::NONE)
Definition mode.cpp:95
Definition shblock.cpp:8