24 typedef int lws_sockfd_type;
25 typedef int lws_filefd_type;
35 #if !defined(POLLIN) && !defined(POLLOUT)
43 #define POLLPRI 0x0002
44 #define POLLOUT 0x0004
45 #define POLLERR 0x0008
46 #define POLLHUP 0x0010
47 #define POLLNVAL 0x0020
51 #if defined(LWS_AMAZON_RTOS)
53 #include <event_groups.h>
57 #include <freertos/FreeRTOS.h>
58 #include <freertos/event_groups.h>
61 #include "esp_system.h"
62 #include "esp_event.h"
63 #include "esp_event_loop.h"
65 #include "driver/gpio.h"
66 #include "esp_spi_flash.h"
67 #include "freertos/timers.h"
70 #if !defined(CONFIG_FREERTOS_HZ)
71 #define CONFIG_FREERTOS_HZ 100
74 typedef TimerHandle_t uv_timer_t;
75 typedef void uv_cb_t(uv_timer_t *);
76 typedef void * uv_handle_t;
83 #define UV_VERSION_MAJOR 1
85 #define lws_uv_getloop(a, b) (NULL)
87 static LWS_INLINE
void uv_timer_init(
void *l, uv_timer_t *t)
93 extern void esp32_uvtimer_cb(TimerHandle_t t);
95 static LWS_INLINE
void uv_timer_start(uv_timer_t *t, uv_cb_t *cb,
int first,
int rep)
105 *t = xTimerCreate(
"x", pdMS_TO_TICKS(first), !!rep, tm,
106 (TimerCallbackFunction_t)esp32_uvtimer_cb);
110 static LWS_INLINE
void uv_timer_stop(uv_timer_t *t)
115 static LWS_INLINE
void uv_close(uv_handle_t *h,
void *v)
117 free(pvTimerGetTimerID((uv_timer_t)h));
118 xTimerDelete(*(uv_timer_t *)h, 0);
122 #if !defined(LWS_AMAZON_RTOS)
127 #include <esp_partition.h>
129 #define LWS_PLUGIN_STATIC
130 #define LWS_MAGIC_REBOOT_TYPE_ADS 0x50001ffc
131 #define LWS_MAGIC_REBOOT_TYPE_REQ_FACTORY 0xb00bcafe
132 #define LWS_MAGIC_REBOOT_TYPE_FORCED_FACTORY 0xfaceb00b
133 #define LWS_MAGIC_REBOOT_TYPE_FORCED_FACTORY_BUTTON 0xf0cedfac
134 #define LWS_MAGIC_REBOOT_TYPE_REQ_FACTORY_ERASE_OTA 0xfac0eeee
139 lws_esp32_identify_physical_device(
void);
143 typedef void (*lws_cb_scan_done)(uint16_t count, wifi_ap_record_t *recs,
void *arg);
146 LWSESP32_GENLED__INIT,
147 LWSESP32_GENLED__LOST_NETWORK,
148 LWSESP32_GENLED__NO_NETWORK,
149 LWSESP32_GENLED__CONN_AP,
150 LWSESP32_GENLED__GOT_IP,
162 struct ip4_addr addr;
163 struct ip6_addr addrv6;
167 #define LWS_SYSTEM_GROUP_MEMBER_ADD 1
168 #define LWS_SYSTEM_GROUP_MEMBER_CHANGE 2
169 #define LWS_SYSTEM_GROUP_MEMBER_REMOVE 3
171 #define LWS_GROUP_FLAG_SELF 1
183 char password[4][64];
184 char active_ssid[64];
194 enum genled_state genled;
197 lws_cb_scan_done scan_consumer;
198 void *scan_consumer_arg;
200 int extant_group_members;
205 volatile char button_is_down;
219 lws_esp32_event_passthru(
void *ctx, system_event_t *event);
221 lws_esp32_wlan_config(
void);
223 lws_esp32_wlan_start_ap(
void);
225 lws_esp32_wlan_start_station(
void);
229 extern struct lws_context *
232 lws_esp32_wlan_nvs_get(
int retry);
234 lws_nvs_set_str(nvs_handle handle,
const char* key,
const char* value);
236 lws_esp32_restart_guided(uint32_t type);
237 extern const esp_partition_t *
238 lws_esp_ota_get_boot_partition(
void);
240 lws_esp32_get_image_info(
const esp_partition_t *part,
struct lws_esp32_image *i,
char *json,
int json_len);
242 lws_esp32_leds_network_indication(
void);
244 extern uint32_t lws_esp32_get_reboot_type(
void);
245 extern uint16_t lws_esp32_sine_interp(
int n);
248 extern void lws_esp32_leds_timer_cb(TimerHandle_t th);