REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
cblock.h
Go to the documentation of this file.
1#pragma once
2
3#include <block/cblock.h>
4#include <entity/meta.h>
5#include <utils/logging.h>
6
7#include <chips/AD5452.h>
8
9namespace blocks {
10
11class CBlockHAL_Common : public CBlockHAL {
12protected:
14 std::array<functions::AD5452, 32> f_coeffs;
15
16public:
17 static std::array<functions::AD5452, 32> make_f_coeffs(bus::addr_t block_address,
18 std::array<const uint8_t, 32> f_coeffs_cs);
19
20 CBlockHAL_Common(bus::addr_t block_address, std::array<const uint8_t, 32> f_coeffs_cs);
21
22 bool write_factor(uint8_t idx, float value) override;
23
24 metadata::eui_t get_entity_eui() const override { return f_meta.read_eui(); }
25};
26
28public:
29 explicit CBlockHAL_V_1_1_X(bus::addr_t block_address);
30};
31
33public:
34 explicit CBlockHAL_V_1_0_X(bus::addr_t block_address);
35};
36
37} // namespace blocks
std::array< functions::AD5452, 32 > f_coeffs
Definition cblock.h:14
const metadata::MetadataEditor f_meta
Definition cblock.h:13
CBlockHAL_Common(bus::addr_t block_address, std::array< const uint8_t, 32 > f_coeffs_cs)
Definition cblock.cpp:47
bool write_factor(uint8_t idx, float value) override
Definition cblock.cpp:51
static std::array< functions::AD5452, 32 > make_f_coeffs(bus::addr_t block_address, std::array< const uint8_t, 32 > f_coeffs_cs)
Definition cblock.cpp:12
metadata::eui_t get_entity_eui() const override
Definition cblock.h:24
CBlockHAL_V_1_0_X(bus::addr_t block_address)
Definition cblock.cpp:70
CBlockHAL_V_1_1_X(bus::addr_t block_address)
Definition cblock.cpp:59
eui_t read_eui() const
Definition meta.h:26