6#include <proto/main.pb.h>
7#include <block/ctrlblock.h>
10blocks::CTRLBlock::CTRLBlock(CTRLBlockHALBase *hardware) : FunctionBlock(
"CTRL", hardware), hardware(hardware) {
11 classifier.class_enum = CLASS_;
14metadata::eui_t blocks::CTRLBlock::get_entity_eui()
const {
16 return hardware->get_entity_eui();
20utils::status blocks::CTRLBlock::write_to_hardware() {
21 return utils::status(hardware->write_adc_bus_muxers(adc_bus));
24bool blocks::CTRLBlock::init() {
27 return utils::status(FunctionBlock::init() and write_to_hardware());
30blocks::CTRLBlock::ADCBus blocks::CTRLBlock::get_adc_bus()
const {
return adc_bus; }
32void blocks::CTRLBlock::set_adc_bus(blocks::CTRLBlock::ADCBus adc_bus_) { adc_bus = adc_bus_; }
34void blocks::CTRLBlock::reset_adc_bus() { adc_bus = ADCBus::ADC; }
36bool blocks::CTRLBlock::set_adc_bus_to_cluster_gain(uint8_t cluster_idx) {
39 set_adc_bus(
static_cast<ADCBus
>(cluster_idx));
43void blocks::CTRLBlock::reset(entities::ResetAction action) {
44 FunctionBlock::reset(action);
46 if (action.has(entities::ResetAction::CIRCUIT_RESET))
50status blocks::CTRLBlock::send_sync(uint8_t
id) {
51 if (!hardware->write_sync_id(
id))
52 return status(1,
"Error while sending SYNC.");
53 return status::success();