diff --git a/boards.txt b/boards.txt index 3867b45547..00968cf520 100644 --- a/boards.txt +++ b/boards.txt @@ -3946,3 +3946,151 @@ oak.menu.UploadSpeed.460800.upload.speed=460800 oak.menu.UploadSpeed.512000.windows=512000 oak.menu.UploadSpeed.512000.upload.speed=512000 +############################################################## +wifiduino.name=WiFiduino +wifiduino.build.board=WIFIDUINO_ESP8266 +wifiduino.build.variant=wifiduino +wifiduino.upload.tool=esptool +wifiduino.upload.maximum_data_size=81920 +wifiduino.upload.wait_for_upload_port=true +wifiduino.upload.erase_cmd= +wifiduino.serial.disableDTR=true +wifiduino.serial.disableRTS=true +wifiduino.build.mcu=esp8266 +wifiduino.build.core=esp8266 +wifiduino.build.spiffs_pagesize=256 +wifiduino.build.debug_port= +wifiduino.build.debug_level= +wifiduino.menu.CpuFrequency.80=80 MHz +wifiduino.menu.CpuFrequency.80.build.f_cpu=80000000L +wifiduino.menu.CpuFrequency.160=160 MHz +wifiduino.menu.CpuFrequency.160.build.f_cpu=160000000L +wifiduino.upload.resetmethod=nodemcu +wifiduino.build.flash_mode=dio +wifiduino.build.flash_freq=40 +wifiduino.menu.FlashSize.4M1M=4M (1M SPIFFS) +wifiduino.menu.FlashSize.4M1M.build.flash_size=4M +wifiduino.menu.FlashSize.4M1M.build.flash_size_bytes=0x400000 +wifiduino.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +wifiduino.menu.FlashSize.4M1M.build.spiffs_pagesize=256 +wifiduino.menu.FlashSize.4M1M.upload.maximum_size=1044464 +wifiduino.menu.FlashSize.4M1M.build.rfcal_addr=0x3FC000 +wifiduino.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +wifiduino.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +wifiduino.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +wifiduino.menu.FlashSize.4M2M=4M (2M SPIFFS) +wifiduino.menu.FlashSize.4M2M.build.flash_size=4M +wifiduino.menu.FlashSize.4M2M.build.flash_size_bytes=0x400000 +wifiduino.menu.FlashSize.4M2M.build.flash_ld=eagle.flash.4m2m.ld +wifiduino.menu.FlashSize.4M2M.build.spiffs_pagesize=256 +wifiduino.menu.FlashSize.4M2M.upload.maximum_size=1044464 +wifiduino.menu.FlashSize.4M2M.build.rfcal_addr=0x3FC000 +wifiduino.menu.FlashSize.4M2M.build.spiffs_start=0x200000 +wifiduino.menu.FlashSize.4M2M.build.spiffs_end=0x3FB000 +wifiduino.menu.FlashSize.4M2M.build.spiffs_blocksize=8192 +wifiduino.menu.FlashSize.4M3M=4M (3M SPIFFS) +wifiduino.menu.FlashSize.4M3M.build.flash_size=4M +wifiduino.menu.FlashSize.4M3M.build.flash_size_bytes=0x400000 +wifiduino.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +wifiduino.menu.FlashSize.4M3M.build.spiffs_pagesize=256 +wifiduino.menu.FlashSize.4M3M.upload.maximum_size=1044464 +wifiduino.menu.FlashSize.4M3M.build.rfcal_addr=0x3FC000 +wifiduino.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +wifiduino.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +wifiduino.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +wifiduino.menu.LwIPVariant.v2mss536=v2 Lower Memory +wifiduino.menu.LwIPVariant.v2mss536.build.lwip_include=lwip2/include +wifiduino.menu.LwIPVariant.v2mss536.build.lwip_lib=-llwip2 +wifiduino.menu.LwIPVariant.v2mss536.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=536 +wifiduino.menu.LwIPVariant.v2mss1460=v2 Higher Bandwidth +wifiduino.menu.LwIPVariant.v2mss1460.build.lwip_include=lwip2/include +wifiduino.menu.LwIPVariant.v2mss1460.build.lwip_lib=-llwip2_1460 +wifiduino.menu.LwIPVariant.v2mss1460.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=1460 +wifiduino.menu.LwIPVariant.Prebuilt=v1.4 Higher Bandwidth +wifiduino.menu.LwIPVariant.Prebuilt.build.lwip_lib=-llwip_gcc +wifiduino.menu.LwIPVariant.Prebuilt.build.lwip_flags=-DLWIP_OPEN_SRC +wifiduino.menu.LwIPVariant.OpenSource=v1.4 Compile from source +wifiduino.menu.LwIPVariant.OpenSource.build.lwip_lib=-llwip_src +wifiduino.menu.LwIPVariant.OpenSource.build.lwip_flags=-DLWIP_OPEN_SRC +wifiduino.menu.LwIPVariant.OpenSource.recipe.hooks.sketch.prebuild.1.pattern=make -C "{runtime.platform.path}/tools/sdk/lwip/src" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-" +wifiduino.menu.Debug.Disabled=Disabled +wifiduino.menu.Debug.Disabled.build.debug_port= +wifiduino.menu.Debug.Serial=Serial +wifiduino.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial +wifiduino.menu.Debug.Serial1=Serial1 +wifiduino.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 +wifiduino.menu.DebugLevel.None____=None +wifiduino.menu.DebugLevel.None____.build.debug_level= +wifiduino.menu.DebugLevel.SSL=SSL +wifiduino.menu.DebugLevel.SSL.build.debug_level= -DDEBUG_ESP_SSL +wifiduino.menu.DebugLevel.TLS_MEM=TLS_MEM +wifiduino.menu.DebugLevel.TLS_MEM.build.debug_level= -DDEBUG_ESP_TLS_MEM +wifiduino.menu.DebugLevel.HTTP_CLIENT=HTTP_CLIENT +wifiduino.menu.DebugLevel.HTTP_CLIENT.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT +wifiduino.menu.DebugLevel.HTTP_SERVER=HTTP_SERVER +wifiduino.menu.DebugLevel.HTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.SSLTLS_MEM=SSL+TLS_MEM +wifiduino.menu.DebugLevel.SSLTLS_MEM.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM +wifiduino.menu.DebugLevel.SSLHTTP_CLIENT=SSL+HTTP_CLIENT +wifiduino.menu.DebugLevel.SSLHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT +wifiduino.menu.DebugLevel.SSLHTTP_SERVER=SSL+HTTP_SERVER +wifiduino.menu.DebugLevel.SSLHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.TLS_MEMHTTP_CLIENT=TLS_MEM+HTTP_CLIENT +wifiduino.menu.DebugLevel.TLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT +wifiduino.menu.DebugLevel.TLS_MEMHTTP_SERVER=TLS_MEM+HTTP_SERVER +wifiduino.menu.DebugLevel.TLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.HTTP_CLIENTHTTP_SERVER=HTTP_CLIENT+HTTP_SERVER +wifiduino.menu.DebugLevel.HTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENT=SSL+TLS_MEM+HTTP_CLIENT +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_SERVER=SSL+TLS_MEM+HTTP_SERVER +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.SSLHTTP_CLIENTHTTP_SERVER=SSL+HTTP_CLIENT+HTTP_SERVER +wifiduino.menu.DebugLevel.SSLHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.TLS_MEMHTTP_CLIENTHTTP_SERVER=TLS_MEM+HTTP_CLIENT+HTTP_SERVER +wifiduino.menu.DebugLevel.TLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wifiduino.menu.DebugLevel.CORE=CORE +wifiduino.menu.DebugLevel.CORE.build.debug_level= -DDEBUG_ESP_CORE +wifiduino.menu.DebugLevel.WIFI=WIFI +wifiduino.menu.DebugLevel.WIFI.build.debug_level= -DDEBUG_ESP_WIFI +wifiduino.menu.DebugLevel.HTTP_UPDATE=HTTP_UPDATE +wifiduino.menu.DebugLevel.HTTP_UPDATE.build.debug_level= -DDEBUG_ESP_HTTP_UPDATE +wifiduino.menu.DebugLevel.UPDATER=UPDATER +wifiduino.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER +wifiduino.menu.DebugLevel.OTA=OTA +wifiduino.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA +wifiduino.menu.DebugLevel.OOM=OOM +wifiduino.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM +wifiduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wifiduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wifiduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM +wifiduino.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG +wifiduino.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG +wifiduino.menu.FlashErase.none=Only Sketch +wifiduino.menu.FlashErase.none.upload.erase_cmd= +wifiduino.menu.FlashErase.sdk=Sketch + WiFi Settings +wifiduino.menu.FlashErase.sdk.upload.erase_cmd=-ca "{build.rfcal_addr}" -cz 0x4000 +wifiduino.menu.FlashErase.all=All Flash Contents +wifiduino.menu.FlashErase.all.upload.erase_cmd=-ca 0x0 -cz "{build.flash_size_bytes}" +wifiduino.menu.UploadSpeed.921600=921600 +wifiduino.menu.UploadSpeed.921600.upload.speed=921600 +wifiduino.menu.UploadSpeed.9600=9600 +wifiduino.menu.UploadSpeed.9600.upload.speed=9600 +wifiduino.menu.UploadSpeed.57600=57600 +wifiduino.menu.UploadSpeed.57600.upload.speed=57600 +wifiduino.menu.UploadSpeed.115200=115200 +wifiduino.menu.UploadSpeed.115200.upload.speed=115200 +wifiduino.menu.UploadSpeed.230400.linux=230400 +wifiduino.menu.UploadSpeed.230400.macosx=230400 +wifiduino.menu.UploadSpeed.230400.upload.speed=230400 +wifiduino.menu.UploadSpeed.256000.windows=256000 +wifiduino.menu.UploadSpeed.256000.upload.speed=256000 +wifiduino.menu.UploadSpeed.460800.linux=460800 +wifiduino.menu.UploadSpeed.460800.macosx=460800 +wifiduino.menu.UploadSpeed.460800.upload.speed=460800 +wifiduino.menu.UploadSpeed.512000.windows=512000 +wifiduino.menu.UploadSpeed.512000.upload.speed=512000 + diff --git a/doc/boards.rst b/doc/boards.rst index f953151a3b..8b49832a13 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -384,3 +384,8 @@ To make a serial connection, wire the adapter's **TX to P3**, **RX to P4**, and To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode. +WiFiduino +--------- + +Product page: https://wifiduino.com/esp8266 + diff --git a/doc/filesystem.rst b/doc/filesystem.rst index 48cb58cc0a..1541d8319c 100644 --- a/doc/filesystem.rst +++ b/doc/filesystem.rst @@ -53,6 +53,8 @@ which is selected in IDE, you have the following options for flash size: +---------------------------------+--------------------------+---------------------------+ | ESPDuino | 4M | 1M, 3M | +---------------------------------+--------------------------+---------------------------+ +| WiFiduino | 4M | 1M, 3M | ++---------------------------------+--------------------------+---------------------------+ **Note:** to use any of file system functions in the sketch, add the following include to the sketch: diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index 700c114c24..21d5a33b1f 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -91,6 +91,9 @@ }, { "name": "Digistump Oak" + }, + { + "name": "WiFiduino" } ], "toolsDependencies": [ diff --git a/tools/boards.txt.py b/tools/boards.txt.py index a74a30a225..1f55d2e568 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -713,6 +713,21 @@ 'To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode.', ], }), + ( 'wifiduino', { + 'name': 'WiFiduino', + 'opts': { + '.build.board': 'WIFIDUINO_ESP8266', + '.build.variant': 'wifiduino', + }, + 'macro': [ + 'resetmethod_nodemcu', + 'flashmode_dio', + 'flashfreq_40', + '4M', + ], + 'serial': '921', + 'desc': [ 'Product page: https://wifiduino.com/esp8266' ], + }), ]) ################################################################ diff --git a/variants/wifiduino/pins_arduino.h b/variants/wifiduino/pins_arduino.h new file mode 100644 index 0000000000..e44132b617 --- /dev/null +++ b/variants/wifiduino/pins_arduino.h @@ -0,0 +1,57 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#define PIN_WIRE_SDA (4) +#define PIN_WIRE_SCL (5) + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; + +static const uint8_t LED_BUILTIN = 2; +static const uint8_t BUILTIN_LED = 2; + +static const uint8_t D0 = 3; +static const uint8_t D1 = 1; +static const uint8_t D2 = 2; +static const uint8_t D3 = 0; +static const uint8_t D4 = 4; +static const uint8_t D5 = 5; +static const uint8_t D6 = 16; +static const uint8_t D7 = 14; +static const uint8_t D8 = 12; +static const uint8_t D9 = 13; +static const uint8_t D10 = 15; +static const uint8_t D11 = 13; +static const uint8_t D12 = 12; +static const uint8_t D13 = 14; +static const uint8_t RX = 3; +static const uint8_t TX = 1; + +#include "../generic/common.h" + +#endif /* Pins_Arduino_h */