REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
ctrlblock.h
Go to the documentation of this file.
1// Copyright (c) 2024 anabrid GmbH
2// Contact: https://www.anabrid.com/licensing/
3//
4// SPDX-License-Identifier: MIT OR GPL-2.0-or-later
5
6#include <Arduino.h>
7#include <block/ctrlblock.h>
8#include <bus/functions.h>
9#include <chips/SR74HCT595.h>
10#include <entity/meta.h>
11
12namespace functions {
13
14class SyncFunction : public DataFunction {
15public:
18};
19
20} // namespace functions
21
22namespace blocks {
23
24class CTRLBlockHAL_V_1_0_2 : public CTRLBlockHALBase {
25protected:
26 static const SPISettings F_SYNC_SPI_SETTINGS;
27
29 // TODO
33
34public:
35 CTRLBlockHAL_V_1_0_2(bus::addr_t block_address);
36
37 bool write_adc_bus_muxers(ADCBus adc_bus) override;
38
39 bool write_sync_id(uint8_t id) override;
40
41 metadata::eui_t get_entity_eui() const override { return f_meta.read_eui(); }
42
43 // private:
44 // float read_temperature() override;
45};
46
47} // namespace blocks
const functions::SR74HCT595 f_adc_mux
Definition ctrlblock.h:30
metadata::eui_t get_entity_eui() const override
Definition ctrlblock.h:41
const functions::SyncFunction f_sync
Definition ctrlblock.h:32
bool write_adc_bus_muxers(ADCBus adc_bus) override
Definition ctrlblock.cpp:17
const metadata::MetadataEditor f_meta
Definition ctrlblock.h:28
const functions::TriggerFunction f_adc_mux_latch
Definition ctrlblock.h:31
static const SPISettings F_SYNC_SPI_SETTINGS
Definition ctrlblock.h:10
CTRLBlockHAL_V_1_0_2(bus::addr_t block_address)
Definition ctrlblock.cpp:12
bool write_sync_id(uint8_t id) override
Definition ctrlblock.cpp:26
A DataFunction class wraps SPI communication over the digital bus.
Definition functions.h:47
uint16_t transfer16(uint16_t data_in) const
Definition functions.cpp:54
DataFunction(bus::addr_t address, const SPISettings &spiSettings)
Definition functions.cpp:16
The SR74HCT595 is an 8-Bit Shift Register with 3-State Output Registers.
Definition SR74HCT595.h:15
A trigger function exploits the fact that setting an address on the bus triggers an action (TODO: Is ...
Definition functions.h:33
eui_t read_eui() const
Definition meta.h:26
namespace for internal helpers
Definition ctrlblock.h:12