REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
hardware.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#pragma once
7
8#include <entity/base.h>
9#include <entity/entity.h>
10#include <entity/meta.h>
11
12#include <chips/TMP127Q1.h>
13
14namespace entities {
15
16template<class Parent> class EntitySharedHardware : public Parent {
17protected:
20
21 EntitySharedHardware(bus::addr_t f_meta_addr, bus::addr_t temperature_sensor_addr)
22 : f_meta(f_meta_addr), temperature_sensor(temperature_sensor_addr) {}
23
24 // Normally, we can deduce the temperature address at default position
25 explicit EntitySharedHardware(bus::addr_t block_address)
26 : EntitySharedHardware(block_address, bus::replace_function_idx(block_address,1)) {}
27
28public:
29 metadata::eui_t get_entity_eui() const { return f_meta.read_eui(); }
30
32
33};
34
35} // namespace
const metadata::MetadataEditor f_meta
Definition hardware.h:18
EntitySharedHardware(bus::addr_t block_address)
Definition hardware.h:25
const functions::TMP127Q1 temperature_sensor
Definition hardware.h:19
EntitySharedHardware(bus::addr_t f_meta_addr, bus::addr_t temperature_sensor_addr)
Definition hardware.h:21
metadata::eui_t get_entity_eui() const
Definition hardware.h:29
float read_temperature() const
Definition hardware.h:31
float read_temperature() const
Definition TMP127Q1.cpp:10
eui_t read_eui() const
Definition meta.h:26
Definition bus.h:21