From 3663359c0b69c51b9cdc34275a36e6a74bd1bddb Mon Sep 17 00:00:00 2001 From: Nat Weerawan Date: Sat, 26 Mar 2016 16:31:31 +0700 Subject: [PATCH 1/5] Add Debug menu for ESPresso Lite 1.0 & 2.0. --- boards.txt | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/boards.txt b/boards.txt index 165ccae51..b41e9784d 100644 --- a/boards.txt +++ b/boards.txt @@ -405,6 +405,46 @@ espresso_lite_v1.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu espresso_lite_v1.menu.ResetMethod.ck=ck espresso_lite_v1.menu.ResetMethod.ck.upload.resetmethod=ck +espresso_lite_v1.menu.Debug.Disabled=Disabled +espresso_lite_v1.menu.Debug.Disabled.build.debug_port= +espresso_lite_v1.menu.Debug.Serial=Serial +espresso_lite_v1.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial +espresso_lite_v1.menu.Debug.Serial1=Serial1 +espresso_lite_v1.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 + +espresso_lite_v1.menu.DebugLevel.None____=None +espresso_lite_v1.menu.DebugLevel.None____.build.debug_level= +espresso_lite_v1.menu.DebugLevel.Core____=Core +espresso_lite_v1.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE +espresso_lite_v1.menu.DebugLevel.SSL_____=Core + SSL +espresso_lite_v1.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL +espresso_lite_v1.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem +espresso_lite_v1.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM +espresso_lite_v1.menu.DebugLevel.WiFic___=Core + WiFi +espresso_lite_v1.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI +espresso_lite_v1.menu.DebugLevel.WiFi____=WiFi +espresso_lite_v1.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI +espresso_lite_v1.menu.DebugLevel.HTTPClient=HTTPClient +espresso_lite_v1.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT +espresso_lite_v1.menu.DebugLevel.HTTPClient2=HTTPClient + SSL +espresso_lite_v1.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL +espresso_lite_v1.menu.DebugLevel.HTTPUpdate=HTTPUpdate +espresso_lite_v1.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE +espresso_lite_v1.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate +espresso_lite_v1.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE +espresso_lite_v1.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater +espresso_lite_v1.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER +espresso_lite_v1.menu.DebugLevel.HTTPServer=HTTPServer +espresso_lite_v1.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER +espresso_lite_v1.menu.DebugLevel.UPDATER=Updater +espresso_lite_v1.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER +espresso_lite_v1.menu.DebugLevel.OTA_____=OTA +espresso_lite_v1.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA +espresso_lite_v1.menu.DebugLevel.OTA2____=OTA + Updater +espresso_lite_v1.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER +espresso_lite_v1.menu.DebugLevel.all_____=All +espresso_lite_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM + espresso_lite_v1.build.debug_port= espresso_lite_v1.build.debug_level= @@ -470,6 +510,46 @@ espresso_lite_v2.menu.ResetMethod.ck.upload.resetmethod=ck espresso_lite_v2.menu.ResetMethod.nodemcu=nodemcu espresso_lite_v2.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu +espresso_lite_v2.menu.Debug.Disabled=Disabled +espresso_lite_v2.menu.Debug.Disabled.build.debug_port= +espresso_lite_v2.menu.Debug.Serial=Serial +espresso_lite_v2.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial +espresso_lite_v2.menu.Debug.Serial1=Serial1 +espresso_lite_v2.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 + +espresso_lite_v2.menu.DebugLevel.None____=None +espresso_lite_v2.menu.DebugLevel.None____.build.debug_level= +espresso_lite_v2.menu.DebugLevel.Core____=Core +espresso_lite_v2.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE +espresso_lite_v2.menu.DebugLevel.SSL_____=Core + SSL +espresso_lite_v2.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL +espresso_lite_v2.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem +espresso_lite_v2.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM +espresso_lite_v2.menu.DebugLevel.WiFic___=Core + WiFi +espresso_lite_v2.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI +espresso_lite_v2.menu.DebugLevel.WiFi____=WiFi +espresso_lite_v2.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI +espresso_lite_v2.menu.DebugLevel.HTTPClient=HTTPClient +espresso_lite_v2.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT +espresso_lite_v2.menu.DebugLevel.HTTPClient2=HTTPClient + SSL +espresso_lite_v2.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL +espresso_lite_v2.menu.DebugLevel.HTTPUpdate=HTTPUpdate +espresso_lite_v2.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE +espresso_lite_v2.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate +espresso_lite_v2.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE +espresso_lite_v2.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater +espresso_lite_v2.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER +espresso_lite_v2.menu.DebugLevel.HTTPServer=HTTPServer +espresso_lite_v2.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER +espresso_lite_v2.menu.DebugLevel.UPDATER=Updater +espresso_lite_v2.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER +espresso_lite_v2.menu.DebugLevel.OTA_____=OTA +espresso_lite_v2.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA +espresso_lite_v2.menu.DebugLevel.OTA2____=OTA + Updater +espresso_lite_v2.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER +espresso_lite_v2.menu.DebugLevel.all_____=All +espresso_lite_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM + espresso_lite_v2.build.debug_port= espresso_lite_v2.build.debug_level= From 3136c613463e7ed879bd5e4ac29d7a0bf96a467b Mon Sep 17 00:00:00 2001 From: Baruch Even Date: Thu, 24 Mar 2016 09:47:02 +0200 Subject: [PATCH 2/5] Avoid multiple instances of INADDR_NONE By moving the definition from the header to the source we now only use one instance for the entire app with a little saving in space. --- cores/esp8266/IPAddress.cpp | 1 + cores/esp8266/IPAddress.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cores/esp8266/IPAddress.cpp b/cores/esp8266/IPAddress.cpp index f416c7c64..93a081eb2 100644 --- a/cores/esp8266/IPAddress.cpp +++ b/cores/esp8266/IPAddress.cpp @@ -112,3 +112,4 @@ String IPAddress::toString() return String(szRet); } +const IPAddress INADDR_NONE(0, 0, 0, 0); diff --git a/cores/esp8266/IPAddress.h b/cores/esp8266/IPAddress.h index 9248084b2..9e7dfe5e2 100644 --- a/cores/esp8266/IPAddress.h +++ b/cores/esp8266/IPAddress.h @@ -87,6 +87,6 @@ class IPAddress: public Printable { friend class DNSClient; }; -const IPAddress INADDR_NONE(0, 0, 0, 0); +extern const IPAddress INADDR_NONE; #endif From cef5abd3cf0fa46583cd30a1f700f39bc82a2e4f Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 28 Mar 2016 00:24:27 +0300 Subject: [PATCH 3/5] Bootloader: don't touch RTC memory if it doesn't contain a valid command (#619) --- bootloaders/eboot/Makefile | 5 ++--- bootloaders/eboot/eboot.c | 12 +++++++----- bootloaders/eboot/eboot.elf | Bin 10083 -> 9839 bytes 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/bootloaders/eboot/Makefile b/bootloaders/eboot/Makefile index 7a07d7615..e078263ca 100644 --- a/bootloaders/eboot/Makefile +++ b/bootloaders/eboot/Makefile @@ -1,5 +1,5 @@ XTENSA_TOOLCHAIN ?= ../../tools/xtensa-lx106-elf/bin/ -ESPTOOL ?= ../../tools/esptool +ESPTOOL ?= ../../tools/esptool/esptool BIN_DIR := ./ TARGET_DIR := ./ @@ -7,7 +7,7 @@ TARGET_DIR := ./ TARGET_OBJ_FILES := \ eboot.o \ eboot_command.o \ - + TARGET_OBJ_PATHS := $(addprefix $(TARGET_DIR)/,$(TARGET_OBJ_FILES)) @@ -50,4 +50,3 @@ clean: .PHONY: all clean default - diff --git a/bootloaders/eboot/eboot.c b/bootloaders/eboot/eboot.c index 3c0bc1cce..f53d3c912 100644 --- a/bootloaders/eboot/eboot.c +++ b/bootloaders/eboot/eboot.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2015 Ivan Grokhotkov. All rights reserved. +/* Copyright (c) 2015-2016 Ivan Grokhotkov. All rights reserved. * This file is part of eboot bootloader. * * Redistribution and use is permitted according to the conditions of the @@ -115,14 +115,16 @@ void main() int res = 9; struct eboot_command cmd; - if (eboot_command_read(&cmd)) { + if (eboot_command_read(&cmd) == 0) { + // valid command was passed via RTC_MEM + eboot_command_clear(); + ets_putc('@'); + } else { + // no valid command found cmd.action = ACTION_LOAD_APP; cmd.args[0] = 0; ets_putc('~'); - } else { - ets_putc('@'); } - eboot_command_clear(); if (cmd.action == ACTION_COPY_RAW) { ets_putc('c'); ets_putc('p'); ets_putc(':'); diff --git a/bootloaders/eboot/eboot.elf b/bootloaders/eboot/eboot.elf index 7fb4f5f93ab9814226b346dd2cb8adc101a861c9..aa61b97f02ff5a2a8444a08fc5e81495fe8b7727 100755 GIT binary patch delta 2032 zcmZWqeQZ-z6uBaXa@9+-%=~BB|M{stR_CG#;{JQ&#WdhH|1ovs&OmDCse?* zuDkYT^&CUc;MR*U@)d-{f^HqLpC=>Cj}em> zhgjW;e4tcsF?q1G-KZa0O)>T+D&-A0+ZYy0{hB zovepi9y$hTV5cVB8XE!`B6@70p7f>`jg!+yDx$B0;oqoExUtqegf4A zD$=5cX2smm%h3+;&)jsfw5t=q!kse1owDV~5L{20aHmYT!zjxW>dxF_By)#VxT7cB z(KE8tVv=~XJP35}tqwg2*32Y?n5R4lKZCVtPGyWPgxT&O>;sgxI|y20kE$+T-KsI{ z+V?)>+#oq!$Q!Wy&}I<+?R&PD2@FW!pq3FKin+j9b=0@cm#0`YrB13FzWEzZkw2G) ze+s2`>rxhC{_R6K5Cl;w+)uK4zxH~Axsg2M$qMcDg-3~NqLQNcXr)K(@;7;2r&w!F zz3H#b>fH93+!5O1vLQFO@@2dr79le@$oO)%#0JJflGKs=s7Pj_^tZntmd?B>AZE4H zi#>!hm*n0)PVHbhPSx2vOdSocDYZJk@zo}7i|~4|a<75a@cJ~Cw^zgK)tHpr8`G<$ zSHD^xj&n;5hMSx@jPe=hPv{m=btIfstxl`zt89Uds*9C7d8X7;wV#)&XP@Qj+eo}( zV0bvcYj|63$DWb&4suEtqNAeFjGdwiqw$7eb{T&MOYs#r5cFb6{8s_PXiWx>xC4xH z)mKh&Ip4(;r`+!U=?PaMMs>CVQyzL1*fuz;%fw+|JZoBX5;#%DlfZz?MgzhLU}`|q z0;A)EW55&-;y_{aMhSNSQ{xT5W*KkNntoSAPM}N-Xu>T@pAMP~Dtd4xUdC-@{lrWh znph=nMm_XrS?RK<3rb3|2aN-W^!(XZUH?!VVsJ@ Sp}Ft1mC0Xtt`tf2$o~KW&T$?9 delta 2295 zcmb_eZERCj7(VCRkKWR++jg6yv|HPKbc1Ex7>w~DlnF9$4kpC#F>qy_VY;rf9ZU_O zlY|&Qf@_Yb!6kx5orzIQk@!QUiw1x2Lm--93`*kE5X=|@9e;Gb@3|e4kob$6^gYk} zKF|A}bMATX?Y-9eOWUxY?eTsRl%?8Wf;<#HG?$D7_fJ)at*m-g@Yn&GoXHV#hLToB z6A0IqldACJu8n-NRL)u+$uvs&|d)wn+jP|6JKmr}XEB}@nW*l(>FjQ*>n~p5;ILeP@?L2803o(V)I)?MEe#8ru+>t zxdyUXdksc3Pbq{M7j?hs?G;1c@Q)8UBo4bCG|zL z{_S98A`fH5KnffvSUwJ;`Wx~U$P={!ab;fnB|4$6z?v4rq_XU^Lbmo67^@lhhK|r2&4GPGr2`hL}qN$_&39W=)<}YYIJpgf9pn+wXPCKRi zl(sx=$0HK zkbD?7*K}Qvn6UcDJ0P`vDhQ*-CfoB!v}ug@o6BmgxUj9Lk}_*l`(jjX6Gby8()MYT zZa3VMY5OoAGY2gnWALfSlpdMp6XxuKTmXhU{VbzvzKu#r;<3`?qk&bKw!rGPW$`jBawvU7i36_c3e&xq44_byX zHWyRR@hMByBNxyw#pa)cQhlP73NdR}JO%_pDCHVNSpbijWwzL3sR2TRPT_5JjUpGq zk}T8VmUyo?LCApF-pL3I%HHAc43hf zx$IxoG;5fBQ-GLwaW1kE&RjD!r`vy|s4bgqk@SbQgHW*EIhr3h#O$!?vyAttPnEl=HGu@%W z-KA!eu<~uo%vQk6tO+ZLxFW1aSR>1F2X+hmUj^AL^MEVlEF#nlyP|Yj?BIRMKX9zN zS6kq(yLR5QS~pw=X;XHedx-MWMZTK3;8TwHYZx)U2znCk2MNM&31Aq6W(BuP9&rK0 zuucbH%!9eoWG6WH=ZT|$;dLWKCjk5N_#9w>M1u(s`vKzw_`tv*;)p$fF+K-+8V0dY z#La+l;#R;)9=8k44nu^FEl=zcgi#d#J@MhdqK9YWdAu;M&&|eRafr+F`tj@q&wG^K z;MD8pFMD<6)j|SK#BpyK8!F~!yp`;DF`w{ODnGzWU+3+hs`2UUN- Date: Mon, 28 Mar 2016 00:28:05 +0300 Subject: [PATCH 4/5] Clean build directory after each sketch --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index a3cc30f36..61757dbe7 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -40,12 +40,12 @@ function build_sketches() local build_arg=$3 local build_dir=build.tmp mkdir -p $build_dir - rm -rf $build_dir/* local build_cmd="python tools/build.py -b generic -v -k -p $PWD/$build_dir $build_arg " local sketches=$(find $srcpath -name *.ino) print_size_info >size.log export ARDUINO_IDE_PATH=$arduino for sketch in $sketches; do + rm -rf $build_dir/* local sketchdir=$(dirname $sketch) local sketchdirname=$(basename $sketchdir) local sketchname=$(basename $sketch) From b6920e82a760eda9f21cf078e5ffe534e17bb656 Mon Sep 17 00:00:00 2001 From: Nat Weerawan Date: Mon, 28 Mar 2016 17:21:36 +0700 Subject: [PATCH 5/5] Fix build board flag for ESP8266_ESPRESSO_LITE_V2. --- boards.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards.txt b/boards.txt index b41e9784d..70ff0b8b0 100644 --- a/boards.txt +++ b/boards.txt @@ -458,7 +458,7 @@ espresso_lite_v2.upload.wait_for_upload_port=true espresso_lite_v2.build.mcu=esp8266 espresso_lite_v2.build.f_cpu=80000000L -espresso_lite_v2.build.board=ESP8266_espresso_lite_v2 +espresso_lite_v2.build.board=ESP8266_ESPRESSO_LITE_V2 espresso_lite_v2.build.core=esp8266 espresso_lite_v2.build.variant=espresso_lite_v2 espresso_lite_v2.build.flash_mode=dio