#include "project.h" void ICACHE_FLASH_ATTR gpio_page (struct espconn *conn) { char *page = os_zalloc (1024); char *ptr = page; int i; uint32_t j, v; if (!page) { webserver_send_reply (conn, 400, "text/html", "Out of memory", 0); return; } ptr += os_sprintf (ptr, ""); ptr += os_sprintf (ptr, ""); ptr += os_sprintf (ptr, ""); v = gpio_input_get (); ptr += os_sprintf (ptr, "

GPIO: 0x%04x


", v); ptr += os_sprintf (ptr, ""); for (i = 0; i < 16; ++i) { j = 1 << i; ptr += os_sprintf (ptr, "", i, j, (j & v) ? "High" : "Low"); } ptr += os_sprintf (ptr, "
%d0x%04x%s
"); webserver_send_reply (conn, 200, "text/html", page, ptr - page); os_free (page); }