#ifndef AMPEL_WEB_CONFIG_H_ #define AMPEL_WEB_CONFIG_H_ #define STRING_LEN 64 #if defined(ESP8266) # include #elif defined(ESP32) # include #endif namespace config { char* current_ssid(); // Sensor extern uint16_t &measurement_timestep; // [s] Value between 2 and 1800 (range for SCD30 sensor). extern uint16_t &altitude_above_sea_level; // [m] extern uint16_t &co2_calibration_level; // [ppm] extern bool &auto_calibrate_sensor; // [true / false] extern float &temperature_offset; // [K] Sign isn't relevant. // LED extern uint8_t &max_brightness; extern uint8_t &min_brightness; extern uint16_t &led_count; // Time server extern char *ntp_server; extern int16_t &time_zone; // [h] extern bool &daylight_saving_time; // [true / false] //CSV bool csv_active(); extern uint16_t &csv_interval; // [s] // MQTT bool mqtt_active(); extern char *mqtt_server; extern char *mqtt_user; extern char *mqtt_password; extern uint16_t &mqtt_port; extern uint16_t &mqtt_sending_interval; // [s] extern bool &mqtt_encryption; // [true / false] extern bool &allow_mqtt_commands; // [true / false] // LORAWAN #if defined(ESP32) bool lorawan_active(); // also defined for ESP8266, and set to false #endif } namespace web_config { void initialize(); void setWifiConnectionCallback(void (*function)()); void setWifiConnectionFailedCallback(void (*function)()); void update(); //TODO: Add saveConfig(), for e.g. after custom setters. Or simply reset after each configchange? #if defined(ESP8266) extern ESP8266WebServer http; #elif defined(ESP32) extern WebServer http; #endif } #endif