|
REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
mblock_int.cpp
Go to the documentation of this file.
45FLASHMEM blocks::IntegratorCalibration blocks::MIntBlock_V_1_1_X::get_calibration(uint8_t int_idx) const {
59FLASHMEM bool blocks::MIntBlock_V_1_1_X::calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) {
73 // Connect +0.1 to all integrator inputs. 0.1 because we have high precision and a long integration time.
131 if (!mode::FlexIOControl::init(use_slow_integration ? mode::DEFAULT_IC_TIME * 100 : mode::DEFAULT_IC_TIME,
206FLASHMEM bool blocks::MIntBlockHAL_V_1_0_X::write_time_factor_switches(std::bitset<8> switches) {
217FLASHMEM void blocks::MIntBlockHAL_V_1_0_X::reset_overload_flags() { f_overload_flags_reset.trigger(); }
220 : MIntBlockHAL_V_1_0_X(block_address), f_time_factor_gain_0_3(bus::replace_function_idx(block_address, 8)),
223FLASHMEM bool blocks::MIntBlockHAL_V_1_1_X::write_time_factor_switches(std::bitset<8> switches) {
224 // In version 1.1, a new shift register has been chained behind the time factors shift register,
256blocks::MIntBlockHAL_V_1_1_X::write_time_factor_switches_and_limiters_enable(std::bitset<8> switches,
Definition mblock_int.h:18
std::bitset< 8 > read_overload_flags() override
Definition mblock_int.cpp:213
MIntBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition mblock_int.cpp:185
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:199
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:206
void reset_overload_flags() override
Definition mblock_int.cpp:217
Definition mblock_int.h:42
virtual bool write_time_factor_gain(uint8_t idx, uint8_t gain)
Definition mblock_int.cpp:274
virtual bool write_limiters_enable(std::bitset< 8 > limiters)
Definition mblock_int.cpp:239
bool write_time_factor_switches(std::bitset< 8 > switches) override
Definition mblock_int.cpp:223
MIntBlockHAL_V_1_1_X(bus::addr_t block_address)
Definition mblock_int.cpp:219
bool write_ic(uint8_t idx, float ic) override
Definition mblock_int.cpp:267
virtual bool write_time_factor_switches_and_limiters_enable(std::bitset< 8 > switches, std::bitset< 8 > limiters)
Definition mblock_int.cpp:256
std::array< IntegratorCalibration, NUM_INTEGRATORS > calibration
Definition mblock_int.h:78
utils::status write_calibration_to_hardware()
Definition mblock_int.cpp:109
void reset(entities::ResetAction action) override
Definition mblock_int.cpp:30
MIntBlock_V_1_1_X(SLOT slot, MIntBlockHAL_V_1_1_X *hardware)
Definition mblock_int.cpp:180
bool _gain_calibration(bool use_slow_integration)
Definition mblock_int.cpp:118
const std::array< IntegratorCalibration, NUM_INTEGRATORS > & get_calibration() const
Definition mblock_int.cpp:41
utils::status write_to_hardware() override
Definition mblock_int.cpp:51
bool calibrate(platform::Cluster *cluster, carrier::Carrier *carrier) override
Definition mblock_int.cpp:59
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