50 INFO(
"wifiScanDoneCb %d\n", status);
64 while (bss_link !=
NULL) {
65 bss_link = bss_link->next.stqe_next;
71 INFO(
"Scan done: found %d APs\n", n);
76 while (bss_link !=
NULL) {
77 if (n>=cgiWifiAps.
noAps) {
80 INFO(
"Huh? I have more than the allocated %d aps!\n", cgiWifiAps.
noAps);
89 bss_link = bss_link->next.stqe_next;
113 httpdHeader(connData,
"Content-Type",
"text/json");
118 tfp_snprintf(buff, 1024,
"{\n \"result\": { \n\"inProgress\": \"1\"\n }\n}\n");
123 tfp_snprintf(buff, 1024,
"{\n \"result\": { \n\"inProgress\": \"0\", \n\"APs\": [\n");
127 for (i=0; i<cgiWifiAps.
noAps; i++) {
129 tfp_snprintf(buff, 1024,
"{\"essid\": \"%s\", \"rssi\": \"%d\", \"enc\": \"%d\"}%s\n",
172 char impulse_meter_serial[32 + 1];
173 char impulse_meter_energy_kw[32 + 1];
174 char impulse_meter_energy[32 + 1];
175 char impulses_per_kwh[8 + 1];
186 httpdFindArg(connData->
postBuff,
"impulse_meter_serial", impulse_meter_serial,
sizeof(impulse_meter_serial));
187 httpdFindArg(connData->
postBuff,
"impulse_meter_energy", impulse_meter_energy_kw,
sizeof(impulse_meter_energy_kw));
188 httpdFindArg(connData->
postBuff,
"impulses_per_kwh", impulses_per_kwh,
sizeof(impulses_per_kwh));
195 kw_to_w_str(impulse_meter_energy_kw, impulse_meter_energy);
198 sys_cfg.impulse_meter_count = 0;
203 INFO(
"Try to connect to AP %s pw %s\n", essid, passwd);
236 INFO(
"cgiWifiSetMode: %s\n", buff);
250 char impulse_meter_energy[32 + 1];
254 if (token==
NULL)
return;
265 else if (
os_strcmp(token,
"currSsid") == 0) {
268 else if (
os_strcmp(token,
"WiFiPasswd") == 0) {
271 else if (
os_strcmp(token,
"WiFiapwarn") == 0) {
274 os_strcpy(buff,
"<b>Can't scan in this mode.</b> Click <a href=\"setmode.cgi?mode=3\">here</a> to go to STA+AP mode.");
277 os_strcpy(buff,
"Click <a href=\"setmode.cgi?mode=2\">here</a> to go to standalone AP mode.");
281 else if (
os_strcmp(token,
"ImpulseMeterSerial") == 0) {
284 else if (
os_strcmp(token,
"ImpulseMeterEnergy") == 0) {
288 else if (
os_strcmp(token,
"ImpulsesPerKwh") == 0) {
static void ICACHE_FLASH_ATTR wifiStartScan()
void ICACHE_FLASH_ATTR tplSetup(HttpdConnData *connData, char *token, void **arg)
void ICACHE_FLASH_ATTR cfg_save()
ICACHE_FLASH_ATTR void kw_to_w_str(char *kw, char *w)
ICACHE_FLASH_ATTR void w_to_kw_str(char *w, char *kw)
ICACHE_FLASH_ATTR void httpdRedirect(HttpdConnData *conn, char *newUrl)
#define ICACHE_FLASH_ATTR
static os_timer_t resetTimer
int ICACHE_FLASH_ATTR cgiSetup(HttpdConnData *connData)
void ICACHE_FLASH_ATTR wifiScanDoneCb(void *arg, STATUS status)
uint8 wifi_get_opmode(void)
ScanResultData cgiWifiAps
ICACHE_FLASH_ATTR int httpdFindArg(char *line, char *arg, char *buff, int buffLen)
static void ICACHE_FLASH_ATTR resetTimerCb(void *arg)
int ICACHE_FLASH_ATTR cgiWiFiScan(HttpdConnData *connData)
void system_restart(void)
ICACHE_FLASH_ATTR void httpdStartResponse(HttpdConnData *conn, int code)
ICACHE_FLASH_ATTR void httpdEndHeaders(HttpdConnData *conn)
ICACHE_FLASH_ATTR int tfp_snprintf(char *str, size_t size, const char *format,...)
ICACHE_FLASH_ATTR void httpdHeader(HttpdConnData *conn, const char *field, const char *val)
int ICACHE_FLASH_ATTR cgiWifiSetMode(HttpdConnData *connData)
bool wifi_station_scan(struct scan_config *config, scan_done_cb_t cb)
#define os_timer_arm(a, b, c)
ICACHE_FLASH_ATTR int httpdSend(HttpdConnData *conn, const char *data, int len)
void ICACHE_FLASH_ATTR cfg_load()
static HttpdConnData connData[MAX_CONN]
bool wifi_set_opmode(uint8 opmode)