|
REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
mblock_int.cpp
Go to the documentation of this file.
22blocks::MIntBlock *blocks::MIntBlock::from_entity_classifier(entities::EntityClassifier classifier,
24 if (!classifier or classifier.class_enum != CLASS_ or classifier.type != static_cast<uint8_t>(TYPE))
90 if (!hardware->write_time_factor_switches_and_limiters_enable(time_factor_switches, _limiters_enabled))
96status blocks::MIntBlock_V_1_1_X::calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) {
109 // Connect +0.1 to all integrator inputs. 0.1 because we have high precision and a long integration time.
111 success.attach(cluster->add_constant(UBlock::Transmission_Mode::POS_REF, slot_to_global_io_index(idx),
144 if (!hardware->write_time_factor_gain(i, time_factors[i] == 10000 ? calibration[i].time_factor_gain_fast
164 if (!mode::FlexIOControl::init(mode::DEFAULT_IC_TIME, use_slow_integration ? 200'000'000 : 2'000'000,
274blocks::MIntBlockHAL_V_1_1_X::write_time_factor_switches_and_limiters_enable(std::bitset<8> switches,
MIntBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition mblock_int.cpp:233
const functions::TriggerFunction f_overload_flags_reset
Definition mblock_int.h:27
std::bitset< 8 > read_overload_flags() override
Definition mblock_int.cpp:262
const functions::SR74HCT595 f_time_factor
Definition mblock_int.h:23
const functions::SR74HC16X f_overload_flags
Definition mblock_int.h:26
void reset_overload_flags() override
Definition mblock_int.cpp:266
const functions::TriggerFunction f_time_factor_sync
Definition mblock_int.h:24
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:255
const functions::TriggerFunction f_time_factor_reset
Definition mblock_int.h:25
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:248
Definition mblock_int.h:41
virtual bool write_time_factor_gain(uint8_t idx, uint8_t gain)
Definition mblock_int.cpp:292
virtual bool write_time_factor_switches_and_limiters_enable(std::bitset< 8 > switches, std::bitset< 8 > limiters)
Definition mblock_int.cpp:274
functions::AD8403 f_time_factor_gain_4_7
Definition mblock_int.h:44
functions::AD8403 f_time_factor_gain_0_3
Definition mblock_int.h:43
MIntBlockHAL_V_1_1_X(bus::addr_t block_address)
Definition mblock_int.cpp:268
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:285
void reset(entities::ResetAction action) override
Definition mblock_int.cpp:49
std::array< IntegratorCalibration, NUM_INTEGRATORS > calibration
Definition mblock_int.h:78
status calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) override
Definition mblock_int.cpp:96
status _gain_calibration(bool use_slow_integration)
Definition mblock_int.cpp:151
utils::status write_to_hardware() override
Definition mblock_int.cpp:73
MIntBlock_V_1_1_X(SLOT slot, MIntBlockHAL_V_1_1_X *hardware)
Definition mblock_int.cpp:210
const std::array< IntegratorCalibration, NUM_INTEGRATORS > & get_calibration() const
Definition mblock_int.cpp:63
utils::status write_calibration_to_hardware()
Definition mblock_int.cpp:142
std::bitset< NUM_INTEGRATORS > _limiters_enabled
Definition mblock_int.h:79
ConfigResult config(const pb_Config &cfg) override
Definition mblock_int.cpp:213
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, SyncConfig sync_config={})
Definition mode.cpp:95
Definition shblock.cpp:11
entities::EntitySharedHardware< MIntBlockHAL > MIntBlockHAL_Parent
Definition mblock_int.h:18