mirror of https://github.com/jeelabs/esp-link.git
parent
f4ef8723f3
commit
3bf3ba5e0c
@ -1,7 +1,52 @@ |
|||||||
#include <esp8266.h> |
#include <esp8266.h> |
||||||
#include <config.h> |
#include "config.h" |
||||||
|
#include "syslog.h" |
||||||
|
#include "ems.h" |
||||||
|
|
||||||
|
#define APPINIT_DBG |
||||||
|
#ifdef APPINIT_DBG |
||||||
|
#define DBG(format, ...) do { os_printf(format, ## __VA_ARGS__); } while(0) |
||||||
|
#else |
||||||
|
#define DBG(format, ...) do { } while(0) |
||||||
|
#endif |
||||||
|
|
||||||
|
static struct espconn *pespconn = NULL; |
||||||
|
static ip_addr_t addr; |
||||||
|
static char host[32]; |
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* |
||||||
|
******************************************************************************/ |
||||||
|
static void ICACHE_FLASH_ATTR appinit_gethostbyname_cb(const char *name, ip_addr_t *ipaddr, void *arg) |
||||||
|
{ |
||||||
|
os_free(((struct espconn *)arg)->proto.udp); |
||||||
|
os_free((struct espconn *)arg); |
||||||
|
|
||||||
|
if (ipaddr != NULL) { |
||||||
|
emsInit(); |
||||||
|
EMSBusStatus |= EMSBUS_RDY; |
||||||
|
DBG("app_init: EMSBus ready...\n"); |
||||||
|
} else { |
||||||
|
pespconn = (espconn *)os_zalloc(sizeof(espconn)); |
||||||
|
pespconn->proto.udp = (esp_udp *)os_zalloc(sizeof(esp_udp)); |
||||||
|
|
||||||
|
espconn_gethostbyname(pespconn, host, &addr, appinit_gethostbyname_cb); |
||||||
|
DBG("app_init: retry to resolve %s...\n", host); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
// initialize the custom stuff that goes beyond esp-link
|
// initialize the custom stuff that goes beyond esp-link
|
||||||
|
// we simply try to resolve <hostname.local>
|
||||||
void app_init() { |
void app_init() { |
||||||
|
|
||||||
|
if (pespconn == NULL) |
||||||
|
pespconn = (espconn *)os_zalloc(sizeof(espconn)); |
||||||
|
|
||||||
|
if (pespconn->proto.udp == NULL) |
||||||
|
pespconn->proto.udp = (esp_udp *)os_zalloc(sizeof(esp_udp)); |
||||||
|
|
||||||
|
os_sprintf(host, "%s", flashConfig.hostname); |
||||||
|
DBG("app_init: resolving %s...\n", host); |
||||||
|
|
||||||
|
espconn_gethostbyname(pespconn, host, &addr, appinit_gethostbyname_cb); |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue