kugelmuehle/types.h

72 lines
1.6 KiB
C
Raw Normal View History

2026-09-23 10:23:58 +02:00
#pragma once
#include <Arduino.h>
#include <FastAccelStepper.h>
2026-09-23 23:03:07 +02:00
#include <Preferences.h>
2026-09-23 10:23:58 +02:00
#include <WiFi.h>
#include <time.h>
2026-09-25 01:19:16 +02:00
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
2026-09-23 10:23:58 +02:00
// Pins
2026-09-23 23:03:07 +02:00
#define dirPinStepper D8
#define enablePinStepper D7
#define stepPinStepper D9
2026-09-23 10:23:58 +02:00
2026-09-23 23:03:07 +02:00
#define buttonPlus D1
#define buttonMinus D2
#define buttonStop D3
2026-09-23 10:23:58 +02:00
#define senTemp D0
#define I2C_SDA D4
#define I2C_SCL D5
2026-09-25 01:19:16 +02:00
struct settingsALT{
2026-09-23 10:23:58 +02:00
int settingIdx = 0;
int startHour = 0;
int startMin = 0;
int endHour = 0;
int endMin = 0;
bool timerEnabled = false;
bool editMaxTemp = false;
2026-09-26 01:10:32 +02:00
int16_t maxTemp = 100; //in °C
int16_t coldTemp = 0;
2026-09-23 10:23:58 +02:00
bool editAcc = false;
2026-09-25 01:19:16 +02:00
int32_t accelRate = 2000; // einheit
2026-09-23 23:03:07 +02:00
};
2026-09-23 10:23:58 +02:00
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)
2026-09-26 01:10:32 +02:00
EDIT_END_MIN, // 4. End-Minute einstellen (0-59)
EDIT_SPEED
2026-09-23 10:23:58 +02:00
};
// Dein Einstellungs-Struct
struct SystemSettings {
2026-09-23 23:03:07 +02:00
int settingIdx = 0;
int startHour = 0;
int startMin = 0;
int endHour = 0;
int endMin = 0;
2026-09-23 10:23:58 +02:00
bool timerEnabled = false;
2026-09-23 23:03:07 +02:00
bool editMaxTemp = false;
2026-09-26 01:10:32 +02:00
int16_t maxTemp = 100; //in °C
int16_t coldTemp = 0;
2026-09-23 23:03:07 +02:00
bool editAcc = false;
2026-09-25 01:19:16 +02:00
int32_t accelRate = 20000;
2026-09-26 01:10:32 +02:00
int32_t autoSpeed = 100;
2026-09-23 10:23:58 +02:00
};
2026-09-23 23:03:07 +02:00
enum MotorCmd {
MOTOR_KEEP, // nichts am Motor ändern
MOTOR_STOP, // schnell anhalten
MOTOR_AUTO, // Automatikbetrieb (Zeitschaltuhr) laufen lassen
MOTOR_MANUAL // Handbetrieb mit 'speed'
};