diff --git a/boards.txt b/boards.txt index 818b26ce25..c9667733f9 100644 --- a/boards.txt +++ b/boards.txt @@ -1,5 +1,6 @@ menu.UploadSpeed=Upload Speed menu.CpuFrequency=CPU Frequency +menu.CrystalFrequency=Crystal Frequency menu.FlashSize=Flash Size menu.FlashMode=Flash Mode menu.FlashFreq=Flash Frequency @@ -23,6 +24,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 +38,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.CrystalFrequency.26=26 MHz +generic.menu.CrystalFrequency.26.build.f_crystal=1 +generic.menu.CrystalFrequency.40=40 MHz +generic.menu.CrystalFrequency.40.build.f_crystal=0 +generic.menu.CrystalFrequency.24=24 MHz +generic.menu.CrystalFrequency.24.build.f_crystal=2 + generic.menu.FlashFreq.40=40MHz generic.menu.FlashFreq.40.build.flash_freq=40 generic.menu.FlashFreq.80=80MHz @@ -246,6 +255,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 @@ -351,6 +361,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 +425,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 +477,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 +583,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 +689,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 +795,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 +905,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 +970,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 +1036,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 +1091,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 +1145,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 +1195,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 +1255,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 +1288,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 +1354,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 +1422,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 +1498,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 @@ -1536,6 +1563,7 @@ wifinfo.serial.disableRTS=true wifinfo.build.mcu=esp8266 wifinfo.build.core=esp8266 +wifinfo.build.f_crystal=1 wifinfo.build.variant=wifinfo wifinfo.build.board=WIFINFO wifinfo.build.spiffs_pagesize=256 @@ -1667,6 +1695,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 diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index 67604174e5..264b762b9f 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -28,6 +28,10 @@ #include "ets_sys.h" #include "spi_flash.h" +#ifndef F_CRYSTAL +#define F_CRYSTAL 1 +#endif + static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] = { [0] = 5, // Reserved, do not change @@ -88,9 +92,7 @@ static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] = // 0: 40MHz // 1: 26MHz // 2: 24MHz - [48] = 1, - - + [48] = F_CRYSTAL, // sdio_configure // 0: Auto by pin strapping diff --git a/package.json b/package.json new file mode 100644 index 0000000000..c0be382ec5 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "name": "framework-arduinoespressif8266", + "description": "Arduino Wiring-based Framework (ESP8266 Core)", + "system": "all", + "url": "https://github.com/esp8266/Arduino", + "version": "1.20500.0-dev" +} diff --git a/platform.txt b/platform.txt index f8f79de6c9..87e24aa934 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} -DF_CRYSTAL={build.f_crystal} {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} -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} -DF_CRYSTAL={build.f_crystal} {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} -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} -DF_CRYSTAL={build.f_crystal} {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}"