EduArt Sensor Ring Library 3.0.1
Loading...
Searching...
No Matches
eduart::manager::MeasurementManager Class Reference

Meta class that handles the timing, triggering and processing of sensor measurements. Internally it runs a looping state machine. More...

#include <MeasurementManager.hpp>

Public Member Functions

 MeasurementManager (ManagerParams params)
 ~MeasurementManager () noexcept
bool measureSome () noexcept
bool startMeasuring () noexcept
bool stopMeasuring () noexcept
bool isMeasuring () noexcept
void registerClient (MeasurementClient *observer) noexcept
void unregisterClient (MeasurementClient *observer) noexcept
std::string printTopology () const noexcept
ManagerState getManagerState () const noexcept
ManagerParams getParams () const noexcept
void enableTofMeasurement (bool state) noexcept
void enableThermalMeasurement (bool state) noexcept
bool startThermalCalibration (std::size_t window) noexcept
bool stopThermalCalibration () noexcept
void setLight (light::LightMode mode, std::uint8_t red=0, std::uint8_t green=0, std::uint8_t blue=0) noexcept

Detailed Description

Meta class that handles the timing, triggering and processing of sensor measurements. Internally it runs a looping state machine.

Constructor & Destructor Documentation

◆ MeasurementManager()

eduart::manager::MeasurementManager::MeasurementManager ( ManagerParams params)

Constructor

◆ ~MeasurementManager()

eduart::manager::MeasurementManager::~MeasurementManager ( )
noexcept

Destructor

Member Function Documentation

◆ enableThermalMeasurement()

void eduart::manager::MeasurementManager::enableThermalMeasurement ( bool state)
noexcept

Enable or disable the thermal sensor measurements

Parameters
[in]stateenable signal

◆ enableTofMeasurement()

void eduart::manager::MeasurementManager::enableTofMeasurement ( bool state)
noexcept

Enable or disable the Time-of-Flight sensor measurements

Parameters
[in]stateenable signal

◆ getManagerState()

ManagerState eduart::manager::MeasurementManager::getManagerState ( ) const
noexcept

Get the health status of the state machine

Returns
Current manager state

◆ getParams()

ManagerParams eduart::manager::MeasurementManager::getParams ( ) const
noexcept

Get the parameters with which the MeasurementManager was initialized

Returns
Initial parameter struct

◆ isMeasuring()

bool eduart::manager::MeasurementManager::isMeasuring ( )
noexcept

Query if the measurement thread is currently running

Returns
true if the measurement thread is running

◆ measureSome()

bool eduart::manager::MeasurementManager::measureSome ( )
noexcept

Run one processing cycle of the state machine worker

Returns
true on success

◆ printTopology()

std::string eduart::manager::MeasurementManager::printTopology ( ) const
noexcept

Get a string representation of the topology of the connected sensors

Returns
Formatted string describing the topology

◆ registerClient()

void eduart::manager::MeasurementManager::registerClient ( MeasurementClient * observer)
noexcept

Register an observer with the MeasurementManager object

Parameters
[in]observerObserver that is registered and gets notified on future events

◆ setLight()

void eduart::manager::MeasurementManager::setLight ( light::LightMode mode,
std::uint8_t red = 0,
std::uint8_t green = 0,
std::uint8_t blue = 0 )
noexcept

Set the light mode and color of the sensor ring

Parameters
[in]modeLight mode to set
[in]redRed color value
[in]greenGreen color value
[in]blueBlue color value

◆ startMeasuring()

bool eduart::manager::MeasurementManager::startMeasuring ( )
noexcept

Start running the state machine worker loop in a thread

Returns
true on success

◆ startThermalCalibration()

bool eduart::manager::MeasurementManager::startThermalCalibration ( std::size_t window)
noexcept

Start a thermal calibration

Parameters
[in]windownumber of thermal frames used for averaging
Returns
true on success

◆ stopMeasuring()

bool eduart::manager::MeasurementManager::stopMeasuring ( )
noexcept

Stop the state machine worker loop and close the thread

Returns
true on success

◆ stopThermalCalibration()

bool eduart::manager::MeasurementManager::stopThermalCalibration ( )
noexcept

Stop any ongoing thermal calibration

Returns
true on success

◆ unregisterClient()

void eduart::manager::MeasurementManager::unregisterClient ( MeasurementClient * observer)
noexcept

Unregister an observer with the MeasurementManager object

Parameters
[in]observerObserver that is unregistered and will not be notified on future events

The documentation for this class was generated from the following file: