Chameleon-Mini
Settings.h
Go to the documentation of this file.
1 /*
2  * Settings.h
3  *
4  * Created on: 21.12.2013
5  * Author: skuser
6  */
8 #ifndef SETTINGS_H_
9 #define SETTINGS_H_
10 
11 #include "Button.h"
12 #include "Configuration.h"
13 #include "Log.h"
14 #include "LED.h"
15 #include "Memory.h"
16 
17 #define SETTINGS_COUNT (MEMORY_SIZE / MEMORY_SIZE_PER_SETTING)
18 #define SETTINGS_FIRST 1
19 #define SETTINGS_LAST (SETTINGS_FIRST + SETTINGS_COUNT - 1)
20 
25 typedef struct {
26  ButtonActionEnum ButtonActions[BUTTON_TYPE_COUNT];
27  LogModeEnum LogMode;
28  ConfigurationEnum Configuration;
29  LEDHookEnum LEDRedFunction;
30  LEDHookEnum LEDGreenFunction;
31  uint16_t PendingTaskTimeout;
33 
34 typedef struct {
35  uint8_t ActiveSettingIdx;
36  SettingsEntryType* ActiveSettingPtr;
37  SettingsEntryType Settings[SETTINGS_COUNT];
38 } SettingsType;
39 
40 extern SettingsType GlobalSettings;
41 
42 void SettingsLoad(void);
43 void SettingsSave(void);
44 void ActiveSettingNumberSave(void);
45 
46 void SettingsCycle(void);
47 bool SettingsSetActiveById(uint8_t Setting);
48 uint8_t SettingsGetActiveById(void);
49 void SettingsGetActiveByName(char* SettingOut, uint16_t BufferSize);
50 bool SettingsSetActiveByName(const char* Setting);
51 
52 #endif /* SETTINGS_H_ */
LogModeEnum LogMode
Button actions for this setting.
Definition: Settings.h:27
Definition: Settings.h:25
LEDHookEnum LEDGreenFunction
Red LED function for this setting.
Definition: Settings.h:30
uint16_t PendingTaskTimeout
Green LED function for this setting.
Definition: Settings.h:31
ConfigurationEnum Configuration
Log mode for this setting.
Definition: Settings.h:28
LEDHookEnum LEDRedFunction
Active configuration for this setting.
Definition: Settings.h:29