-
Notifications
You must be signed in to change notification settings - Fork 0
/
TCConfig.cpp
64 lines (53 loc) · 910 Bytes
/
TCConfig.cpp
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//
//
//
#include <EEPROM.h>
#include "TCAssert.h"
#include "TCCommon.h"
#include "TCConfig.h"
#include "TCUtilities.h"
CModule_Config::CModule_Config(
)
:
CModule("cnfg", sizeof(configVar), 0, 255)
{
setupComplete = false;
configVar[eConfigVar_DebugLevel] = eDbgLevel_Basic;
}
void
CModule_Config::Setup(
void)
{
if(setupComplete)
{
return;
}
MAssert(eepromOffset > 0);
LoadDataFromEEPROM(configVar, eepromOffset, sizeof(configVar));
configVar[eConfigVar_DebugLevel] = eDbgLevel_Basic;
setupComplete = true;
}
void
CModule_Config::ResetState(
void)
{
}
uint8_t
CModule_Config::GetVal(
uint8_t inVar)
{
Setup();
MAssert(inVar < eConfigVar_Max);
return configVar[inVar];
}
void
CModule_Config::SetVal(
uint8_t inVar,
uint8_t inVal)
{
Setup();
MAssert(inVar < eConfigVar_Max);
configVar[inVar] = inVal;
EEPROM.write(eepromOffset + inVar, inVal);
}
CModule_Config gConfig;