18#include "bussettings.h"
124 inline uint8_t
isJetOn()
const;
237 const std::map <int, LedSettings> & leds);
238 static uint16_t convertDisplayToCelsius (uint16_t m_displayValue);
241 const BusSettings & m_busSettings;
242 const std::map <int, LedSettings> & m_ledSettings;
245 static int m_dataPin;
246 static uint16_t m_frameLedPower;
247 static uint16_t m_frameLedFilter;
248 static uint16_t m_frameLedHeater;
249 static uint16_t m_frameLedHeaterReached;
250 static uint16_t m_frameLedBubble;
251 static uint16_t m_frameLedJet;
252 static uint16_t m_frameLedSanitizer;
255 static volatile uint32_t m_frameCounter;
256 static volatile uint32_t m_frameDropped;
257 static volatile uint16_t m_rawStatus;
258 static volatile uint16_t m_errorValue;
259 static volatile uint16_t m_waterTemp;
260 static volatile uint16_t m_desiredTemp;
261 static volatile uint16_t m_sanitizerTime;
264 static volatile uint16_t m_frameValue;
265 static volatile uint16_t m_frameShift;
266 static volatile uint16_t m_displayValue;
267 static volatile uint32_t m_lastSanitizerFrameCounter;
268 static volatile uint32_t m_lastBlackDisplayFrameCounter;
269 static volatile bool m_isDisplayBlink;
270 static volatile uint32_t m_lastErrorChangeFrameCounter;
271 static volatile uint16_t m_latestLedStatus;
272 static volatile uint16_t m_stableLedStatusCounter;
273 static volatile uint16_t m_latestDisplayValue;
274 static volatile uint16_t m_stableDisplayValueCounter;
275 static volatile uint16_t m_latestDesiredTemp;
276 static volatile uint16_t m_latestWaterTemp;
277 static volatile uint16_t m_stableWaterTempCounter;
278 static volatile uint16_t m_unsetDigits;
279 static volatile uint8_t m_lastTempUnit;
280 static volatile uint32_t m_lastTempUnitChangeFrameCounter;
281 static volatile uint16_t m_counterTempUnitChanged;
283 static const unsigned long FramePeriodUs = 320;
284 static const uint32_t SetupTrigUnitChangeFrameCounterMax =
286 static const uint32_t ResetErrorFrameCounter =
290 static IRAM_ATTR
void clkRisingInterrupt();
291 static IRAM_ATTR
void holdRisingInterrupt();
This class decodes information from the technical block of the spa.
Definition: framedecoder.h:35
uint32_t frameDropped() const
Number of dropped frames.
bool isOpened() const
Indicates whether the connection with the spa is established.
uint16_t waterTemp() const
Water temperature in °C.
uint8_t isPowerOn() const
Last state of the Power LED.
Definition: framedecoder.h:296
uint8_t isBubbleOn() const
Last state of the Bubble LED.
Definition: framedecoder.h:308
uint8_t isHeaterOn() const
State of water heating.
void begin()
Initializes and connect with the spa.
uint16_t error()
Error code displayed by the control panel.
uint8_t isDisplayBlink() const
Check if the display blink.
const BusSettings & busSettings() const
Bus settings provides at the instantiation.
uint8_t isJetOn() const
Last state of the Jet LED.
Definition: framedecoder.h:320
bool isSetupModeTriggered() const
Reset request triggered.
uint8_t isLedOn(int key) const
Last state received from an LED.
uint16_t rawStatus() const
Last state of the LEDs received.
uint32_t frameCounter() const
Number of frames received from startup.
uint8_t isFilterOn() const
Last state of the Filter LED.
Definition: framedecoder.h:302
const std::map< int, LedSettings > ledSettings() const
Leds settings provides at the instantiation.
uint8_t isHeatReached() const
Last state of the HeatReached LED.
Definition: framedecoder.h:314
uint8_t isSanitizerOn() const
Last state of the Sanitizer LED.
Definition: framedecoder.h:326
uint16_t desiredTemp() const
Water temperature desired in °C.
uint8_t waitUntilDisplayBlink(unsigned long MaxWaitingTimeMs=5000) const
Wait until the display blink.
uint16_t sanitizerTime() const
Remaining sanitation time.
bool hasLed(int key) const
Check if the hardware configuration has the LED.
uint16_t waitForWaterTemp(unsigned long MaxWaitingTimeMs=25000) const
Wait until the water temperature could be read.
SpaIot name space.
Definition: bussettings.h:21
@ Jet
Jet Led or Button.
Definition: global.h:29
@ Filter
Filter Led or Button.
Definition: global.h:27
@ Sanitizer
Sanitizer Led or Button.
Definition: global.h:30
@ HeatReached
Heat Reached Led (Green)
Definition: global.h:32
@ Bubble
Bubble Led or Button.
Definition: global.h:28
@ Power
Power Led or Button.
Definition: global.h:26
const unsigned long SetupTrigUnitChangeStepMaxMs
Maximum time separating successive actions on the unit change button to trigger reset request.
Definition: global.h:44
const unsigned long ResetErrorTimeMs
Time after which an error can be erased.
Definition: global.h:47