ENTS-tock
Environmental NeTworked Sensor firmware on Tock OS
Loading...
Searching...
No Matches
wifi.hpp
Go to the documentation of this file.
1
12#ifndef LIB_MODULE_HANDLER_INCLUDE_MODULES_WIFI_HPP_
13#define LIB_MODULE_HANDLER_INCLUDE_MODULES_WIFI_HPP_
14
15#include <Arduino.h>
16#include <NTPClient.h>
17#include <WiFi.h>
18#include <WiFiUdp.h>
19#include <libents/proto/controller.pb.h>
21
22#include "dirtviz.hpp"
23#include "template_module.hpp"
24
38 public:
39 ModuleWiFi(void);
40
41 ~ModuleWiFi(void);
42
46 void OnReceive(const Esp32Command& cmd);
47
51 size_t OnRequest(uint8_t* buffer);
52
53 private:
54 typedef enum {
56 CONNECT = 0,
58 POST = 1,
59 } StateEnum;
60
65 Dirtviz dirtviz;
66
67 void Post(const Esp32Command& cmd);
68
69 void Connect(const Esp32Command& cmd);
70
71 void CheckRequest(const Esp32Command& cmd);
72
73 void Time(const Esp32Command& cmd);
74
75 void Disconnect(const Esp32Command& cmd);
76
77 void CheckWiFi(const Esp32Command& cmd);
78
79 void CheckApi(const Esp32Command& cmd);
80
81 void NtpSync(const Esp32Command& cmd);
82
83 void Host(const Esp32Command& cmd);
84
85 void StopHost();
86
87 void HostInfo();
88
89 WiFiUDP ntpUDP;
90
91 NTPClient* timeClient;
92
94 uint8_t request_buffer[WiFiCommand_size] = {};
95 size_t request_buffer_len = 0;
96};
97
102#endif // LIB_MODULE_HANDLER_INCLUDE_MODULES_WIFI_HPP_
Logic for interfacing with the Dirtviz API.
Definition dirtviz.hpp:43
Class prototype for modules.
WiFi module for the esp32.
Definition wifi.hpp:37
~ModuleWiFi(void)
Definition wifi.cpp:15
ModuleWiFi(void)
Definition wifi.cpp:7
size_t OnRequest(uint8_t *buffer)
Definition wifi.cpp:94
void OnReceive(const Esp32Command &cmd)
Definition wifi.cpp:20
uint8_t buffer[32]
bool Disconnect(void)
Disconnect from WiFi.
Definition wifi.c:289
bool Connect(void)
Connect to WiFi.
Definition wifi.c:245
Library for encoding/decoding protobuf messages.