REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
iblock.h
Go to the documentation of this file.
1#pragma once
2
3#include "block/iblock.h"
4#include "icmd.h"
5
6#include <bus/functions.h>
7#include <entity/meta.h>
8
9namespace blocks {
10
11class IBlockHAL_V_1_2_X : public IBlockHAL {
12protected:
17
20
21public:
22 explicit IBlockHAL_V_1_2_X(bus::addr_t block_address);
23
24 bool write_outputs(const std::array<uint32_t, 16> &outputs) override;
25
26 bool write_upscaling(std::bitset<32> upscaling) override;
27
28 metadata::eui_t get_entity_eui() const override { return f_meta.read_eui(); }
29};
30
31} // namespace blocks
const functions::TriggerFunction f_imatrix_reset
Definition iblock.h:15
bool write_upscaling(std::bitset< 32 > upscaling) override
Definition iblock.cpp:91
IBlockHAL_V_1_2_X(bus::addr_t block_address)
Definition iblock.cpp:14
const functions::TriggerFunction scaling_register_sync
Definition iblock.h:19
const metadata::MetadataEditor f_meta
Definition iblock.h:13
const functions::SR74HCT595 scaling_register
Definition iblock.h:18
metadata::eui_t get_entity_eui() const override
Definition iblock.h:28
const functions::TriggerFunction f_imatrix_sync
Definition iblock.h:16
const functions::ICommandRegisterFunction f_cmd
Definition iblock.h:14
bool write_outputs(const std::array< uint32_t, 16 > &outputs) override
Definition iblock.cpp:21
DataFunction to transfer 32bit of data to the I-Block matrix command registry.
Definition icmd.h:19
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