From 99d510b0db49f730a84b382a4964793ae4358d2f Mon Sep 17 00:00:00 2001 From: andrea-83 Date: Thu, 16 Mar 2017 17:15:28 +0100 Subject: [PATCH 1/4] upd: added support for arduino board with ESP8266 --- boards.txt | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/boards.txt b/boards.txt index 818b26ce25..8e65617a84 100644 --- a/boards.txt +++ b/boards.txt @@ -1892,3 +1892,57 @@ coredev.menu.DebugLevel.OTA2____=OTA + Updater coredev.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER coredev.menu.DebugLevel.all_____=All coredev.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 + +############################################################## + +esparduinowifi.name=ESP8266 on Arduino + +esparduinowifi.upload.tool=esptool +esparduinowifi.upload.speed=9600 +esparduinowifi.upload.resetmethod=ck +esparduinowifi.upload.maximum_size=1044464 +esparduinowifi.upload.maximum_data_size=81920 +esparduinowifi.upload.wait_for_upload_port=true +esparduinowifi.serial.disableDTR=true +esparduinowifi.serial.disableRTS=true + +esparduinowifi.build.mcu=esp8266 +esparduinowifi.build.f_cpu=80000000L +esparduinowifi.build.f_crystal=0 +esparduinowifi.build.board=ESP8266_ESP01 +esparduinowifi.build.core=esp8266 +esparduinowifi.build.variant=generic +esparduinowifi.build.flash_mode=qio +esparduinowifi.build.flash_size=4M +esparduinowifi.build.flash_freq=40 +esparduinowifi.build.debug_port= +esparduinowifi.build.debug_level= + +esparduinowifi.menu.UploadSpeed.9600=9600 +esparduinowifi.menu.UploadSpeed.9600.upload.speed=9600 +esparduinowifi.menu.UploadSpeed.19200=19200 +esparduinowifi.menu.UploadSpeed.19200.upload.speed=19200 +esparduinowifi.menu.UploadSpeed.57600=57600 +esparduinowifi.menu.UploadSpeed.57600.upload.speed=57600 +esparduinowifi.menu.UploadSpeed.115200=115200 +esparduinowifi.menu.UploadSpeed.115200.upload.speed=115200 +esparduinowifi.menu.UploadSpeed.230400=230400 +esparduinowifi.menu.UploadSpeed.230400.upload.speed=230400 +esparduinowifi.menu.UploadSpeed.460800=460800 +esparduinowifi.menu.UploadSpeed.460800.upload.speed=460800 + +esparduinowifi.menu.FlashSize.4M3M=4M (3M SPIFFS) +esparduinowifi.menu.FlashSize.4M3M.build.flash_size=4M +esparduinowifi.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +esparduinowifi.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +esparduinowifi.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +esparduinowifi.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +esparduinowifi.menu.FlashSize.4M3M.build.spiffs_pagesize=256 + +esparduinowifi.menu.FlashSize.4M1M=4M (1M SPIFFS) +esparduinowifi.menu.FlashSize.4M1M.build.flash_size=4M +esparduinowifi.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +esparduinowifi.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +esparduinowifi.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +esparduinowifi.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +esparduinowifi.menu.FlashSize.4M1M.build.spiffs_pagesize=256 From 18dd42f804052885eec234e750c0bec6850d5fbb Mon Sep 17 00:00:00 2001 From: andrea-83 Date: Thu, 16 Mar 2017 17:17:43 +0100 Subject: [PATCH 2/4] fix: added crystal oscillator frequency setting --- cores/esp8266/core_esp8266_phy.c | 4 ++++ platform.txt | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index 67604174e5..ccd6829974 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -88,7 +88,11 @@ static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] = // 0: 40MHz // 1: 26MHz // 2: 24MHz + #ifdef F_CRYSTAL + [48] = F_CRYSTAL, + #else [48] = 1, + #endif diff --git a/platform.txt b/platform.txt index f8f79de6c9..f723ca2ef5 100644 --- a/platform.txt +++ b/platform.txt @@ -71,13 +71,13 @@ recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo recipe.hooks.core.prebuild.1.pattern.windows= ## Compile c files -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile c++ files -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile S files -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Create archives recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}" From 4f9bba7c08732487360eb69b4508495e4a98e691 Mon Sep 17 00:00:00 2001 From: sergiotomasello Date: Mon, 27 Mar 2017 10:30:40 +0200 Subject: [PATCH 3/4] add: support for arduino boards with esp8266 chip --- boards.txt | 153 +++++++++++++++++---------- variants/arduino_spi/pins_arduino.h | 39 +++++++ variants/arduino_uart/pins_arduino.h | 39 +++++++ 3 files changed, 178 insertions(+), 53 deletions(-) create mode 100644 variants/arduino_spi/pins_arduino.h create mode 100644 variants/arduino_uart/pins_arduino.h diff --git a/boards.txt b/boards.txt index 8e65617a84..c9b90a7632 100644 --- a/boards.txt +++ b/boards.txt @@ -1,5 +1,7 @@ +menu.BoardModel=Model menu.UploadSpeed=Upload Speed menu.CpuFrequency=CPU Frequency +menu.CrystalFreq=Crystal Frequency menu.FlashSize=Flash Size menu.FlashMode=Flash Mode menu.FlashFreq=Flash Frequency @@ -23,6 +25,7 @@ generic.serial.disableRTS=true generic.build.mcu=esp8266 generic.build.f_cpu=80000000L +generic.build.f_crystal=1 generic.build.board=ESP8266_ESP01 generic.build.core=esp8266 generic.build.variant=generic @@ -36,6 +39,13 @@ generic.menu.CpuFrequency.80.build.f_cpu=80000000L generic.menu.CpuFrequency.160=160 MHz generic.menu.CpuFrequency.160.build.f_cpu=160000000L +generic.menu.CrystalFreq.24=24 MHz +generic.menu.CrystalFreq.24.build.f_crystal=2 +generic.menu.CrystalFreq.26=26 MHz +generic.menu.CrystalFreq.26.build.f_crystal=1 +generic.menu.CrystalFreq.40=40 MHz +generic.menu.CrystalFreq.40.build.f_crystal=0 + generic.menu.FlashFreq.40=40MHz generic.menu.FlashFreq.40.build.flash_freq=40 generic.menu.FlashFreq.80=80MHz @@ -246,6 +256,7 @@ esp8285.serial.disableRTS=true esp8285.build.mcu=esp8266 esp8285.build.f_cpu=80000000L +esp8285.build.f_crystal=1 esp8285.build.board=ESP8266_ESP01 esp8285.build.core=esp8266 esp8285.build.variant=generic @@ -260,6 +271,13 @@ esp8285.menu.CpuFrequency.80.build.f_cpu=80000000L esp8285.menu.CpuFrequency.160=160 MHz esp8285.menu.CpuFrequency.160.build.f_cpu=160000000L +esp8285.menu.CrystalFreq.24=24 MHz +esp8285.menu.CrystalFreq.24.build.f_crystal=2 +esp8285.menu.CrystalFreq.26=26 MHz +esp8285.menu.CrystalFreq.26.build.f_crystal=1 +esp8285.menu.CrystalFreq.40=40 MHz +esp8285.menu.CrystalFreq.40.build.f_crystal=0 + esp8285.menu.UploadSpeed.115200=115200 esp8285.menu.UploadSpeed.115200.upload.speed=115200 esp8285.menu.UploadSpeed.9600=9600 @@ -351,6 +369,7 @@ espduino.serial.disableRTS=true espduino.build.mcu=esp8266 espduino.build.f_cpu=80000000L +espduino.build.f_crystal=1 espduino.build.board=ESP8266_ESP13 espduino.build.core=esp8266 espduino.build.variant=ESPDuino @@ -414,6 +433,7 @@ huzzah.serial.disableRTS=true huzzah.build.mcu=esp8266 huzzah.build.f_cpu=80000000L +huzzah.build.f_crystal=1 huzzah.build.board=ESP8266_ESP12 huzzah.build.core=esp8266 huzzah.build.variant=adafruit @@ -465,6 +485,7 @@ espresso_lite_v1.upload.wait_for_upload_port=true espresso_lite_v1.build.mcu=esp8266 espresso_lite_v1.build.f_cpu=80000000L +espresso_lite_v1.build.f_crystal=1 espresso_lite_v1.build.board=ESP8266_ESPRESSO_LITE_V1 espresso_lite_v1.build.core=esp8266 espresso_lite_v1.build.variant=espresso_lite_v1 @@ -570,6 +591,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.f_crystal=1 espresso_lite_v2.build.board=ESP8266_ESPRESSO_LITE_V2 espresso_lite_v2.build.core=esp8266 espresso_lite_v2.build.variant=espresso_lite_v2 @@ -675,6 +697,7 @@ phoenix_v1.upload.wait_for_upload_port=true phoenix_v1.build.mcu=esp8266 phoenix_v1.build.f_cpu=80000000L +phoenix_v1.build.f_crystal=1 phoenix_v1.build.board=ESP8266_PHOENIX_V1 phoenix_v1.build.core=esp8266 phoenix_v1.build.variant=phoenix_v1 @@ -780,6 +803,7 @@ phoenix_v2.upload.wait_for_upload_port=true phoenix_v2.build.mcu=esp8266 phoenix_v2.build.f_cpu=80000000L +phoenix_v2.build.f_crystal=1 phoenix_v2.build.board=ESP8266_PHOENIX_V2 phoenix_v2.build.core=esp8266 phoenix_v2.build.variant=phoenix_v2 @@ -889,6 +913,7 @@ nodemcu.serial.disableRTS=true nodemcu.build.mcu=esp8266 nodemcu.build.f_cpu=80000000L +nodemcu.build.f_crystal=1 nodemcu.build.board=ESP8266_NODEMCU nodemcu.build.core=esp8266 nodemcu.build.variant=nodemcu @@ -953,6 +978,7 @@ nodemcuv2.serial.disableRTS=true nodemcuv2.build.mcu=esp8266 nodemcuv2.build.f_cpu=80000000L +nodemcuv2.build.f_crystal=1 nodemcuv2.build.board=ESP8266_NODEMCU nodemcuv2.build.core=esp8266 nodemcuv2.build.variant=nodemcu @@ -1018,6 +1044,7 @@ modwifi.serial.disableRTS=true modwifi.build.mcu=esp8266 modwifi.build.f_cpu=80000000L +modwifi.build.f_crystal=1 modwifi.build.board=MOD_WIFI_ESP8266 modwifi.build.core=esp8266 modwifi.build.variant=generic @@ -1072,6 +1099,7 @@ thing.serial.disableRTS=true thing.build.mcu=esp8266 thing.build.f_cpu=80000000L +thing.build.f_crystal=1 thing.build.board=ESP8266_THING thing.build.core=esp8266 thing.build.variant=thing @@ -1125,6 +1153,7 @@ thingdev.serial.disableRTS=true thingdev.build.mcu=esp8266 thingdev.build.f_cpu=80000000L +thingdev.build.f_crystal=1 thingdev.build.board=ESP8266_THING_DEV thingdev.build.core=esp8266 thingdev.build.variant=thing @@ -1174,6 +1203,7 @@ esp210.serial.disableRTS=true esp210.build.mcu=esp8266 esp210.build.f_cpu=80000000L +esp210.build.f_crystal=1 esp210.build.board=ESP8266_ESP210 esp210.build.core=esp8266 esp210.build.variant=generic @@ -1233,6 +1263,7 @@ esp210.menu.FlashSize.4M1M.build.spiffs_pagesize=256 # # wifio.build.mcu=esp8266 # wifio.build.f_cpu=80000000L +# wifio.build.f_crystal=1 # wifio.build.board=ESP8266_WIFIO # wifio.build.core=esp8266 # wifio.build.variant=wifio @@ -1265,6 +1296,7 @@ d1_mini.serial.disableRTS=true d1_mini.build.mcu=esp8266 d1_mini.build.f_cpu=80000000L +d1_mini.build.f_crystal=1 d1_mini.build.board=ESP8266_WEMOS_D1MINI d1_mini.build.core=esp8266 d1_mini.build.variant=d1_mini @@ -1330,6 +1362,7 @@ d1.serial.disableRTS=true d1.build.mcu=esp8266 d1.build.f_cpu=80000000L +d1.build.f_crystal=1 d1.build.board=ESP8266_WEMOS_D1MINI d1.build.core=esp8266 d1.build.variant=d1 @@ -1397,6 +1430,7 @@ espino.serial.disableRTS=true espino.build.mcu=esp8266 espino.build.f_cpu=80000000L +espino.build.f_crystal=1 espino.build.board=ESP8266_ESP12 espino.build.core=esp8266 espino.build.variant=espino @@ -1472,6 +1506,7 @@ espinotee.serial.disableRTS=true espinotee.build.mcu=esp8266 espinotee.build.f_cpu=80000000L +espinotee.build.f_crystal=1 espinotee.build.board=ESP8266_ESP13 espinotee.build.core=esp8266 espinotee.build.variant=espinotee @@ -1537,6 +1572,7 @@ wifinfo.serial.disableRTS=true wifinfo.build.mcu=esp8266 wifinfo.build.core=esp8266 wifinfo.build.variant=wifinfo +wifinfo.build.f_crystal=1 wifinfo.build.board=WIFINFO wifinfo.build.spiffs_pagesize=256 wifinfo.build.debug_port=Serial1 @@ -1667,6 +1703,7 @@ coredev.serial.disableRTS=true coredev.build.mcu=esp8266 coredev.build.f_cpu=80000000L +coredev.build.f_crystal=1 coredev.build.board=ESP8266_ESP01 coredev.build.core=esp8266 coredev.build.variant=generic @@ -1893,56 +1930,66 @@ coredev.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_U coredev.menu.DebugLevel.all_____=All coredev.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 -############################################################## - -esparduinowifi.name=ESP8266 on Arduino - -esparduinowifi.upload.tool=esptool -esparduinowifi.upload.speed=9600 -esparduinowifi.upload.resetmethod=ck -esparduinowifi.upload.maximum_size=1044464 -esparduinowifi.upload.maximum_data_size=81920 -esparduinowifi.upload.wait_for_upload_port=true -esparduinowifi.serial.disableDTR=true -esparduinowifi.serial.disableRTS=true - -esparduinowifi.build.mcu=esp8266 -esparduinowifi.build.f_cpu=80000000L -esparduinowifi.build.f_crystal=0 -esparduinowifi.build.board=ESP8266_ESP01 -esparduinowifi.build.core=esp8266 -esparduinowifi.build.variant=generic -esparduinowifi.build.flash_mode=qio -esparduinowifi.build.flash_size=4M -esparduinowifi.build.flash_freq=40 -esparduinowifi.build.debug_port= -esparduinowifi.build.debug_level= - -esparduinowifi.menu.UploadSpeed.9600=9600 -esparduinowifi.menu.UploadSpeed.9600.upload.speed=9600 -esparduinowifi.menu.UploadSpeed.19200=19200 -esparduinowifi.menu.UploadSpeed.19200.upload.speed=19200 -esparduinowifi.menu.UploadSpeed.57600=57600 -esparduinowifi.menu.UploadSpeed.57600.upload.speed=57600 -esparduinowifi.menu.UploadSpeed.115200=115200 -esparduinowifi.menu.UploadSpeed.115200.upload.speed=115200 -esparduinowifi.menu.UploadSpeed.230400=230400 -esparduinowifi.menu.UploadSpeed.230400.upload.speed=230400 -esparduinowifi.menu.UploadSpeed.460800=460800 -esparduinowifi.menu.UploadSpeed.460800.upload.speed=460800 - -esparduinowifi.menu.FlashSize.4M3M=4M (3M SPIFFS) -esparduinowifi.menu.FlashSize.4M3M.build.flash_size=4M -esparduinowifi.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld -esparduinowifi.menu.FlashSize.4M3M.build.spiffs_start=0x100000 -esparduinowifi.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 -esparduinowifi.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 -esparduinowifi.menu.FlashSize.4M3M.build.spiffs_pagesize=256 - -esparduinowifi.menu.FlashSize.4M1M=4M (1M SPIFFS) -esparduinowifi.menu.FlashSize.4M1M.build.flash_size=4M -esparduinowifi.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld -esparduinowifi.menu.FlashSize.4M1M.build.spiffs_start=0x300000 -esparduinowifi.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 -esparduinowifi.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 -esparduinowifi.menu.FlashSize.4M1M.build.spiffs_pagesize=256 +############ Arduino boards with Esp8266 ############ + +arduino-esp8266.name=Arduino + +arduino-esp8266.upload.tool=esptool +arduino-esp8266.upload.speed=9600 +arduino-esp8266.upload.resetmethod=ck +arduino-esp8266.upload.maximum_size=1044464 +arduino-esp8266.upload.maximum_data_size=81920 +arduino-esp8266.upload.wait_for_upload_port=true +arduino-esp8266.serial.disableDTR=true +arduino-esp8266.serial.disableRTS=true + +arduino-esp8266.build.mcu=esp8266 +arduino-esp8266.build.f_cpu=80000000L +arduino-esp8266.build.f_crystal=0 +arduino-esp8266.build.core=esp8266 +arduino-esp8266.build.flash_mode=qio +arduino-esp8266.build.flash_size=4M +arduino-esp8266.build.flash_freq=40 +arduino-esp8266.build.debug_port= +arduino-esp8266.build.debug_level= + +arduino-esp8266.menu.BoardModel.starottodeved=Star OTTO +arduino-esp8266.menu.BoardModel.starottodeved.build.board=star_otto +arduino-esp8266.menu.BoardModel.starottodeved.build.variant=arduino_uart + +arduino-esp8266.menu.BoardModel.primo=Primo +arduino-esp8266.menu.BoardModel.primo.build.board=primo +arduino-esp8266.menu.BoardModel.primo.build.variant=arduino_spi + +arduino-esp8266.menu.BoardModel.unowifideved=Uno WiFi +arduino-esp8266.menu.BoardModel.unowifideved.build.board=unowifi +arduino-esp8266.menu.BoardModel.unowifideved.build.variant=arduino_uart + +arduino-esp8266.menu.UploadSpeed.9600=9600 +arduino-esp8266.menu.UploadSpeed.9600.upload.speed=9600 +arduino-esp8266.menu.UploadSpeed.19200=19200 +arduino-esp8266.menu.UploadSpeed.19200.upload.speed=19200 +arduino-esp8266.menu.UploadSpeed.57600=57600 +arduino-esp8266.menu.UploadSpeed.57600.upload.speed=57600 +arduino-esp8266.menu.UploadSpeed.115200=115200 +arduino-esp8266.menu.UploadSpeed.115200.upload.speed=115200 +arduino-esp8266.menu.UploadSpeed.230400=230400 +arduino-esp8266.menu.UploadSpeed.230400.upload.speed=230400 +arduino-esp8266.menu.UploadSpeed.460800=460800 +arduino-esp8266.menu.UploadSpeed.460800.upload.speed=460800 + +arduino-esp8266.menu.FlashSize.4M1M=4M (1M SPIFFS) +arduino-esp8266.menu.FlashSize.4M1M.build.flash_size=4M +arduino-esp8266.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_pagesize=256 + +arduino-esp8266.menu.FlashSize.4M3M=4M (3M SPIFFS) +arduino-esp8266.menu.FlashSize.4M3M.build.flash_size=4M +arduino-esp8266.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_pagesize=256 diff --git a/variants/arduino_spi/pins_arduino.h b/variants/arduino_spi/pins_arduino.h new file mode 100644 index 0000000000..69513edbb5 --- /dev/null +++ b/variants/arduino_spi/pins_arduino.h @@ -0,0 +1,39 @@ +/* + 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 $ +*/ + +/* + Modified 23 March 2017 + by Sergio Tomasello and Andrea CannistrĂ¡ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include "../generic/common.h" + +static const uint8_t LED_BUILTIN = 2; +static const uint8_t BUILTIN_LED = 2; + +#endif /* Pins_Arduino_h */ diff --git a/variants/arduino_uart/pins_arduino.h b/variants/arduino_uart/pins_arduino.h new file mode 100644 index 0000000000..b64249bd30 --- /dev/null +++ b/variants/arduino_uart/pins_arduino.h @@ -0,0 +1,39 @@ +/* + 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 $ +*/ + +/* + Modified 23 March 2017 + by Sergio Tomasello and Andrea CannistrĂ¡ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include "../generic/common.h" + +static const uint8_t LED_BUILTIN = 14; +static const uint8_t BUILTIN_LED = 14; + +#endif /* Pins_Arduino_h */ From 663244e9e172e92c8912d8c5f951041ce567ddc7 Mon Sep 17 00:00:00 2001 From: sergiotomasello Date: Tue, 11 Apr 2017 16:32:37 +0200 Subject: [PATCH 4/4] upd: default crystal freq 26M for all boards, 40M for arduino --- boards.txt | 47 ++++++-------------------------- cores/esp8266/core_esp8266_phy.c | 7 ++--- platform.txt | 10 +++---- 3 files changed, 16 insertions(+), 48 deletions(-) diff --git a/boards.txt b/boards.txt index c9b90a7632..720ec3a6f4 100644 --- a/boards.txt +++ b/boards.txt @@ -25,7 +25,6 @@ generic.serial.disableRTS=true generic.build.mcu=esp8266 generic.build.f_cpu=80000000L -generic.build.f_crystal=1 generic.build.board=ESP8266_ESP01 generic.build.core=esp8266 generic.build.variant=generic @@ -39,13 +38,6 @@ generic.menu.CpuFrequency.80.build.f_cpu=80000000L generic.menu.CpuFrequency.160=160 MHz generic.menu.CpuFrequency.160.build.f_cpu=160000000L -generic.menu.CrystalFreq.24=24 MHz -generic.menu.CrystalFreq.24.build.f_crystal=2 -generic.menu.CrystalFreq.26=26 MHz -generic.menu.CrystalFreq.26.build.f_crystal=1 -generic.menu.CrystalFreq.40=40 MHz -generic.menu.CrystalFreq.40.build.f_crystal=0 - generic.menu.FlashFreq.40=40MHz generic.menu.FlashFreq.40.build.flash_freq=40 generic.menu.FlashFreq.80=80MHz @@ -256,7 +248,6 @@ esp8285.serial.disableRTS=true esp8285.build.mcu=esp8266 esp8285.build.f_cpu=80000000L -esp8285.build.f_crystal=1 esp8285.build.board=ESP8266_ESP01 esp8285.build.core=esp8266 esp8285.build.variant=generic @@ -271,13 +262,6 @@ esp8285.menu.CpuFrequency.80.build.f_cpu=80000000L esp8285.menu.CpuFrequency.160=160 MHz esp8285.menu.CpuFrequency.160.build.f_cpu=160000000L -esp8285.menu.CrystalFreq.24=24 MHz -esp8285.menu.CrystalFreq.24.build.f_crystal=2 -esp8285.menu.CrystalFreq.26=26 MHz -esp8285.menu.CrystalFreq.26.build.f_crystal=1 -esp8285.menu.CrystalFreq.40=40 MHz -esp8285.menu.CrystalFreq.40.build.f_crystal=0 - esp8285.menu.UploadSpeed.115200=115200 esp8285.menu.UploadSpeed.115200.upload.speed=115200 esp8285.menu.UploadSpeed.9600=9600 @@ -369,7 +353,6 @@ espduino.serial.disableRTS=true espduino.build.mcu=esp8266 espduino.build.f_cpu=80000000L -espduino.build.f_crystal=1 espduino.build.board=ESP8266_ESP13 espduino.build.core=esp8266 espduino.build.variant=ESPDuino @@ -433,7 +416,6 @@ huzzah.serial.disableRTS=true huzzah.build.mcu=esp8266 huzzah.build.f_cpu=80000000L -huzzah.build.f_crystal=1 huzzah.build.board=ESP8266_ESP12 huzzah.build.core=esp8266 huzzah.build.variant=adafruit @@ -485,7 +467,6 @@ espresso_lite_v1.upload.wait_for_upload_port=true espresso_lite_v1.build.mcu=esp8266 espresso_lite_v1.build.f_cpu=80000000L -espresso_lite_v1.build.f_crystal=1 espresso_lite_v1.build.board=ESP8266_ESPRESSO_LITE_V1 espresso_lite_v1.build.core=esp8266 espresso_lite_v1.build.variant=espresso_lite_v1 @@ -591,7 +572,6 @@ 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.f_crystal=1 espresso_lite_v2.build.board=ESP8266_ESPRESSO_LITE_V2 espresso_lite_v2.build.core=esp8266 espresso_lite_v2.build.variant=espresso_lite_v2 @@ -697,7 +677,6 @@ phoenix_v1.upload.wait_for_upload_port=true phoenix_v1.build.mcu=esp8266 phoenix_v1.build.f_cpu=80000000L -phoenix_v1.build.f_crystal=1 phoenix_v1.build.board=ESP8266_PHOENIX_V1 phoenix_v1.build.core=esp8266 phoenix_v1.build.variant=phoenix_v1 @@ -803,7 +782,6 @@ phoenix_v2.upload.wait_for_upload_port=true phoenix_v2.build.mcu=esp8266 phoenix_v2.build.f_cpu=80000000L -phoenix_v2.build.f_crystal=1 phoenix_v2.build.board=ESP8266_PHOENIX_V2 phoenix_v2.build.core=esp8266 phoenix_v2.build.variant=phoenix_v2 @@ -913,7 +891,6 @@ nodemcu.serial.disableRTS=true nodemcu.build.mcu=esp8266 nodemcu.build.f_cpu=80000000L -nodemcu.build.f_crystal=1 nodemcu.build.board=ESP8266_NODEMCU nodemcu.build.core=esp8266 nodemcu.build.variant=nodemcu @@ -978,7 +955,6 @@ nodemcuv2.serial.disableRTS=true nodemcuv2.build.mcu=esp8266 nodemcuv2.build.f_cpu=80000000L -nodemcuv2.build.f_crystal=1 nodemcuv2.build.board=ESP8266_NODEMCU nodemcuv2.build.core=esp8266 nodemcuv2.build.variant=nodemcu @@ -1044,7 +1020,6 @@ modwifi.serial.disableRTS=true modwifi.build.mcu=esp8266 modwifi.build.f_cpu=80000000L -modwifi.build.f_crystal=1 modwifi.build.board=MOD_WIFI_ESP8266 modwifi.build.core=esp8266 modwifi.build.variant=generic @@ -1099,7 +1074,6 @@ thing.serial.disableRTS=true thing.build.mcu=esp8266 thing.build.f_cpu=80000000L -thing.build.f_crystal=1 thing.build.board=ESP8266_THING thing.build.core=esp8266 thing.build.variant=thing @@ -1153,7 +1127,6 @@ thingdev.serial.disableRTS=true thingdev.build.mcu=esp8266 thingdev.build.f_cpu=80000000L -thingdev.build.f_crystal=1 thingdev.build.board=ESP8266_THING_DEV thingdev.build.core=esp8266 thingdev.build.variant=thing @@ -1203,7 +1176,6 @@ esp210.serial.disableRTS=true esp210.build.mcu=esp8266 esp210.build.f_cpu=80000000L -esp210.build.f_crystal=1 esp210.build.board=ESP8266_ESP210 esp210.build.core=esp8266 esp210.build.variant=generic @@ -1263,7 +1235,6 @@ esp210.menu.FlashSize.4M1M.build.spiffs_pagesize=256 # # wifio.build.mcu=esp8266 # wifio.build.f_cpu=80000000L -# wifio.build.f_crystal=1 # wifio.build.board=ESP8266_WIFIO # wifio.build.core=esp8266 # wifio.build.variant=wifio @@ -1296,7 +1267,6 @@ d1_mini.serial.disableRTS=true d1_mini.build.mcu=esp8266 d1_mini.build.f_cpu=80000000L -d1_mini.build.f_crystal=1 d1_mini.build.board=ESP8266_WEMOS_D1MINI d1_mini.build.core=esp8266 d1_mini.build.variant=d1_mini @@ -1362,7 +1332,6 @@ d1.serial.disableRTS=true d1.build.mcu=esp8266 d1.build.f_cpu=80000000L -d1.build.f_crystal=1 d1.build.board=ESP8266_WEMOS_D1MINI d1.build.core=esp8266 d1.build.variant=d1 @@ -1430,7 +1399,6 @@ espino.serial.disableRTS=true espino.build.mcu=esp8266 espino.build.f_cpu=80000000L -espino.build.f_crystal=1 espino.build.board=ESP8266_ESP12 espino.build.core=esp8266 espino.build.variant=espino @@ -1506,7 +1474,6 @@ espinotee.serial.disableRTS=true espinotee.build.mcu=esp8266 espinotee.build.f_cpu=80000000L -espinotee.build.f_crystal=1 espinotee.build.board=ESP8266_ESP13 espinotee.build.core=esp8266 espinotee.build.variant=espinotee @@ -1572,7 +1539,6 @@ wifinfo.serial.disableRTS=true wifinfo.build.mcu=esp8266 wifinfo.build.core=esp8266 wifinfo.build.variant=wifinfo -wifinfo.build.f_crystal=1 wifinfo.build.board=WIFINFO wifinfo.build.spiffs_pagesize=256 wifinfo.build.debug_port=Serial1 @@ -1703,7 +1669,6 @@ coredev.serial.disableRTS=true coredev.build.mcu=esp8266 coredev.build.f_cpu=80000000L -coredev.build.f_crystal=1 coredev.build.board=ESP8266_ESP01 coredev.build.core=esp8266 coredev.build.variant=generic @@ -1945,25 +1910,29 @@ arduino-esp8266.serial.disableRTS=true arduino-esp8266.build.mcu=esp8266 arduino-esp8266.build.f_cpu=80000000L -arduino-esp8266.build.f_crystal=0 +#arduino-esp8266.build.f_crystal=40000000 arduino-esp8266.build.core=esp8266 arduino-esp8266.build.flash_mode=qio arduino-esp8266.build.flash_size=4M arduino-esp8266.build.flash_freq=40 arduino-esp8266.build.debug_port= arduino-esp8266.build.debug_level= +arduino-esp8266.build.board=ESP8266_ARDUINO arduino-esp8266.menu.BoardModel.starottodeved=Star OTTO -arduino-esp8266.menu.BoardModel.starottodeved.build.board=star_otto +arduino-esp8266.menu.BoardModel.starottodeved.build.board=ESP8266_ARDUINO_STAR_OTTO arduino-esp8266.menu.BoardModel.starottodeved.build.variant=arduino_uart +arduino-esp8266.menu.BoardModel.starottodeved.build.extra_flags=-DF_CRYSTAL=40000000 arduino-esp8266.menu.BoardModel.primo=Primo -arduino-esp8266.menu.BoardModel.primo.build.board=primo +arduino-esp8266.menu.BoardModel.primo.build.board=ESP8266_ARDUINO_PRIMO arduino-esp8266.menu.BoardModel.primo.build.variant=arduino_spi +arduino-esp8266.menu.BoardModel.primo.build.extra_flags=-DF_CRYSTAL=40000000 arduino-esp8266.menu.BoardModel.unowifideved=Uno WiFi -arduino-esp8266.menu.BoardModel.unowifideved.build.board=unowifi +arduino-esp8266.menu.BoardModel.unowifideved.build.board=ESP8266_ARDUINO_UNOWIFI arduino-esp8266.menu.BoardModel.unowifideved.build.variant=arduino_uart +arduino-esp8266.menu.BoardModel.unowifideved.build.extra_flags=-DF_CRYSTAL=40000000 arduino-esp8266.menu.UploadSpeed.9600=9600 arduino-esp8266.menu.UploadSpeed.9600.upload.speed=9600 diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index ccd6829974..1b45642f8d 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -88,10 +88,10 @@ static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] = // 0: 40MHz // 1: 26MHz // 2: 24MHz - #ifdef F_CRYSTAL - [48] = F_CRYSTAL, + #if F_CRYSTAL == 40000000 + [48] = 0, #else - [48] = 1, + [48] = 1, #endif @@ -316,4 +316,3 @@ void user_rf_pre_init() void ICACHE_RAM_ATTR user_spi_flash_dio_to_qio_pre_init() {} - diff --git a/platform.txt b/platform.txt index f723ca2ef5..e300effc92 100644 --- a/platform.txt +++ b/platform.txt @@ -31,10 +31,10 @@ compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implici compiler.S.cmd=xtensa-lx106-elf-gcc compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls -compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read +compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read compiler.c.elf.cmd=xtensa-lx106-elf-gcc -compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lmesh -lwpa2 -lstdc++ -lm -lc -lgcc +compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lmesh -lwpa2 -lstdc++ -lm -lc -lgcc compiler.cpp.cmd=xtensa-lx106-elf-g++ compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections @@ -71,13 +71,13 @@ recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo recipe.hooks.core.prebuild.1.pattern.windows= ## Compile c files -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile c++ files -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile S files -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DF_CRYSTAL={build.f_crystal} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Create archives recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"