From baa13f8c841654fdb83a67fe1d41ecc31921813e Mon Sep 17 00:00:00 2001 From: Carl Pacey Date: Fri, 13 Nov 2015 12:47:57 -0500 Subject: [PATCH 01/12] Add the ability to be called back when the device is about to reset Caveats: - You have to be very careful in your callback. - On Adafruit Huzzah, I only actually get called for Exceptions and Soft WDT resets. --- cores/esp8266/core_esp8266_postmortem.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cores/esp8266/core_esp8266_postmortem.c b/cores/esp8266/core_esp8266_postmortem.c index bff41f58f..1fd929e85 100644 --- a/cores/esp8266/core_esp8266_postmortem.c +++ b/cores/esp8266/core_esp8266_postmortem.c @@ -37,6 +37,11 @@ static void uart1_write_char_d(char c); static void print_stack(uint32_t start, uint32_t end); //static void print_pcs(uint32_t start, uint32_t end); +extern void __custom_crash_callback( struct rst_info * rst_info, uint32_t stack, uint32_t stack_end ) { +} + +extern void custom_crash_callback( struct rst_info * rst_info, uint32_t stack, uint32_t stack_end ) __attribute__ ((weak, alias("__custom_crash_callback"))); + void __wrap_system_restart_local() { register uint32_t sp asm("a1"); @@ -92,6 +97,9 @@ void __wrap_system_restart_local() { // print_pcs(sp + offset, stack_end); print_stack(sp + offset, stack_end); + + custom_crash_callback( &rst_info, sp + offset, stack_end ); + delayMicroseconds(10000); __real_system_restart_local(); } From 72a7300fd9a416ac8f60f7cd32fc1b95921aaa18 Mon Sep 17 00:00:00 2001 From: wemos <11569115@qq.com> Date: Sun, 15 Nov 2015 09:54:38 +0800 Subject: [PATCH 02/12] add wemos d1 board description to package_esp8266com_index.template.json --- package/package_esp8266com_index.template.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index 9535db4a1..ee1042450 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -42,6 +42,12 @@ }, { "name": "SweetPea ESP-210" + }, + { + "name": "WeMos D1" + }, + { + "name": "WeMos D1 mini" } ], "toolsDependencies": [ From 2d172274ebc29828319bbf87ba79e64b7fb30e26 Mon Sep 17 00:00:00 2001 From: "wemos.cc" <11569115@qq.com> Date: Sun, 15 Nov 2015 10:03:15 +0800 Subject: [PATCH 03/12] Update boards.md --- doc/boards.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/boards.md b/doc/boards.md index 746e395d8..9aec334de 100644 --- a/doc/boards.md +++ b/doc/boards.md @@ -10,6 +10,8 @@ title: Supported Hardware - [SparkFun ESP8266 Thing](#sparkfun-esp8266-thing) - [SweetPea ESP-210](#sweetpea-esp-210) - [Generic ESP8266 modules](#generic-esp8266-modules) +- [WeMos D1](#wemos-d1) +- [WeMos D1 mini](#wemos-d1-mini) ### Adafruit HUZZAH ESP8266 (ESP-12) @@ -212,4 +214,7 @@ the first value respects the pin setup of the Pins 0, 2 and 15. note: - number = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2); - +### WeMos D1 +Product page: http://wemos.cc +### WeMos D1 mini +Product page: http://wemos.cc From 5b68aa0c9ca68904cc6446db51eeb9431a83e6dc Mon Sep 17 00:00:00 2001 From: wemos <11569115@qq.com> Date: Sun, 15 Nov 2015 15:36:00 +0800 Subject: [PATCH 04/12] set WeMos D1 & D1 mini default upload rate to 921600 --- boards.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/boards.txt b/boards.txt index ea819444b..8ed16f539 100644 --- a/boards.txt +++ b/boards.txt @@ -584,6 +584,8 @@ d1.menu.UploadTool.esptool.upload.verbose=-vv d1.menu.UploadTool.espota=OTA d1.menu.UploadTool.espota.upload.tool=espota +d1.menu.UploadSpeed.921600=921600 +d1.menu.UploadSpeed.921600.upload.speed=921600 d1.menu.UploadSpeed.115200=115200 d1.menu.UploadSpeed.115200.upload.speed=115200 d1.menu.UploadSpeed.9600=9600 @@ -601,8 +603,7 @@ d1.menu.UploadSpeed.460800.macosx=460800 d1.menu.UploadSpeed.460800.upload.speed=460800 d1.menu.UploadSpeed.512000.windows=512000 d1.menu.UploadSpeed.512000.upload.speed=512000 -d1.menu.UploadSpeed.921600=921600 -d1.menu.UploadSpeed.921600.upload.speed=921600 + d1.menu.FlashSize.4M3M=4M (3M SPIFFS) d1.menu.FlashSize.4M3M.build.flash_size=4M @@ -654,6 +655,8 @@ d1_mini.menu.UploadTool.esptool.upload.verbose=-vv d1_mini.menu.UploadTool.espota=OTA d1_mini.menu.UploadTool.espota.upload.tool=espota +d1_mini.menu.UploadSpeed.921600=921600 +d1_mini.menu.UploadSpeed.921600.upload.speed=921600 d1_mini.menu.UploadSpeed.115200=115200 d1_mini.menu.UploadSpeed.115200.upload.speed=115200 d1_mini.menu.UploadSpeed.9600=9600 @@ -671,8 +674,7 @@ d1_mini.menu.UploadSpeed.460800.macosx=460800 d1_mini.menu.UploadSpeed.460800.upload.speed=460800 d1_mini.menu.UploadSpeed.512000.windows=512000 d1_mini.menu.UploadSpeed.512000.upload.speed=512000 -d1_mini.menu.UploadSpeed.921600=921600 -d1_mini.menu.UploadSpeed.921600.upload.speed=921600 + d1_mini.menu.FlashSize.4M3M=4M (3M SPIFFS) d1_mini.menu.FlashSize.4M3M.build.flash_size=4M From 25eb1bd46e823f9a5adda767be3efb0c95c9ae1f Mon Sep 17 00:00:00 2001 From: "wemos.cc" <11569115@qq.com> Date: Sun, 15 Nov 2015 15:43:11 +0800 Subject: [PATCH 05/12] add wemos d1 to reference.md --- doc/reference.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/reference.md b/doc/reference.md index 10df55219..7165eb47f 100644 --- a/doc/reference.md +++ b/doc/reference.md @@ -167,6 +167,7 @@ NodeMCU 1.0 | 4M | 1M, 3M Olimex MOD-WIFI-ESP8266(-DEV)| 2M | 1M SparkFun Thing | 512k | 64k SweetPea ESP-210 | 4M | 1M, 3M +WeMos D1 & D1 mini | 4M | 1M, 3M **Note:** to use any of file system functions in the sketch, add the following include to the sketch: From 5b28ae23c262ee62132c46c06455d909e9ffee4b Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Sun, 15 Nov 2015 20:35:52 +0300 Subject: [PATCH 06/12] Allow WiFiServer to bind to a specific address (#997) In addition to the existing constructors (WiFiServer::WiFiServer(port) and WiFiWebServer::WiFiWebServer(port)), new constructors are added: WiFiServer::WiFiServer(IPAddress, port) and WiFiWebServer::WiFiWebServer(IPAddress, port). --- .../ESP8266WebServer/src/ESP8266WebServer.cpp | 21 +++-- .../ESP8266WebServer/src/ESP8266WebServer.h | 1 + libraries/ESP8266WiFi/src/WiFiServer.cpp | 92 ++++++++++--------- libraries/ESP8266WiFi/src/WiFiServer.h | 5 +- 4 files changed, 67 insertions(+), 52 deletions(-) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp index cc8410ece..04bda3152 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp @@ -31,23 +31,32 @@ #define DEBUG_OUTPUT Serial +ESP8266WebServer::ESP8266WebServer(IPAddress addr, int port) +: _server(addr, port) +, _firstHandler(0) +, _lastHandler(0) +, _currentArgCount(0) +, _currentArgs(0) +, _headerKeysCount(0) +, _currentHeaders(0) +{ +} + ESP8266WebServer::ESP8266WebServer(int port) : _server(port) , _firstHandler(0) , _lastHandler(0) , _currentArgCount(0) , _currentArgs(0) -,_headerKeysCount(0) -,_currentHeaders(0) +, _headerKeysCount(0) +, _currentHeaders(0) { } ESP8266WebServer::~ESP8266WebServer() { - if (_currentHeaders) - delete[]_currentHeaders; + if (_currentHeaders) + delete[]_currentHeaders; _headerKeysCount = 0; - if (!_firstHandler) - return; RequestHandler* handler = _firstHandler; while (handler) { RequestHandler* next = handler->next(); diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index e2a8da46c..65e44378f 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -59,6 +59,7 @@ typedef struct { class ESP8266WebServer { public: + ESP8266WebServer(IPAddress addr, int port = 80); ESP8266WebServer(int port = 80); ~ESP8266WebServer(); diff --git a/libraries/ESP8266WiFi/src/WiFiServer.cpp b/libraries/ESP8266WiFi/src/WiFiServer.cpp index 0e4af3f36..5de2d4ac7 100644 --- a/libraries/ESP8266WiFi/src/WiFiServer.cpp +++ b/libraries/ESP8266WiFi/src/WiFiServer.cpp @@ -38,33 +38,41 @@ extern "C" { #include "cbuf.h" #include "include/ClientContext.h" -WiFiServer::WiFiServer(uint16_t port) +WiFiServer::WiFiServer(IPAddress addr, uint16_t port) +: _port(port) +, _addr(addr) +, _pcb(nullptr) +, _unclaimed(nullptr) +, _discarded(nullptr) { - _port = port; - _pcb = 0; - _unclaimed = 0; - _discarded = 0; } -void WiFiServer::begin() +WiFiServer::WiFiServer(uint16_t port) +: _port(port) +, _addr((uint32_t) IPADDR_ANY) +, _pcb(nullptr) +, _unclaimed(nullptr) +, _discarded(nullptr) { - err_t err; +} +void WiFiServer::begin() { + err_t err; tcp_pcb* pcb = tcp_new(); if (!pcb) return; - err = tcp_bind(pcb, INADDR_ANY, _port); + ip_addr_t local_addr; + local_addr.addr = (uint32_t) _addr; + err = tcp_bind(pcb, &local_addr, _port); - if (err != ERR_OK) - { + if (err != ERR_OK) { tcp_close(pcb); return; } tcp_pcb* listen_pcb = tcp_listen(pcb); - if (!listen_pcb) - { + if (!listen_pcb) { tcp_close(pcb); return; } @@ -73,26 +81,30 @@ void WiFiServer::begin() tcp_arg(listen_pcb, (void*) this); } -void WiFiServer::setNoDelay(bool nodelay){ - if(!_pcb) return; - if(nodelay) tcp_nagle_disable(_pcb); - else tcp_nagle_enable(_pcb); +void WiFiServer::setNoDelay(bool nodelay) { + if (!_pcb) + return; + + if (nodelay) + tcp_nagle_disable(_pcb); + else + tcp_nagle_enable(_pcb); } -bool WiFiServer::getNoDelay(){ - if(!_pcb) return false; - return tcp_nagle_disabled(_pcb); +bool WiFiServer::getNoDelay() { + if (!_pcb) + return false; + return tcp_nagle_disabled(_pcb); } -bool WiFiServer::hasClient(){ - if (_unclaimed) return true; - return false; -} - -WiFiClient WiFiServer::available(byte* status) -{ +bool WiFiServer::hasClient() { if (_unclaimed) - { + return true; + return false; +} + +WiFiClient WiFiServer::available(byte* status) { + if (_unclaimed) { WiFiClient result(_unclaimed); _unclaimed = _unclaimed->next(); DEBUGV("WS:av\r\n"); @@ -100,32 +112,28 @@ WiFiClient WiFiServer::available(byte* status) } optimistic_yield(1000); - return WiFiClient(); } -uint8_t WiFiServer::status() { +uint8_t WiFiServer::status() { if (!_pcb) return CLOSED; return _pcb->state; } -size_t WiFiServer::write(uint8_t b) -{ +size_t WiFiServer::write(uint8_t b) { return write(&b, 1); } -size_t WiFiServer::write(const uint8_t *buffer, size_t size) -{ +size_t WiFiServer::write(const uint8_t *buffer, size_t size) { // write to all clients // not implemented return 0; } template -T* slist_append_tail(T* head, T* item) -{ +T* slist_append_tail(T* head, T* item) { if (!head) return item; T* last = head; @@ -135,29 +143,23 @@ T* slist_append_tail(T* head, T* item) return head; } -int8_t WiFiServer::_accept(tcp_pcb* apcb, int8_t err) -{ +int8_t WiFiServer::_accept(tcp_pcb* apcb, int8_t err) { DEBUGV("WS:ac\r\n"); ClientContext* client = new ClientContext(apcb, &WiFiServer::_s_discard, this); _unclaimed = slist_append_tail(_unclaimed, client); tcp_accepted(_pcb); - // printf("WiFiServer::_accept\r\n"); return ERR_OK; } -void WiFiServer::_discard(ClientContext* client) -{ +void WiFiServer::_discard(ClientContext* client) { // _discarded = slist_append_tail(_discarded, client); DEBUGV("WS:dis\r\n"); - // printf("WiFiServer::_discard\r\n"); } -int8_t WiFiServer::_s_accept(void *arg, tcp_pcb* newpcb, int8_t err) -{ +int8_t WiFiServer::_s_accept(void *arg, tcp_pcb* newpcb, int8_t err) { return reinterpret_cast(arg)->_accept(newpcb, err); } -void WiFiServer::_s_discard(void* server, ClientContext* ctx) -{ +void WiFiServer::_s_discard(void* server, ClientContext* ctx) { reinterpret_cast(server)->_discard(ctx); } diff --git a/libraries/ESP8266WiFi/src/WiFiServer.h b/libraries/ESP8266WiFi/src/WiFiServer.h index ef642762d..263bcbcdf 100644 --- a/libraries/ESP8266WiFi/src/WiFiServer.h +++ b/libraries/ESP8266WiFi/src/WiFiServer.h @@ -29,6 +29,7 @@ extern "C" { } #include "Server.h" +#include "IPAddress.h" class ClientContext; class WiFiClient; @@ -36,12 +37,14 @@ class WiFiClient; class WiFiServer : public Server { private: uint16_t _port; + IPAddress _addr; tcp_pcb* _pcb; ClientContext* _unclaimed; ClientContext* _discarded; public: + WiFiServer(IPAddress addr, uint16_t port); WiFiServer(uint16_t port); WiFiClient available(uint8_t* status = NULL); bool hasClient(); @@ -56,7 +59,7 @@ public: protected: int8_t _accept(tcp_pcb* newpcb, int8_t err); - void _discard(ClientContext* client); + void _discard(ClientContext* client); static int8_t _s_accept(void *arg, tcp_pcb* newpcb, int8_t err); static void _s_discard(void* server, ClientContext* ctx); From 74aec438ae172eb1681e2074b584dbe6919d011c Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 16 Nov 2015 00:39:54 +0300 Subject: [PATCH 07/12] Fix "invalid library found" errors with Arduino 1.6.6 (#965) As per suggestion from @marvinroger --- libraries/esp8266/library.properties | 9 +++++++++ libraries/esp8266/src/dummy.h | 2 ++ 2 files changed, 11 insertions(+) create mode 100644 libraries/esp8266/library.properties create mode 100644 libraries/esp8266/src/dummy.h diff --git a/libraries/esp8266/library.properties b/libraries/esp8266/library.properties new file mode 100644 index 000000000..15b1a3148 --- /dev/null +++ b/libraries/esp8266/library.properties @@ -0,0 +1,9 @@ +name=ESP8266 +version=1.0 +author=Simon Peter,Markus Sattler,Ivan Grokhotkov +maintainer=Ivan Grokhtkov +sentence=ESP8266 sketches examples +paragraph= +category=Other +url= +architectures=esp8266 diff --git a/libraries/esp8266/src/dummy.h b/libraries/esp8266/src/dummy.h new file mode 100644 index 000000000..d8a140eda --- /dev/null +++ b/libraries/esp8266/src/dummy.h @@ -0,0 +1,2 @@ +// This file is here only to silence warnings from Arduino IDE +// Currently IDE doesn't support no-code libraries, like this collection of example sketches. From e9f0ea2afe8c6e6512814fb6bf1979f0c40506a5 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Nov 2015 02:47:57 +0300 Subject: [PATCH 08/12] WiFiClientSecure: handle full size TLS fragments (#43) - free up some memory by getting rid of intermediate buffer - libaxtls: update to 6830d98 - allocate plaintext buffer in two stages: 4*MSS initially, grow to 16k after handshake - free certificate data after handshake is complete - preallocate some structures to reduce memory fragmentation --- .../ESP8266WiFi/src/WiFiClientSecure.cpp | 77 +++++++++--------- tools/sdk/lib/libaxtls.a | Bin 556176 -> 557778 bytes 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index 3e06cf8b3..3369c3448 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -50,7 +50,6 @@ extern "C" #define SSL_DEBUG_OPTS 0 #endif -#define SSL_RX_BUF_SIZE 4096 class SSLContext { public: @@ -59,8 +58,6 @@ public: _ssl_ctx = ssl_ctx_new(SSL_SERVER_VERIFY_LATER | SSL_DEBUG_OPTS, 0); } ++_ssl_ctx_refcnt; - - _rxbuf = new cbuf(SSL_RX_BUF_SIZE); } ~SSLContext() { @@ -73,8 +70,6 @@ public: if (_ssl_ctx_refcnt == 0) { ssl_ctx_free(_ssl_ctx); } - - delete _rxbuf; } void ref() { @@ -92,38 +87,50 @@ public: } int read(uint8_t* dst, size_t size) { - if (!_rxbuf->getSize()) { - _readAll(); + if (!_available) { + if (!_readAll()) + return 0; } - size_t available = _rxbuf->getSize(); - size_t will_read = (available < size) ? available : size; - return _rxbuf->read(reinterpret_cast(dst), will_read); + size_t will_copy = (_available < size) ? _available : size; + memcpy(dst, _read_ptr, will_copy); + _read_ptr += will_copy; + _available -= will_copy; + if (_available == 0) { + _read_ptr = nullptr; + } + return will_copy; } int read() { - optimistic_yield(100); - if (!_rxbuf->getSize()) { - _readAll(); + if (!_available) { + if (!_readAll()) + return -1; } - return _rxbuf->read(); + int result = _read_ptr[0]; + ++_read_ptr; + --_available; + if (_available == 0) { + _read_ptr = nullptr; + } + return result; } int peek() { - if (!_rxbuf->getSize()) { - _readAll(); + if (!_available) { + if (!_readAll()) + return -1; } - return _rxbuf->peek(); + return _read_ptr[0]; } int available() { - auto rc = _rxbuf->getSize(); - if (rc == 0) { - _readAll(); - rc = _rxbuf->getSize(); + auto cb = _available; + if (cb == 0) { + cb = _readAll(); } else { optimistic_yield(100); } - return rc; + return cb; } operator SSL*() { @@ -135,6 +142,8 @@ protected: if (!_ssl) return 0; + optimistic_yield(100); + uint8_t* data; int rc = ssl_read(_ssl, &data); if (rc <= 0) { @@ -144,25 +153,18 @@ protected: } return 0; } - - - if (rc > _rxbuf->room()) { - DEBUGV("WiFiClientSecure rx overflow"); - rc = _rxbuf->room(); - } - int result = 0; - size_t sizeBefore = _rxbuf->getSize(); - if (rc) - result = _rxbuf->write(reinterpret_cast(data), rc); - DEBUGV("*** rb: %d + %d = %d\r\n", sizeBefore, rc, _rxbuf->getSize()); - return result; + DEBUGV(":wcs ra %d", rc); + _read_ptr = data; + _available = rc; + return _available; } static SSL_CTX* _ssl_ctx; static int _ssl_ctx_refcnt; SSL* _ssl = nullptr; int _refcnt = 0; - cbuf* _rxbuf; + const uint8_t* _read_ptr = nullptr; + size_t _available = 0; }; SSL_CTX* SSLContext::_ssl_ctx = nullptr; @@ -313,14 +315,13 @@ bool WiFiClientSecure::verify(const char* fp, const char* url) { while (pos < len && fp[pos] == ' ') { ++pos; } - DEBUGV("pos:%d ", pos); if (pos > len - 2) { - DEBUGV("fingerprint too short\r\n"); + DEBUGV("pos:%d len:%d fingerprint too short\r\n", pos, len); return false; } uint8_t high, low; if (!parseHexNibble(fp[pos], &high) || !parseHexNibble(fp[pos+1], &low)) { - DEBUGV("invalid hex sequence: %c%c\r\n", fp[pos], fp[pos+1]); + DEBUGV("pos:%d len:%d invalid hex sequence: %c%c\r\n", pos, len, fp[pos], fp[pos+1]); return false; } pos += 2; diff --git a/tools/sdk/lib/libaxtls.a b/tools/sdk/lib/libaxtls.a index fa52cf485834e9df57f46d35da228824216db88b..e8c08dc1ef1362b14282637413af332fba65dd98 100644 GIT binary patch delta 142679 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 z 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 b#O&I*J~;8tYR54bp0|^BHEtCe*Zuzi90>QM delta 143362 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 E0i#$H#sB~S From a2789df2a5294c3205230f5a76361f68debd19a1 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Nov 2015 03:13:37 +0300 Subject: [PATCH 09/12] ESP8266httpUpdate: add method overload to allow updates using WiFiClientSecure --- libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp | 8 +++++--- libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp index 85dafa45f..33907465c 100644 --- a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp +++ b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp @@ -34,17 +34,19 @@ ESP8266HTTPUpdate::~ESP8266HTTPUpdate(void) { } t_httpUpdate_return ESP8266HTTPUpdate::update(const char * host, uint16_t port, const char * url, const char * current_version) { - - t_httpUpdate_return ret = HTTP_UPDATE_FAILED; WiFiClient tcp; DEBUG_HTTP_UPDATE("[httpUpdate] connected to %s:%u %s .... ", host, port, url); if(!tcp.connect(host, port)) { DEBUG_HTTP_UPDATE("failed.\n"); - return ret; + return HTTP_UPDATE_FAILED; } DEBUG_HTTP_UPDATE("ok.\n"); + return update(tcp, host, url, current_version); +} +t_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient& tcp, const char* host, const char* url, const char * current_version) { + t_httpUpdate_return ret = HTTP_UPDATE_FAILED; // set Timeout for readBytesUntil and readStringUntil tcp.setTimeout(2000); tcp.setNoDelay(true); diff --git a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h index 334b0e43c..3f72bc98e 100644 --- a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h +++ b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h @@ -50,6 +50,7 @@ class ESP8266HTTPUpdate { t_httpUpdate_return update(const char * host, uint16_t port, const char * url = "/", const char * current_version = ""); t_httpUpdate_return update(String host, uint16_t port, String url = "/", String current_version = ""); + t_httpUpdate_return update(WiFiClient& client, const char* host, const char* url = "/", const char * current_version = ""); }; extern ESP8266HTTPUpdate ESPhttpUpdate; From 39cf5d6cd641ddaa5aede65b026904c745c2c053 Mon Sep 17 00:00:00 2001 From: themindfactory Date: Mon, 16 Nov 2015 20:26:07 -0500 Subject: [PATCH 10/12] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 38cfc86b5..b5a7d6851 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,10 @@ Starting with 1.6.4, Arduino allows installation of third-party platform package - Enter ```http://arduino.esp8266.com/stable/package_esp8266com_index.json``` into *Additional Board Manager URLs* field. You can add multiple URLs, separating them with commas. - Open Boards Manager from Tools > Board menu and install *esp8266* platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation). +The best place to ask questions related to this core is ESP8266 community forum: http://www.esp8266.com/arduino. +If you find this ESP8266 board manager useful, please consider supporting it with a donation. ESP8266 Community and IGRR have made this wonderful port available. +[![Donate](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/webscr?cmd=_s-xclick&hosted_button_id=4M56YCWV6PX66) + #### Available versions ##### Stable version ![](http://arduino.esp8266.com/stable/badge.svg) @@ -26,7 +30,6 @@ Boards manager link: `http://arduino.esp8266.com/staging/package_esp8266com_inde Documentation: [Reference](http://arduino.esp8266.com/staging/doc/reference.html) - ### Using git version [![Linux build status](https://travis-ci.org/esp8266/Arduino.svg)](https://travis-ci.org/esp8266/Arduino) - Install Arduino 1.6.5 @@ -54,10 +57,6 @@ Documentation for latest development version: ### Issues and support ### -The best place to ask questions related to this core is ESP8266 community forum: http://www.esp8266.com/arduino. -If you find the forum useful, please consider supporting it with a donation. -[![Donate](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/webscr?cmd=_s-xclick&hosted_button_id=4M56YCWV6PX66) - If you encounter an issue, you are welcome to submit it here on Github: https://github.com/esp8266/Arduino/issues. Please provide as much context as possible: version which you are using (you can check it in Boards Manager), your sketch code, serial output, board model, IDE settings (board selection, flash size, etc). From 16a2cdcf4161005a5ef8eebf8046355bd8c2ffc5 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Nov 2015 15:41:41 +0300 Subject: [PATCH 11/12] Add script to merge boards manager packages --- package/merge_packages.py | 60 +++++++++++++++++++++++++++++++++++++++ tools/get.py | 6 ++-- 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 package/merge_packages.py diff --git a/package/merge_packages.py b/package/merge_packages.py new file mode 100644 index 000000000..350522bac --- /dev/null +++ b/package/merge_packages.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# This script merges two Arduino Board Manager package json files. +# Usage: +# python merge_packages.py package_esp8266com_index.json version/new/package_esp8266com_index.json +# Written by Ivan Grokhotkov, 2015 +# +from __future__ import print_function +import json +import sys + +def load_package(filename): + pkg = json.load(open(filename))['packages'][0] + print("Loaded package {0} from {1}".format(pkg['name'], filename)) + print("{0} platform(s), {1} tools".format(len(pkg['platforms']), len(pkg['tools']))) + return pkg + +def merge_objects(versions, obj): + for o in obj: + name = o['name'].encode('ascii') + ver = o['version'].encode('ascii') + if not name in versions: + print("found new object, {0}".format(name)) + versions[name] = {} + if not ver in versions[name]: + print("found new version {0} for object {1}".format(ver, name)) + versions[name][ver] = o + return versions + + +def main(args): + if len(args) < 3: + print("Usage: {0} ".format(args[0])) + return 1 + + tools = {} + platforms = {} + pkg1 = load_package(args[1]) + tools = merge_objects(tools, pkg1['tools']); + platforms = merge_objects(platforms, pkg1['platforms']); + pkg2 = load_package(args[2]) + tools = merge_objects(tools, pkg2['tools']); + platforms = merge_objects(platforms, pkg2['platforms']); + + pkg1['tools'] = [] + pkg1['platforms'] = [] + + for name in tools: + for version in tools[name]: + print("Adding tool {0}-{1}".format(name, version)) + pkg1['tools'].append(tools[name][version]) + + for name in platforms: + for version in platforms[name]: + print("Adding platform {0}-{1}".format(name, version)) + pkg1['platforms'].append(platforms[name][version]) + + json.dump({'packages':[pkg1]}, sys.stdout, indent=2) + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/tools/get.py b/tools/get.py index e47a535be..eb8051ef8 100755 --- a/tools/get.py +++ b/tools/get.py @@ -1,7 +1,7 @@ #!/usr/bin/env python -# This script will download and extract required tools into the current directory -# Tools list is obtained from tools.json file -# Written by Ivan Grokhotkov, 2015 +# This script will download and extract required tools into the current directory. +# Tools list is obtained from package/package_esp8266com_index.template.json file. +# Written by Ivan Grokhotkov, 2015. # from __future__ import print_function import urllib From 254e4d9964e040b7916fe1863b5b2dbfdd462c1e Mon Sep 17 00:00:00 2001 From: themindfactory Date: Tue, 17 Nov 2015 11:19:49 -0500 Subject: [PATCH 12/12] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b5a7d6851..aeb46b3e6 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Starting with 1.6.4, Arduino allows installation of third-party platform package - Open Boards Manager from Tools > Board menu and install *esp8266* platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation). The best place to ask questions related to this core is ESP8266 community forum: http://www.esp8266.com/arduino. -If you find this ESP8266 board manager useful, please consider supporting it with a donation. ESP8266 Community and IGRR have made this wonderful port available. +If you find this ESP8266 board manager useful, please consider supporting it with a donation. The ESP8266 Community Forum and IGRR have made this wonderful port available. [![Donate](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/webscr?cmd=_s-xclick&hosted_button_id=4M56YCWV6PX66) #### Available versions