#ifndef CLIENTPUMP_H #define CLIENTPUMP_H #include "globals.h" #include "secrets.h" extern long long next_message_unix; extern bool received_starting_message; enum PumpSatatus_e { INACTIVE, START, RUNNING, FINISHED }; struct PumpConfig_s { char pump_name[32]; int pumping_delay_sec; int pumping_duration; long long next_message_unix; long long pumping_started_at_unix; PumpSatatus_e pumping_status; }; #define PUMP_COUNT 2 extern PumpConfig_s pump_configs[PUMP_COUNT]; // ---------------------------------------------------------------------------- // Time handling // ---------------------------------------------------------------------------- int64_t get_CurrentUnix(); void setup_Timezone(); // ---------------------------------------------------------------------------- // WiFi handling // ---------------------------------------------------------------------------- void init_WiFi(); // ---------------------------------------------------------------------------- // ESP-NOW handling // ---------------------------------------------------------------------------- void init_EspNow(); // ---------------------------------------------------------------------------- // Deep sleep scheduler // ---------------------------------------------------------------------------- void sleep_UntilNextSend(int64_t next_read); #endif