diff --git a/Makefile b/Makefile index 2afca22..f7b0573 100644 --- a/Makefile +++ b/Makefile @@ -33,9 +33,8 @@ XTENSA_TOOLS_ROOT ?= $(abspath ../esp-open-sdk/xtensa-lx106-elf/bin)/ # Base directory of the ESP8266 SDK package, absolute # Typically you'll download from Espressif's BBS, http://bbs.espressif.com/viewforum.php?f=5 -SDK_BASE ?= $(abspath ../esp_iot_sdk_v1.5.0) -# BOOTFILE = /bin/boot_v1.4(b1).bin -BOOTFILE = /bin/boot_v1.5.bin +SDK_BASE ?= $(abspath ../esp_iot_sdk_v1.5.1) +BOOTFILE ?= $(abspath ../esp_iot_sdk_v1.5.1/bin/boot_v1.5.bin) # Esptool.py path and port, only used for 1-time serial flashing # Typically you'll use https://github.com/themadinventor/esptool @@ -77,7 +76,7 @@ LED_SERIAL_PIN ?= 14 CHANGE_TO_STA ?= yes # Optional Modules -MODULES ?= mqtt rest syslog ems +MODULES ?= mqtt rest syslog # --------------- esphttpd config options --------------- @@ -350,7 +349,7 @@ baseflash: all flash: all $(Q) $(ESPTOOL) --port $(ESPPORT) --baud $(ESPBAUD) write_flash -fs $(ET_FS) -ff $(ET_FF) \ - 0x00000 "$(SDK_BASE)$(BOOTFILE)" 0x01000 $(FW_BASE)/user1.bin \ + 0x00000 "$(BOOTFILE)" 0x01000 $(FW_BASE)/user1.bin \ $(ET_BLANK) $(SDK_BASE)/bin/blank.bin tools/$(HTML_COMPRESSOR): @@ -430,7 +429,7 @@ release: all $(Q) egrep -a 'esp-link [a-z0-9.]+ - 201' $(FW_BASE)/user1.bin | cut -b 1-80 $(Q) egrep -a 'esp-link [a-z0-9.]+ - 201' $(FW_BASE)/user2.bin | cut -b 1-80 $(Q) cp $(FW_BASE)/user1.bin $(FW_BASE)/user2.bin $(SDK_BASE)/bin/blank.bin \ - "$(SDK_BASE)$(BOOTFILE)" wiflash avrflash release/esp-link-$(BRANCH) + "$(BOOTFILE)" wiflash avrflash release/esp-link-$(BRANCH) $(Q) tar zcf esp-link-$(BRANCH).tgz -C release esp-link-$(BRANCH) $(Q) echo "Release file: esp-link-$(BRANCH).tgz" $(Q) rm -rf release diff --git a/syslog/syslog.c b/syslog/syslog.c index 377b5b9..f429382 100644 --- a/syslog/syslog.c +++ b/syslog/syslog.c @@ -194,15 +194,13 @@ static void ICACHE_FLASH_ATTR syslog_udp_sent_cb(void *arg) // UDP seems timecritical - we must ensure a minimum delay after each package... syslog_set_status(SYSLOG_SENDING); if (! syslog_timer_armed) - syslog_chk_status(); + syslog_chk_status(); } } static void ICACHE_FLASH_ATTR syslog_udp_send_event(os_event_t *events) { -// os_printf("syslog_udp_send_event: %d %lu, %lu\n", syslogState, syslogQueue->msgid, syslogQueue->tick); DBG("[%uµs] %s: id=%lu\n", WDEV_NOW(), __FUNCTION__, syslogQueue ? syslogQueue->msgid : 0); - if (syslogQueue == NULL) syslog_set_status(SYSLOG_READY); else { @@ -237,11 +235,12 @@ static void ICACHE_FLASH_ATTR syslog_udp_recv_cb(void *arg, char *pusrdata, unsi static void ICACHE_FLASH_ATTR syslog_gethostbyname_cb(const char *name, ip_addr_t *ipaddr, void *arg) { DBG("[%uµs] %s\n", WDEV_NOW(), __FUNCTION__); + struct espconn *pespconn = (struct espconn *)arg; + // espconn not longer required + os_free(pespconn->proto.udp); + os_free(pespconn); + if (ipaddr != NULL) { - struct espconn *pespconn = (struct espconn *)arg; - // espconn not longer required - os_free(pespconn->proto.udp); - os_free(pespconn); syslog(SYSLOG_FAC_USER, SYSLOG_PRIO_NOTICE, "SYSLOG", "resolved hostname: %s: " IPSTR, name, IP2STR(ipaddr)); @@ -326,8 +325,6 @@ void ICACHE_FLASH_ATTR syslog_init(char *syslog_host) // wifi_set_broadcast_if(STATIONAP_MODE); // send UDP broadcast from both station and soft-AP interface espconn_create(syslog_espconn); // create udp -// syslog(SYSLOG_FAC_USER, SYSLOG_PRIO_NOTICE, "SYSLOG", "syslogserver: %s:%d %d", host, syslogHost.port, syslog_espconn->proto.udp->local_port); - if (UTILS_StrToIP((const char *)host, (void*)&syslogHost.addr)) { syslog_set_status(SYSLOG_READY); } else { @@ -339,7 +336,6 @@ void ICACHE_FLASH_ATTR syslog_init(char *syslog_host) syslog_dnsconn->proto.udp = (esp_udp *)os_zalloc(sizeof(esp_udp)); syslog_set_status(SYSLOG_DNSWAIT); -// syslog(SYSLOG_FAC_USER, SYSLOG_PRIO_NOTICE, "SYSLOG", "must resolve hostname \"%s\"", host); espconn_gethostbyname(syslog_dnsconn, host, &syslogHost.addr, syslog_gethostbyname_cb); } } diff --git a/user/user_main.c b/user/user_main.c index e71f4ce..e9d9917 100644 --- a/user/user_main.c +++ b/user/user_main.c @@ -1,7 +1,6 @@ #include #include "config.h" #include "syslog.h" -#include "ems.h" #define APPINIT_DBG #ifdef APPINIT_DBG @@ -10,43 +9,7 @@ #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 -// we simply try to resolve 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); }