btclock_v3/src/lib/config.hpp

57 lines
1.6 KiB
C++
Raw Normal View History

#pragma once
2023-11-07 00:11:12 +00:00
#include <Adafruit_MCP23X17.h>
#include <Arduino.h>
2023-11-30 21:38:01 +00:00
#include <Preferences.h>
#include <WiFiClientSecure.h>
#include <WiFiManager.h>
#include <base64.h>
#include <esp_task_wdt.h>
2023-11-30 21:56:50 +00:00
#include <map>
2023-11-07 00:11:12 +00:00
#include "lib/block_notify.hpp"
2023-11-07 20:26:15 +00:00
#include "lib/button_handler.hpp"
2023-11-30 21:38:01 +00:00
#include "lib/epd.hpp"
#include "lib/improv.hpp"
2023-11-08 11:18:59 +00:00
#include "lib/led_handler.hpp"
2023-11-30 21:38:01 +00:00
#include "lib/ota.hpp"
#include "lib/price_notify.hpp"
#include "lib/screen_handler.hpp"
#include "lib/shared.hpp"
#include "lib/webserver.hpp"
2023-11-07 00:11:12 +00:00
2023-11-07 20:26:15 +00:00
#define NTP_SERVER "pool.ntp.org"
#define DEFAULT_MEMPOOL_INSTANCE "mempool.space"
#define TIME_OFFSET_SECONDS 3600
#define USER_AGENT "BTClock/2.0"
#define MCP_DEV_ADDR 0x20
#define DEFAULT_SECONDS_BETWEEN_PRICE_UPDATE 30
2023-11-14 18:46:29 +00:00
#define DEFAULT_MINUTES_FULL_REFRESH 60
2023-11-07 20:26:15 +00:00
2023-11-08 11:18:59 +00:00
#define DEFAULT_FG_COLOR GxEPD_WHITE
#define DEFAULT_BG_COLOR GxEPD_BLACK
2023-11-07 00:11:12 +00:00
void setup();
2024-04-11 22:17:40 +00:00
void syncTime();
uint getLastTimeSync();
2023-11-07 00:11:12 +00:00
void setupPreferences();
void setupWebsocketClients(void *pvParameters);
2023-11-07 20:26:15 +00:00
void setupHardware();
void tryImprovSetup();
void setupTimers();
void finishSetup();
void setupMcp();
2023-11-28 00:30:36 +00:00
String getMyHostname();
std::vector<std::string> getScreenNameMap();
2023-11-07 20:26:15 +00:00
std::vector<std::string> getLocalUrl();
bool improv_connectWifi(std::string ssid, std::string password);
void improvGetAvailableWifiNetworks();
bool onImprovCommandCallback(improv::ImprovCommand cmd);
void onImprovErrorCallback(improv::Error err);
void improv_set_state(improv::State state);
void improv_send_response(std::vector<uint8_t> &response);
void improv_set_error(improv::Error error);
2023-11-20 17:59:33 +00:00
void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info);