forked from Akcelerometry_drgania_WMT/PI_mikrokontroler
53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
#ifndef SETTINGS_H
|
|
#define SETTINGS_H
|
|
|
|
#include <Arduino.h>
|
|
#include <Pinout.h>
|
|
#include <Watchdog.h>
|
|
#include <RTClib.h>
|
|
#include <Display.h>
|
|
#include <Logger.h>
|
|
#include <Config.h>
|
|
|
|
class Settings {
|
|
public:
|
|
Settings(Display &display, RTC_DS3231 &rtc);
|
|
~Settings();
|
|
|
|
void setTimeRTC();
|
|
void setConfigDevice();
|
|
void finishConfigDevice();
|
|
void begin();
|
|
|
|
bool isPressed(uint8_t btnIndex);
|
|
|
|
// bool is1and3();
|
|
|
|
bool isBtnReset();
|
|
bool isSetClock();
|
|
bool readBtnUp() { return digitalRead(BTN_UP) == LOW; }
|
|
bool readBtnOk() { return digitalRead(BTN_OK) == LOW; }
|
|
bool readBtnDown() { return digitalRead(BTN_DOWN) == LOW; }
|
|
|
|
// Struktura na datę i czas
|
|
struct RtcDateTime {
|
|
uint16_t year;
|
|
uint8_t month;
|
|
uint8_t day;
|
|
uint8_t hour;
|
|
uint8_t minute;
|
|
uint8_t second;
|
|
};
|
|
|
|
private:
|
|
Display &display_;
|
|
RTC_DS3231 &rtc_;
|
|
|
|
int editField(int value, int minVal, int maxVal, const char *label);
|
|
void constrainValue(int &value, int minVal, int maxVal);
|
|
void printField(const char *label, int value);
|
|
|
|
};
|
|
|
|
#endif
|