EduArt Sensor Ring Library 4.0.0
Loading...
Searching...
No Matches
HTPA32_Device.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 EduArt Robotik GmbH
2
9
10#pragma once
11
12#include <chrono>
13#include <future>
14#include <memory>
15#include <vector>
16
21#include "sensorring/platform/SensorringExport.hpp"
22
23namespace eduart {
24
25namespace sensorring {
26
27namespace device {
28
29class HTPA32_DeviceImpl;
30
39class SENSORRING_EXPORT HTPA32_Device : public ThermalSensor {
40public:
47 HTPA32_Device(HTPA32_Params params, com::ComInterfaceID interface, unsigned int idx);
48
51
56 const HTPA32_Params& getParams() const override;
57
62 bool configure() override;
63
69 std::future<bool> getEepromAsync(std::chrono::milliseconds timeout);
70
75 bool stopCalibration() override;
76
82 bool startCalibration(unsigned int window) override;
83
84protected:
85 bool sendMeasurementRequest(std::uint8_t sequence_number) override;
86 bool sendMeasurementTransmissionRequest() override;
87
88private:
89 struct InterfaceTag {};
90 HTPA32_Device(HTPA32_Params params, com::ComInterface* interface, unsigned int idx, InterfaceTag);
91
97 void comCallback(const com::ComEndpoint source, std::uint8_t command, const std::vector<uint8_t>& data) override;
98
99 void onClearDataFlag() override;
100
101 friend class HTPA32_DeviceImpl;
102 friend class HTPA32_DeviceTestAccess;
103 std::unique_ptr<HTPA32_DeviceImpl> _impl;
104};
105
106} // namespace device
107
108} // namespace sensorring
109
110} // namespace eduart
Interface type definition.
Parameter structure for the HTPA32 thermal sensor.
Structures for thermal measurements.
Abstract interface for thermal-sensing devices.
Device wrapper for an HTPA32 thermal sensor on the sensorring bus.
Definition HTPA32_Device.hpp:39
const HTPA32_Params & getParams() const override
Get the sensor parameters used to configure this device.
std::future< bool > getEepromAsync(std::chrono::milliseconds timeout)
Request the EEPROM content asynchronously.
bool stopCalibration() override
Stop any ongoing thermal calibration sequence.
bool configure() override
Configure the device. Reads the EEPROM once on first call.
bool startCalibration(unsigned int window) override
Start a thermal calibration over a sliding window of frames.
HTPA32_Device(HTPA32_Params params, com::ComInterfaceID interface, unsigned int idx)
Construct a new HTPA32 device instance.
ThermalSensor(DeviceID id, com::ComInterface *interface, com::ComEndpoint target)
Construct a ThermalSensor with Device params.
Uniquely identifies a communication endpoint as a (Direction, BoardAddress, DeviceId) tuple.
Definition ComEndpoint.hpp:37
Uniquely identifies a communication interface by type and name.
Definition ComInterfaceID.hpp:51
Parameter structure of the thermal sensor of a sensor board.
Definition HTPA32_Params.hpp:28