18#include "sensorring/device/hardware/htpa32/HTPA32_Params.hpp"
21#include "sensorring/platform/SensorringExport.hpp"
27class HTPA32_DeviceImpl;
109 void comCallback(
const com::ComEndpoint source,
const std::vector<uint8_t>& data)
override;
111 void onResetSensorState()
override;
112 void onClearDataFlag()
override;
114 friend class HTPA32_DeviceImpl;
115 std::unique_ptr<HTPA32_DeviceImpl> _impl;
Base device combining IDevice and BaseSensor with device ID and state.
Interface type definition.
Structures for thermal measurements.
Uniquely identifies a communication endpoint by its string ID.
Definition ComEndpoint.hpp:25
BaseDevice(DeviceID id, com::ComInterface *interface, com::ComEndpoint target, bool enable)
Constructs the device with the given ID, communication interface, endpoint, and enable flag.
HTPA32_Device(HTPA32_Params params, com::ComInterfaceID interface, unsigned int idx)
Construct a new HTPA32 device instance.
~HTPA32_Device()
Destructor.
std::pair< const measurement::ThermalMeasurement &, DeviceState > getLatestMeasurement() const
Get the latest thermal measurement and current sensor state.
const HTPA32_Params & getParams() const
Get the sensor parameters used to configure this device.
std::pair< const measurement::GrayscaleImage &, DeviceState > getLatestGrayscaleImage() const
Get the most recent grayscale image and current sensor state.
static std::future< bool > fetchThermalMeasurementAsync(const std::vector< HTPA32_Device * > &devices, std::chrono::milliseconds timeout)
Fetch thermal measurements asynchronously from a set of devices.
std::pair< const measurement::FalseColorImage &, DeviceState > getLatestFalseColorImage() const
Get the most recent false-color image and current sensor state.
bool startCalibration(unsigned int window)
Start a thermal calibration over a sliding window of frames.
static std::future< bool > requestThermalMeasurementAsync(const std::vector< HTPA32_Device * > &devices, std::chrono::milliseconds timeout)
Request thermal measurements asynchronously on a set of devices.
bool stopCalibration()
Stop any ongoing thermal calibration sequence.
std::future< bool > getEepromAsync(std::chrono::milliseconds timeout)
Request the EEPROM content asynchronously.
Definition ComInterfaceID.hpp:32
Parameter structure of the thermal sensor of a sensor board.
Definition HTPA32_Params.hpp:21