/
spaceswimmer
/
perf-source
Обзор
Документация
Войти
/
spaceswimmer
/
perf-source
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
PerfSource/Config.cpp
136 строк
8 KB
spaceswimmer
master removed sleeping in loop
06 апр 2026, 11:56
06 апр 2026, 11:56
e32908d
Код
Авторство
О чём код?
#include "Config.h" #include <Preferences.h> Preferences preferences; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); const char* ssid = "Sweep"; const char* password = "SonikaSweep"; bool wifiEnabled = false; unsigned long buttonPressStartTime = 0; unsigned long LONG_PRESS_DURATION = 2000; AsyncWebServer server(80); DNSServer dnsServer; float fMin_exact = 24.66, fMax_exact = 48.8; int fMin_display = 25, fMax_display = 49; float tMax; String law = "linear"; bool isRunning = false; unsigned long startTime = 0; float currentProgress = 0.0; uint8_t currentPotValue = 0; uint8_t lastWrittenPotValue = 0; uint8_t startPotValue = 0; // === Для кнопки === bool lastButtonState = HIGH; unsigned long lastDebounceTime = 0; const unsigned long debounceDelay = 50; bool buttonWasPressed = false; // Флаг: было ли стабильное нажатие const unsigned char bitmap_128x64[] PROGMEM = { // 'IMG-20240328-WA0004', 128x64px 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1c, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x01, 0xfe, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xfe, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xff, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0x22, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0x00, 0xff, 0xff, 0x22, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0x70, 0x01, 0xc0, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x19, 0xff, 0x03, 0xfc, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1c, 0xff, 0x1f, 0xfe, 0x3e, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1e, 0xfe, 0x7f, 0xfc, 0x62, 0x15, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8e, 0x7c, 0xff, 0xf8, 0x9c, 0x14, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x7b, 0xff, 0xf9, 0x70, 0x05, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x73, 0xff, 0xf3, 0x60, 0x05, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x64, 0x7f, 0xf2, 0xc0, 0xe3, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x4f, 0xff, 0xe6, 0x85, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xcf, 0xf8, 0xe7, 0x80, 0x01, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x80, 0xb8, 0x65, 0x04, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x11, 0x1f, 0xff, 0xe4, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x33, 0x03, 0xff, 0xe4, 0x40, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xe3, 0x3c, 0xbf, 0xe4, 0x00, 0x1c, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x92, 0x3f, 0x7f, 0xe4, 0x08, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xc2, 0x35, 0xff, 0xe4, 0x0c, 0x02, 0x3b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf0, 0xda, 0xff, 0xf6, 0x14, 0x92, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x79, 0xff, 0xff, 0xf2, 0x16, 0x04, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xde, 0xff, 0xf7, 0xf2, 0x1b, 0x88, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x37, 0xd0, 0xef, 0xf9, 0x08, 0xe1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xef, 0xf1, 0xcf, 0xf0, 0x80, 0x03, 0xee, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x19, 0x85, 0x1f, 0xfa, 0xc0, 0x07, 0xdf, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x1c, 0x3f, 0xf9, 0x20, 0x0f, 0xdf, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x09, 0xf8, 0x7f, 0xf8, 0xce, 0x1f, 0xbe, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xf0, 0x78, 0x3f, 0x7e, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x18, 0xf0, 0x00, 0x00, 0x7c, 0xfe, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xc0, 0x00, 0xc1, 0xe1, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc0, 0x04, 0x7f, 0x0f, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdb, 0xff, 0x00, 0xff, 0xff, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xb9, 0xff, 0xef, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x7d, 0xff, 0xff, 0xef, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xfc, 0xcf, 0xff, 0xdf, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xbe, 0x8f, 0xfe, 0xdf, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0e, 0x5f, 0x1f, 0xfe, 0xbf, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x1f, 0x9f, 0x1f, 0xfc, 0x7f, 0xbf, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x7f, 0x00, 0xbf, 0xfc, 0xff, 0x7f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1c, 0x3f, 0xbf, 0xf9, 0xfc, 0x7f, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x5c, 0xff, 0xa7, 0xf3, 0xf0, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x79, 0xff, 0xbf, 0xf0, 0x0c, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x19, 0xff, 0xbf, 0xf1, 0xfe, 0x7f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0x1b, 0xff, 0xbf, 0xed, 0xfe, 0x1e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x03, 0xff, 0xa3, 0xef, 0xfe, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x9c, 0x07, 0xff, 0x8f, 0xde, 0xfe, 0xf8, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xce, 0x0f, 0xff, 0x80, 0x5e, 0x7e, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x47, 0xff, 0xff, 0x8f, 0x1f, 0x7e, 0xfc, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x03, 0xff, 0xff, 0x90, 0x1f, 0x06, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x71, 0xff, 0xff, 0x3f, 0x9f, 0x02, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xdc, 0xbf, 0xff, 0x7f, 0xcf, 0x07, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x80, 0x1f, 0xfe, 0x2c, 0x0e, 0x0c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x80, 0xc7, 0xfe, 0x5e, 0xce, 0x92, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x0e, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, }; SchedulePoint schedule[1200]; int scheduleSize = 0; void loadConfig() { preferences.begin("sweep_config", false); fMin_display = preferences.getInt("fMin", 25); fMax_display = preferences.getInt("fMax", 49); tMax = preferences.getFloat("tMax", 10.0); law = preferences.getString("law", "linear"); preferences.end(); } void saveConfigIfNeeded(int newFMin, int newFMax, float newTMax, const String& newLaw) { bool changed = (newFMin != fMin_display) || (newFMax != fMax_display) || (newTMax != tMax) || (newLaw != law); if (!changed) { return; } preferences.begin("sweep_config", false); preferences.putInt("fMin", newFMin); preferences.putInt("fMax", newFMax); preferences.putFloat("tMax", newTMax); preferences.putString("law", newLaw); preferences.end(); // Update globals fMin_display = newFMin; fMax_display = newFMax; tMax = newTMax; law = newLaw; }