File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #include < WiFi.h>
2+
13#include " asyncbufferedtcplogger.h"
24#include " configuration.h"
35
4- APB::AsyncBufferedTCPLogger::AsyncBufferedTCPLogger (AsyncServer & loggerServer) {
6+ APB::AsyncBufferedTCPLogger::AsyncBufferedTCPLogger (uint16_t port) : loggerServer{port} {
57 loggerServer.onClient ([this ](void *,AsyncClient *c){
68 this ->client = c;
79 if (!this ->backlog .empty ()) {
@@ -15,6 +17,23 @@ APB::AsyncBufferedTCPLogger::AsyncBufferedTCPLogger(AsyncServer & loggerServer)
1517 }, nullptr );
1618}
1719
20+ void APB::AsyncBufferedTCPLogger::setup () {
21+ WiFi.onEvent ([this ](arduino_event_id_t event, arduino_event_info_t info){
22+ switch (event) {
23+ case ARDUINO_EVENT_WIFI_STA_CONNECTED:
24+ case ARDUINO_EVENT_WIFI_AP_START:
25+ this ->loggerServer .begin ();
26+ break ;
27+ case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
28+ case ARDUINO_EVENT_WIFI_AP_STOP:
29+ this ->loggerServer .end ();
30+ this ->client = nullptr ;
31+ default :
32+ break ;
33+ }
34+ });
35+ }
36+
1837#include " utils.h"
1938size_t APB::AsyncBufferedTCPLogger::write (uint8_t c) {
2039 buffer[currentPosition++] = c;
Original file line number Diff line number Diff line change 22#include < Print.h>
33#include < AsyncTCP.h>
44#include < queue>
5+ #include < AsyncTCP.h>
56
67namespace APB {
78class AsyncBufferedTCPLogger : public Print {
89public:
9- AsyncBufferedTCPLogger (AsyncServer &loggerServer);
10+ AsyncBufferedTCPLogger (uint16_t port);
11+ void setup ();
1012
1113 virtual size_t write (uint8_t c);
1214private:
@@ -16,6 +18,7 @@ class AsyncBufferedTCPLogger: public Print {
1618 std::array<char , 1024 > buffer = {0 };
1719 std::queue<String> backlog;
1820 uint16_t currentPosition = 0 ;
21+ AsyncServer loggerServer;
1922};
2023
2124}
Original file line number Diff line number Diff line change 2121#include " influxdb.h"
2222
2323Scheduler scheduler;
24- AsyncServer loggerServer{9911 };
2524
2625
27- APB::AsyncBufferedTCPLogger bufferedLogger{loggerServer };
26+ APB::AsyncBufferedTCPLogger bufferedLogger{9911 };
2827
2928#ifdef ONEBUTTON_USER_BUTTON_1
3029OneButton userButton;
@@ -49,10 +48,12 @@ void setup() {
4948 delay (BOOT_DELAY);
5049 #endif
5150
51+ bufferedLogger.setup ();
5252 Log.begin (LOG_LEVEL_VERBOSE, &Serial, true );
53+ Log.addHandler (&bufferedLogger);
5354 Log.infoln (LOG_SCOPE " setup, core: %d" , xPortGetCoreID ());
5455
55- Log. addHandler (&bufferedLogger);
56+
5657
5758 LittleFS.begin ();
5859 APB::Settings::Instance.setup ();
@@ -61,7 +62,6 @@ void setup() {
6162 APB::StatusLed::Instance.setup ();
6263
6364 APB::WiFiManager::Instance.setup (scheduler);
64- loggerServer.begin ();
6565 Wire.begin (I2C_SDA_PIN, I2C_SCL_PIN);
6666 Wire.setClock (100000 );
6767 APB::Ambient::Instance.setup (scheduler);
You can’t perform that action at this time.
0 commit comments