REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
shblock.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#pragma once
6
7#include <block/shblock.h>
8#include <entity/hardware.h>
9
10namespace blocks {
11
13
15public:
16 explicit SHBlockHAL_V_0_1_X(bus::addr_t block_address);
17
18 void compensate_hardware_offsets(uint32_t track_time, uint32_t inject_time);
19 void set_state(SHState state) const;
20
21private:
22 // Default state after reset is inject with a potentially random inject current
23 const functions::TriggerFunction set_track;
24 const functions::TriggerFunction set_track_at_ic;
25 const functions::TriggerFunction set_gain;
26 const functions::TriggerFunction set_gain_channels_zero_to_seven;
27 const functions::TriggerFunction set_gain_channels_eight_to_fifteen;
28 const functions::TriggerFunction set_inject;
29};
30
31} // namespace blocks
void compensate_hardware_offsets(uint32_t track_time, uint32_t inject_time)
Definition shblock.cpp:40
SHBlockHAL_V_0_1_X(bus::addr_t block_address)
Definition shblock.cpp:31
void set_state(SHState state) const
Definition shblock.cpp:48
A trigger function exploits the fact that setting an address on the bus triggers an action (TODO: Is ...
Definition functions.h:33
uint32_t
Definition flasher.cpp:195