7#include <condition_variable>
10#include <units/temperature.h>
11#include "redux/canand/CanandDevice.h"
12#include "redux/canand/CanandEventLoop.h"
13#include "redux/canand/CanandSettingsManager.h"
14#include "redux/frames/Frame.h"
16#include "redux/sensors/canandcolor/CanandcolorData.h"
17#include "redux/sensors/canandcolor/CanandcolorDetails.h"
18#include "redux/sensors/canandcolor/CanandcolorDigout.h"
19#include "redux/sensors/canandcolor/CanandcolorDigoutSlot.h"
20#include "redux/sensors/canandcolor/CanandcolorProximityConfig.h"
21#include "redux/sensors/canandcolor/CanandcolorSettings.h"
99 units::second_t lastMessageTime{0_s};
216 return stg.GetSettings(timeout, missingTimeout, attempts);
322 return stg.SetSettings(settings, timeout, attempts);
Definition: CanandAddress.h:60
Definition: CanandDevice.h:35
Definition: CanandMessage.h:26
Definition: CanandSettingsManager.h:78
Definition: CanandcolorData.h:15
Definition: CanandcolorData.h:117
Definition: CanandcolorSettings.h:53
Definition: CanandcolorData.h:179
Definition: Canandcolor.h:77
units::celsius_t GetTemperature()
CanandcolorSettings GetSettingsAsync()
Definition: Canandcolor.h:296
redux::canand::CanandSettingsManager< CanandcolorSettings > stg
Definition: Canandcolor.h:94
void HandleMessage(redux::canand::CanandMessage &msg) override
redux::frames::Frame< double > & GetProximityFrame()
Definition: Canandcolor.h:372
CanandcolorFaults GetActiveFaults()
void ClearAllDigoutSlots(CanandcolorDigout digout)
redux::canand::CanandFirmwareVersion GetMinimumFirmwareVersion() override
Definition: Canandcolor.h:398
redux::frames::Frame< digout::DigoutSlotState > digout
Definition: Canandcolor.h:88
digout::DigoutSlotState GetDigoutState()
void SetLampLEDBrightness(double brightness)
void SetLampLED(bool lamp)
redux::frames::Frame< CanandcolorColorData > & GetColorFrame()
Definition: Canandcolor.h:379
redux::frames::Frame< CanandcolorStatus > & GetStatusFrame()
Definition: Canandcolor.h:392
CanandcolorColorData GetColor()
void StartFetchSettings()
Definition: Canandcolor.h:250
std::optional< digout::DigoutSlot > GetDigoutSlot(CanandcolorDigout digout, uint8_t slotIndex, units::second_t timeout=50_ms)
redux::frames::Frame< CanandcolorColorData > color
Definition: Canandcolor.h:85
CanandcolorSettings GetSettings(units::second_t timeout=500_ms, units::second_t missingTimeout=50_ms, uint32_t attempts=3)
Definition: Canandcolor.h:215
void SetPartyMode(uint8_t level)
redux::frames::Frame< digout::DigoutSlotState > & GetDigoutFrame()
Definition: Canandcolor.h:385
redux::canand::CanandAddress & GetAddress() override
CanandcolorSettings SetSettings(CanandcolorSettings &settings, units::second_t timeout=50_ms, uint32_t attempts=3)
Definition: Canandcolor.h:321
std::string GetDeviceClassName() override
Definition: Canandcolor.h:397
bool SetDigoutSlot(CanandcolorDigout digout, uint8_t slotIndex, const digout::DigoutSlot &slotConfig, units::second_t timeout=50_ms)
redux::frames::Frame< CanandcolorStatus > status
Definition: Canandcolor.h:91
redux::frames::Frame< double > proximity
Definition: Canandcolor.h:82
CanandcolorSettings ResetFactoryDefaults(units::second_t timeout=500_ms)
Definition: Canandcolor.h:363
CanandcolorFaults GetStickyFaults()
Definition: CanandcolorDigoutSlot.h:18
Definition: CanandcolorDigoutSlot.h:160
void RemoveCANListener(CanandDevice *device)
@ kResetFactoryDefault
Definition: CanandcolorDetails.h:90
Definition: Canandcolor.h:27
CanandcolorDigout
Definition: CanandcolorDigout.h:19
Definition: CanandFirmwareVersion.h:17