kugelmuehle/types.h

71 lines
1.6 KiB
C

#pragma once
#include <Arduino.h>
#include <FastAccelStepper.h>
#include <Preferences.h>
#include <WiFi.h>
#include <time.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
// Pins
#define dirPinStepper D8
#define enablePinStepper D7
#define stepPinStepper D9
#define buttonPlus D1
#define buttonMinus D2
#define buttonStop D3
#define senTemp D0
#define I2C_SDA D4
#define I2C_SCL D5
struct settingsALT{
int settingIdx = 0;
int startHour = 0;
int startMin = 0;
int endHour = 0;
int endMin = 0;
bool timerEnabled = false;
bool editMaxTemp = false;
int16_t maxTemp = 100; //in °C
int16_t coldTemp = 0;
bool editAcc = false;
int32_t accelRate = 1500; // einheit
};
enum TimeEditStep {
EDIT_NONE = 0, // Normales Menü (Navigation)
EDIT_START_HOUR, // 1. Start-Stunde einstellen (0-23)
EDIT_START_MIN, // 2. Start-Minute einstellen (0-59)
EDIT_END_HOUR, // 3. End-Stunde einstellen (0-23)
EDIT_END_MIN, // 4. End-Minute einstellen (0-59)
EDIT_SPEED
};
// Dein Einstellungs-Struct
struct SystemSettings {
int settingIdx = 0;
int startHour = 0;
int startMin = 0;
int endHour = 0;
int endMin = 0;
bool timerEnabled = false;
bool editMaxTemp = false;
int16_t maxTemp = 100; //in °C
int16_t coldTemp = 0;
bool editAcc = false;
int32_t accelRate = 15000;
int32_t autoSpeed = 700;
};
enum MotorCmd {
MOTOR_KEEP, // nichts am Motor ändern
MOTOR_STOP, // schnell anhalten
MOTOR_AUTO, // Automatikbetrieb (Zeitschaltuhr) laufen lassen
MOTOR_MANUAL // Handbetrieb mit 'speed'
};