SpaIot Library
Loading...
Searching...
No Matches
global.h
1/*
2 SpaIot Library (c) by epsilonrt - epsilonrt@epsilonrt.fr
3 This file is part of SpaIot library <https://github.com/epsilonrt/spaiot-lib>
4
5 SPDX-License-Identifier: BSD-3-Clause
6
7 SpaIot library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY;
9*/
10#pragma once
11
12#include <Arduino.h>
13#include <map>
14#include <pImpl.h>
15
16#ifndef SPAIOT_DATA_PIN
17#define SPAIOT_DATA_PIN 12
18#endif
19#ifndef SPAIOT_CLK_PIN
20#define SPAIOT_CLK_PIN 14
21#endif
22#ifndef SPAIOT_HOLD_PIN
23#define SPAIOT_HOLD_PIN 13
24#endif
25
27namespace SpaIot {
28
45
49 const std::map<int, String> KeyName = {
50 {Power, "Power"},
51 {Filter, "Filter"},
52 {Bubble, "Bubble"},
53 {Jet, "Jet"},
54 {Sanitizer, "Sanitizer"},
55 {Heater, "Heater"},
56 {HeatReached, "HeatReached"},
57 {TempUp, "TempUp"},
58 {TempDown, "TempDown"},
59 {TempUnit, "TempUnit"}
60 };
61
68 inline const char *keyName (int key) {
69
70 if (KeyName.find (key) != KeyName.end()) {
71
72 return KeyName.at (key).c_str();
73 }
74 return "Unknown";
75 }
76
77 const uint16_t UnsetValue16 = 0xFFFF;
78 const uint8_t UnsetValue8 = 0xFF;
79 const unsigned long ButtonIntervalMs = 800;
80 const uint16_t DesiredTempMax = 40;
81 const uint16_t DesiredTempMin = 20;
82 const uint16_t SetupTrigUnitChangeMin = 5;
83 const unsigned long SetupTrigUnitChangeStepMaxMs = 1000;
84 const unsigned long HoldPressedMs = 300;
85 const unsigned long BeginWaitingTimeMs = 3000;
86 const unsigned long ResetErrorTimeMs = 4000;
87 const int DataPin = SPAIOT_DATA_PIN;
88 const int ClkPin = SPAIOT_CLK_PIN;
89 const int HoldPin = SPAIOT_HOLD_PIN;
90}
SpaIot name space.
Definition bussettings.h:15
Key
LED and push buttons identification keys.
Definition global.h:33
@ Jet
Jet Led or Button.
Definition global.h:37
@ TempUnit
Temperature Unity Button (°C/°F)
Definition global.h:43
@ Filter
Filter Led or Button.
Definition global.h:35
@ TempDown
Temperature Down Button.
Definition global.h:42
@ Sanitizer
Sanitizer Led or Button.
Definition global.h:38
@ HeatReached
Heat Reached Led (Green)
Definition global.h:40
@ TempUp
Temperature Up Button.
Definition global.h:41
@ Bubble
Bubble Led or Button.
Definition global.h:36
@ Heater
Heater Led (Red) or Button.
Definition global.h:39
@ Power
Power Led or Button.
Definition global.h:34
const int ClkPin
Clock pin.
Definition global.h:88
const uint16_t DesiredTempMin
Minimum desired temperature in °C.
Definition global.h:81
const int HoldPin
Hold pin.
Definition global.h:89
const uint16_t SetupTrigUnitChangeMin
Number of changes in temperature unit corresponding to the reset request.
Definition global.h:82
const unsigned long BeginWaitingTimeMs
begin() waiting time in milliseconds
Definition global.h:85
const unsigned long ButtonIntervalMs
Time between 2 successive actions on the buttons.
Definition global.h:79
const uint16_t UnsetValue16
Indeterminate value on 16 bits.
Definition global.h:77
const int DataPin
Data pin.
Definition global.h:87
const unsigned long SetupTrigUnitChangeStepMaxMs
Maximum time separating successive actions on the unit change button to trigger reset request.
Definition global.h:83
const unsigned long ResetErrorTimeMs
Time after which an error can be erased.
Definition global.h:86
const uint16_t DesiredTempMax
Maximum desired temperature in °C.
Definition global.h:80
const uint8_t UnsetValue8
Indeterminate value on 8 bits.
Definition global.h:78
const std::map< int, String > KeyName
Association between keys and key names.
Definition global.h:49
const unsigned long HoldPressedMs
Time between press and release a button.
Definition global.h:84
const char * keyName(int key)
Association between keys and key names.
Definition global.h:68