forked from gaelj/thermostat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.h
34 lines (28 loc) · 853 Bytes
/
settings.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef E2P_ADDR_H
#define E2P_ADDR_H
#include <Arduino.h>
#define E2P_VERSION_NUMBER 1 // version flag (used to trigger eeprom reset to defauts)
#define E2P_START_ADDRESS 1
struct settings_s {
byte crc8;
uint8_t E2PVersionNr;
float DesiredTemperature;
float Kp; // * (P)roportional Tuning Parameter
float Ki; // * (I)ntegral Tuning Parameter
float Kd; // * (D)erivative Tuning Parameter
float ATuneStep;
float ATuneNoise;
float ATuneStartValue;
unsigned int ATuneLookBack;
};
class SettingsClass {
public:
SettingsClass() {};
void PersistSettings();
void RestoreSettings();
settings_s TheSettings;
private:
byte GetCrc8(byte* data, byte count);
};
extern SettingsClass SETTINGS;
#endif // E2P_ADDR_H