Files
GrowController/Firmware/ProjGlobals.h

67 lines
1.7 KiB
C

//
// Project Global Settings
//
#ifndef PROJGLOBALS_H
#define PROJGLOBALS_H
#include <ESP8266WebServer.h>
// Manage the WiFi Configuration, AP, SSID, etc.
#include "WiFiConfiguration.h"
typedef enum {
DrumIsOpen,
DrumIsClosed,
DrumIsMoving,
DrumIsStuck,
} DrumState_E;
typedef enum {
DrumOff,
DrumCW,
DrumCCW
} DrumMotor_E;
typedef struct {
uint32_t SecondsToday; // elapsed seconds from midnight (for simulation)
bool Fahrenheit; // Show temp in Fahrenheit.
float ChamberTemp_C; // Chamber Temp
float ChamberHumi; // Chamber Humidity - if installed
bool SoilHeater;
float SoilTemp_C; // Soil Temp - if installed
float SoilMoisture_X; // Soil Moisture - unitless number, if installed
float AmbientTemp_C; //
DrumState_E DrumDoorIcon; // Current State: open/close/moving
bool DrumOpenSensor;
bool DrumClosedSensor;
DrumMotor_E DrumMotorStatus; // Off, CW, CCW
uint32_t DrumMotorOn_sec;
float DrumMotor_V;
float DrumMotor_I;
bool WaterInTank; // controls image of the WaterLevelIcon
bool WaterPumpStatus; // WaterLevelIcon pump on
float WaterMotor_V;
uint32_t WaterCyclePeriod_sec; // Total Time (allows WaterLevelIcon to soak in)
uint32_t WaterCycleOn_sec; // WaterLevelIcon Pump on time
uint32_t WaterCycle_sec; // Running timer
} PlantData_T;
extern void FactoryReset(bool forceRestart);
extern const String AP_NAME;
extern const String AP_VERS;
// extern bool isStationMode;
extern ESP8266WebServer server;
extern ConfigManager wifiConfig;
extern PlantData_T plant; /// This keeps track of everything relevant to this system
extern bool updateCheck;
#endif // PROJGLOBALS_H