7#include <libtock/net/eui64.h>
8#include <libtock/services/alarm.h>
13static libtock_alarm_t alarm = {};
29 const char pass[] =
"ilovedirt";
37 ulog_info(
"Current user configuration:");
38 ulog_info(
"---------------------------");
41 ulog_error(
"Could not load user config.");
46 libtock_eui64_get(&dev_eui);
47 uint32_t devAddr = (uint32_t)(dev_eui & 0xFFFFFFFF);
49 snprintf(
ssid,
sizeof(
ssid),
"ents-%08lX", devAddr);
51 bool controller_status =
true;
53 if (controller_status) {
54 ulog_info(
"Successfully started WiFi AP!");
56 ulog_error(
"Failed to start WiFi AP!");
61 if (controller_status) {
62 ulog_info(
"Successfully started user config webserver!");
64 ulog_error(
"Failed to start user config webserver!");
68 ulog_info(
"Sending FRAM configuration to ESP32...");
71 ulog_info(
"Failed to send config to ESP32: %d", status);
76 ulog_info(
"WiFi AP Info:");
77 ulog_info(
"---------------");
78 ulog_info(
"ssid \"%s\"",
ssid);
79 ulog_info(
"pass \"%s\"",
pass);
80 ulog_info(
"User Config http://%s/", ip);
81 ulog_info(
"WiFi AP MAC: \"%s\"", mac);
96 ulog_info(
"Requesting configuration from ESP32...");
100 ulog_error(
"Something went wrong with getting user config");
105 ulog_error(
"Error saved configuration not valid!");
106 ulog_info(
"Try sending configuration again.");
112 ulog_info(
"Updated user configuration:");
113 ulog_info(
"---------------------------");
124 ulog_info(
"Stopping UserConfig webserver...\t");
127 uint32_t retry_ms = *(uint32_t*)ptr;
134 ulog_error(
"Error! %d clients still connected!", clients);
141 ulog_info(
"Error! Could not stop WiFi network!");
145 ulog_info(
"Stopped!");
149 if (cfg->Upload_method == Uploadmethod_LoRa) {
150 ulog_info(
"Putting esp in deep sleep mode...");
bool ControllerWiFiHost(const char *ssid, const char *passwd)
Sets the esp32 as a WiFi access point.
void ControllerWiFiHostInfo(char *ssid, char *ip, char *mac, uint8_t *clients)
Gets information about the current access point.
bool ControllerWiFiStopHost(void)
Stops the esp32 from acting as a WiFi access point.
void UserConfigPrint(void)
Prints the current user configuration over serial.
UserConfigStatus UserConfigLoad(void)
Loads user configuration data from FRAM to RAM.
const UserConfiguration * UserConfigGet(void)
Gets a reference to the loaded user configuration data in RAM.
WiFi interface implementation with the esp32.
bool ControllerPowerSleep(void)
Power interface for the esp32.
Controls the user config webserver.
@ USERCONFIG_STATE_STOPPING
void UserConfigUpdateFromServer(void)
int UserConfigCurrentStatus(void)
Get the current user config state.
void UserConfigStopCallback(uint32_t, uint32_t, void *ptr)
Stops the user config webserver.
void UserConfigStop(uint32_t retry_ms)
Stops the user config webserver.
void UserConfigStart(uint32_t retry_ms)
Starts the user config webserver.
UserConfigStatus ControllerUserConfigSend(void)
Send user configuration to ESP32.
bool ControllerUserConfigStart(void)
Start the user configuration website.
UserConfigStatus ControllerUserConfigRequest(void)
Request user configuration from ESP32.
User configuration WiFi interface.