Stairs/src/settings/system.h

67 lines
1.7 KiB
C++

/*
* Stairs
* Copyright 2017 (c) Mark van Renswoude
*
* https://git.x2software.net/pub/Stairs
*/
#ifndef __settingssystem
#define __settingssystem
#include <Arduino.h>
#include <stdint.h>
#include <stdbool.h>
#include "../charproperties.h"
class SystemSettings : CharProperties
{
private:
uint8_t mPinLEDAP = 4;
uint8_t mPinLEDSTA = 5;
uint8_t mPinAPButton = 2;
uint8_t mPinPWMDriverSDA = 13;
uint8_t mPinPWMDriverSCL = 12;
uint8_t mPWMDriverAddress = 0x40;
uint16_t mPWMDriverFrequency = 1600;
char* mMapsAPIKey = nullptr;
public:
void read();
void write();
void toJson(Print &print);
bool fromJson(char* data);
bool fromJson(char* data, bool* changed);
uint8_t pinLEDAP() { return mPinLEDAP; }
uint8_t pinLEDAP(uint8_t value) { mPinLEDAP = value; }
uint8_t pinLEDSTA() { return mPinLEDSTA; }
uint8_t pinLEDSTA(uint8_t value) { mPinLEDSTA = value; }
uint8_t pinAPButton() { return mPinAPButton; }
uint8_t pinAPButton(uint8_t value) { mPinAPButton = value; }
uint8_t pinPWMDriverSDA() { return mPinPWMDriverSDA; }
uint8_t pinPWMDriverSDA(uint8_t value) { mPinPWMDriverSDA = value; }
uint8_t pinPWMDriverSCL() { return mPinPWMDriverSCL; }
uint8_t pinPWMDriverSCL(uint8_t value) { mPinPWMDriverSCL = value; }
uint8_t pwmDriverAddress() { return mPWMDriverAddress; }
uint8_t pwmDriverAddress(uint8_t value) { mPWMDriverAddress = value; }
uint16_t pwmDriverFrequency() { return mPWMDriverFrequency; }
uint16_t pwmDriverFrequency(uint16_t value) { mPWMDriverFrequency = value; }
char* mapsAPIKey() { return mMapsAPIKey; }
void mapsAPIKey(const char* value) { assignChar(&mMapsAPIKey, value); }
};
#endif