diff --git a/boards.txt b/boards.txt index e709fd010..92751ec80 100644 --- a/boards.txt +++ b/boards.txt @@ -4665,3 +4665,157 @@ wifi_slot.menu.UploadSpeed.512000.upload.speed=512000 wifi_slot.menu.UploadSpeed.921600=921600 wifi_slot.menu.UploadSpeed.921600.upload.speed=921600 +############################################################## +wiolink.name=Seeed Wio Link +wiolink.build.board=ESP8266_WIO_LINK +wiolink.build.variant=wiolink +wiolink.upload.tool=esptool +wiolink.upload.maximum_data_size=81920 +wiolink.upload.wait_for_upload_port=true +wiolink.upload.erase_cmd= +wiolink.serial.disableDTR=true +wiolink.serial.disableRTS=true +wiolink.build.mcu=esp8266 +wiolink.build.core=esp8266 +wiolink.build.spiffs_pagesize=256 +wiolink.build.debug_port= +wiolink.build.debug_level= +wiolink.menu.CpuFrequency.80=80 MHz +wiolink.menu.CpuFrequency.80.build.f_cpu=80000000L +wiolink.menu.CpuFrequency.160=160 MHz +wiolink.menu.CpuFrequency.160.build.f_cpu=160000000L +wiolink.menu.VTable.flash=Flash +wiolink.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH +wiolink.menu.VTable.heap=Heap +wiolink.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM +wiolink.menu.VTable.iram=IRAM +wiolink.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM +wiolink.upload.resetmethod=nodemcu +wiolink.build.flash_mode=qio +wiolink.build.flash_freq=40 +wiolink.menu.FlashSize.4M1M=4M (1M SPIFFS) +wiolink.menu.FlashSize.4M1M.build.flash_size=4M +wiolink.menu.FlashSize.4M1M.build.flash_size_bytes=0x400000 +wiolink.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +wiolink.menu.FlashSize.4M1M.build.spiffs_pagesize=256 +wiolink.menu.FlashSize.4M1M.upload.maximum_size=1044464 +wiolink.menu.FlashSize.4M1M.build.rfcal_addr=0x3FC000 +wiolink.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +wiolink.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +wiolink.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +wiolink.menu.FlashSize.4M2M=4M (2M SPIFFS) +wiolink.menu.FlashSize.4M2M.build.flash_size=4M +wiolink.menu.FlashSize.4M2M.build.flash_size_bytes=0x400000 +wiolink.menu.FlashSize.4M2M.build.flash_ld=eagle.flash.4m2m.ld +wiolink.menu.FlashSize.4M2M.build.spiffs_pagesize=256 +wiolink.menu.FlashSize.4M2M.upload.maximum_size=1044464 +wiolink.menu.FlashSize.4M2M.build.rfcal_addr=0x3FC000 +wiolink.menu.FlashSize.4M2M.build.spiffs_start=0x200000 +wiolink.menu.FlashSize.4M2M.build.spiffs_end=0x3FB000 +wiolink.menu.FlashSize.4M2M.build.spiffs_blocksize=8192 +wiolink.menu.FlashSize.4M3M=4M (3M SPIFFS) +wiolink.menu.FlashSize.4M3M.build.flash_size=4M +wiolink.menu.FlashSize.4M3M.build.flash_size_bytes=0x400000 +wiolink.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +wiolink.menu.FlashSize.4M3M.build.spiffs_pagesize=256 +wiolink.menu.FlashSize.4M3M.upload.maximum_size=1044464 +wiolink.menu.FlashSize.4M3M.build.rfcal_addr=0x3FC000 +wiolink.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +wiolink.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +wiolink.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +wiolink.menu.LwIPVariant.v2mss536=v2 Lower Memory +wiolink.menu.LwIPVariant.v2mss536.build.lwip_include=lwip2/include +wiolink.menu.LwIPVariant.v2mss536.build.lwip_lib=-llwip2 +wiolink.menu.LwIPVariant.v2mss536.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=536 +wiolink.menu.LwIPVariant.v2mss1460=v2 Higher Bandwidth +wiolink.menu.LwIPVariant.v2mss1460.build.lwip_include=lwip2/include +wiolink.menu.LwIPVariant.v2mss1460.build.lwip_lib=-llwip2_1460 +wiolink.menu.LwIPVariant.v2mss1460.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=1460 +wiolink.menu.LwIPVariant.Prebuilt=v1.4 Higher Bandwidth +wiolink.menu.LwIPVariant.Prebuilt.build.lwip_lib=-llwip_gcc +wiolink.menu.LwIPVariant.Prebuilt.build.lwip_flags=-DLWIP_OPEN_SRC +wiolink.menu.LwIPVariant.OpenSource=v1.4 Compile from source +wiolink.menu.LwIPVariant.OpenSource.build.lwip_lib=-llwip_src +wiolink.menu.LwIPVariant.OpenSource.build.lwip_flags=-DLWIP_OPEN_SRC +wiolink.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-" +wiolink.menu.Debug.Disabled=Disabled +wiolink.menu.Debug.Disabled.build.debug_port= +wiolink.menu.Debug.Serial=Serial +wiolink.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial +wiolink.menu.Debug.Serial1=Serial1 +wiolink.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 +wiolink.menu.DebugLevel.None____=None +wiolink.menu.DebugLevel.None____.build.debug_level= +wiolink.menu.DebugLevel.SSL=SSL +wiolink.menu.DebugLevel.SSL.build.debug_level= -DDEBUG_ESP_SSL +wiolink.menu.DebugLevel.TLS_MEM=TLS_MEM +wiolink.menu.DebugLevel.TLS_MEM.build.debug_level= -DDEBUG_ESP_TLS_MEM +wiolink.menu.DebugLevel.HTTP_CLIENT=HTTP_CLIENT +wiolink.menu.DebugLevel.HTTP_CLIENT.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT +wiolink.menu.DebugLevel.HTTP_SERVER=HTTP_SERVER +wiolink.menu.DebugLevel.HTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.SSLTLS_MEM=SSL+TLS_MEM +wiolink.menu.DebugLevel.SSLTLS_MEM.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM +wiolink.menu.DebugLevel.SSLHTTP_CLIENT=SSL+HTTP_CLIENT +wiolink.menu.DebugLevel.SSLHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT +wiolink.menu.DebugLevel.SSLHTTP_SERVER=SSL+HTTP_SERVER +wiolink.menu.DebugLevel.SSLHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.TLS_MEMHTTP_CLIENT=TLS_MEM+HTTP_CLIENT +wiolink.menu.DebugLevel.TLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT +wiolink.menu.DebugLevel.TLS_MEMHTTP_SERVER=TLS_MEM+HTTP_SERVER +wiolink.menu.DebugLevel.TLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.HTTP_CLIENTHTTP_SERVER=HTTP_CLIENT+HTTP_SERVER +wiolink.menu.DebugLevel.HTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENT=SSL+TLS_MEM+HTTP_CLIENT +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_SERVER=SSL+TLS_MEM+HTTP_SERVER +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.SSLHTTP_CLIENTHTTP_SERVER=SSL+HTTP_CLIENT+HTTP_SERVER +wiolink.menu.DebugLevel.SSLHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.TLS_MEMHTTP_CLIENTHTTP_SERVER=TLS_MEM+HTTP_CLIENT+HTTP_SERVER +wiolink.menu.DebugLevel.TLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER +wiolink.menu.DebugLevel.CORE=CORE +wiolink.menu.DebugLevel.CORE.build.debug_level= -DDEBUG_ESP_CORE +wiolink.menu.DebugLevel.WIFI=WIFI +wiolink.menu.DebugLevel.WIFI.build.debug_level= -DDEBUG_ESP_WIFI +wiolink.menu.DebugLevel.HTTP_UPDATE=HTTP_UPDATE +wiolink.menu.DebugLevel.HTTP_UPDATE.build.debug_level= -DDEBUG_ESP_HTTP_UPDATE +wiolink.menu.DebugLevel.UPDATER=UPDATER +wiolink.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER +wiolink.menu.DebugLevel.OTA=OTA +wiolink.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA +wiolink.menu.DebugLevel.OOM=OOM +wiolink.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM +wiolink.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wiolink.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 +wiolink.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wiolink.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 +wiolink.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG +wiolink.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG +wiolink.menu.FlashErase.none=Only Sketch +wiolink.menu.FlashErase.none.upload.erase_cmd= +wiolink.menu.FlashErase.sdk=Sketch + WiFi Settings +wiolink.menu.FlashErase.sdk.upload.erase_cmd=-ca "{build.rfcal_addr}" -cz 0x4000 +wiolink.menu.FlashErase.all=All Flash Contents +wiolink.menu.FlashErase.all.upload.erase_cmd=-ca 0x0 -cz "{build.flash_size_bytes}" +wiolink.menu.UploadSpeed.115200=115200 +wiolink.menu.UploadSpeed.115200.upload.speed=115200 +wiolink.menu.UploadSpeed.9600=9600 +wiolink.menu.UploadSpeed.9600.upload.speed=9600 +wiolink.menu.UploadSpeed.57600=57600 +wiolink.menu.UploadSpeed.57600.upload.speed=57600 +wiolink.menu.UploadSpeed.230400.linux=230400 +wiolink.menu.UploadSpeed.230400.macosx=230400 +wiolink.menu.UploadSpeed.230400.upload.speed=230400 +wiolink.menu.UploadSpeed.256000.windows=256000 +wiolink.menu.UploadSpeed.256000.upload.speed=256000 +wiolink.menu.UploadSpeed.460800.linux=460800 +wiolink.menu.UploadSpeed.460800.macosx=460800 +wiolink.menu.UploadSpeed.460800.upload.speed=460800 +wiolink.menu.UploadSpeed.512000.windows=512000 +wiolink.menu.UploadSpeed.512000.upload.speed=512000 +wiolink.menu.UploadSpeed.921600=921600 +wiolink.menu.UploadSpeed.921600.upload.speed=921600 + diff --git a/doc/boards.rst b/doc/boards.rst index bcaa9b9b4..dccc4b543 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -423,3 +423,12 @@ Amperka WiFi Slot Product page: http://wiki.amperka.ru/wifi-slot +Seeed Wio Link +-------------- + +Wio Link is designed to simplify your IoT development. It is an ESP8266 based open-source Wi-Fi development board to create IoT applications by virtualizing plug-n-play modules to RESTful APIs with mobile APPs. Wio Link is also compatible with the Arduino IDE. + +Please DO NOTICE that you MUST pull up pin 15 to enable the power for Grove ports, the board is designed like this for the purpose of peripherals power management. + +Product page: https://www.seeedstudio.com/Wio-Link-p-2604.html + diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index ed3739d96..ff5295a80 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -100,6 +100,9 @@ }, { "name": "Amperka WiFi Slot" + }, + { + "name": "Seeed Wio Link" } ], "toolsDependencies": [ diff --git a/tools/boards.txt.py b/tools/boards.txt.py index 075eead1f..77f628337 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -784,6 +784,25 @@ boards = collections.OrderedDict([ ], 'desc': [ 'Product page: http://wiki.amperka.ru/wifi-slot' ], }), + ( 'wiolink', { + 'name': 'Seeed Wio Link', + 'opts': { + '.build.board': 'ESP8266_WIO_LINK', + '.build.variant': 'wiolink', + }, + 'macro': [ + 'resetmethod_nodemcu', + 'flashmode_qio', + 'flashfreq_40', + '4M', + ], + 'desc': [ 'Wio Link is designed to simplify your IoT development. It is an ESP8266 based open-source Wi-Fi development board to create IoT applications by virtualizing plug-n-play modules to RESTful APIs with mobile APPs. Wio Link is also compatible with the Arduino IDE.', + '', + 'Please DO NOTICE that you MUST pull up pin 15 to enable the power for Grove ports, the board is designed like this for the purpose of peripherals power management.', + '', + 'Product page: https://www.seeedstudio.com/Wio-Link-p-2604.html' + ], + }) ]) ################################################################ diff --git a/variants/wiolink/pins_arduino.h b/variants/wiolink/pins_arduino.h new file mode 100644 index 000000000..9bcfd4de6 --- /dev/null +++ b/variants/wiolink/pins_arduino.h @@ -0,0 +1,40 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of ESP8266 core for Arduino - https://github.com/esp8266/Arduino + + 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; + +#define LED_BUILTIN 2 //blue +#define PIN_GROVE_POWER 15 //must pull this pin up to enable the power ring for the Grove ports, red led will light up + +#include "../generic/common.h" + +#endif /* Pins_Arduino_h */