From be5d59d539f0429f120ac7c5b937178add4fd9b7 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 24 May 2016 19:20:05 +0200 Subject: [PATCH 1/6] Changed WifInfo settings and WeMos board name --- boards.txt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/boards.txt b/boards.txt index cb7bacdce1..148cb57301 100644 --- a/boards.txt +++ b/boards.txt @@ -944,7 +944,7 @@ d1_mini.serial.disableRTS=true d1_mini.build.mcu=esp8266 d1_mini.build.f_cpu=80000000L -d1_mini.build.board=ESP8266_NODEMCU +d1_mini.build.board=WEMOS_D1_MINI d1_mini.build.core=esp8266 d1_mini.build.variant=d1_mini d1_mini.build.flash_mode=dio @@ -995,7 +995,6 @@ d1_mini.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 d1_mini.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 d1_mini.menu.FlashSize.4M1M.build.spiffs_pagesize=256 - ############################################################## d1.name=WeMos D1(Retired) @@ -1010,7 +1009,7 @@ d1.serial.disableRTS=true d1.build.mcu=esp8266 d1.build.f_cpu=80000000L -d1.build.board=ESP8266_NODEMCU +d1.build.board=WEMOS_D1 d1.build.core=esp8266 d1.build.variant=d1 d1.build.flash_mode=dio @@ -1215,11 +1214,9 @@ wifinfo.serial.disableDTR=true wifinfo.serial.disableRTS=true wifinfo.build.mcu=esp8266 -wifinfo.build.f_cpu=160000000L wifinfo.build.core=esp8266 wifinfo.build.variant=wifinfo -wifinfo.build.flash_mode=qio -wifinfo.build.board=ESP8266_NODEMCU +wifinfo.build.board=WIFINFO wifinfo.build.spiffs_pagesize=256 wifinfo.build.debug_port=Serial1 wifinfo.build.debug_level=Wifinfo @@ -1300,20 +1297,20 @@ wifinfo.menu.ESPModule.ESP12.build.spiffs_blocksize=8192 wifinfo.menu.ESPModule.ESP12.build.spiffs_pagesize=256 wifinfo.menu.ESPModule.ESP12.upload.maximum_size=1044464 -wifinfo.menu.CpuFrequency.80=80 MHz -wifinfo.menu.CpuFrequency.80.build.f_cpu=80000000L wifinfo.menu.CpuFrequency.160=160 MHz wifinfo.menu.CpuFrequency.160.build.f_cpu=160000000L +wifinfo.menu.CpuFrequency.80=80 MHz +wifinfo.menu.CpuFrequency.80.build.f_cpu=80000000L wifinfo.menu.FlashFreq.40=40MHz wifinfo.menu.FlashFreq.40.build.flash_freq=40 wifinfo.menu.FlashFreq.80=80MHz wifinfo.menu.FlashFreq.80.build.flash_freq=80 -wifinfo.menu.FlashMode.dio=DIO -wifinfo.menu.FlashMode.dio.build.flash_mode=dio wifinfo.menu.FlashMode.qio=QIO wifinfo.menu.FlashMode.qio.build.flash_mode=qio +wifinfo.menu.FlashMode.dio=DIO +wifinfo.menu.FlashMode.dio.build.flash_mode=dio wifinfo.menu.UploadSpeed.115200=115200 wifinfo.menu.UploadSpeed.115200.upload.speed=115200 From 5d803af4623909c3ffba2107cd17baee1d44854c Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 24 May 2016 19:27:56 +0200 Subject: [PATCH 2/6] Added board name to have in sketch and MDNS/OTA --- platform.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform.txt b/platform.txt index 21cb9d1c05..d1bce473ad 100644 --- a/platform.txt +++ b/platform.txt @@ -64,13 +64,13 @@ compiler.objcopy.eep.extra_flags= compiler.elf2hex.extra_flags= ## 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} {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} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {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} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {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}" From 248577e150bd08a675f322b6fa6ec46472eccb09 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 1 Jun 2016 09:56:52 +0200 Subject: [PATCH 3/6] board naming convention https://github.com/esp8266/Arduino/pull/2054 --- boards.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boards.txt b/boards.txt index 148cb57301..0057319d7e 100644 --- a/boards.txt +++ b/boards.txt @@ -944,7 +944,7 @@ d1_mini.serial.disableRTS=true d1_mini.build.mcu=esp8266 d1_mini.build.f_cpu=80000000L -d1_mini.build.board=WEMOS_D1_MINI +d1_mini.build.board=ESP8266_WEMOS_D1MINI d1_mini.build.core=esp8266 d1_mini.build.variant=d1_mini d1_mini.build.flash_mode=dio @@ -1009,7 +1009,7 @@ d1.serial.disableRTS=true d1.build.mcu=esp8266 d1.build.f_cpu=80000000L -d1.build.board=WEMOS_D1 +d1.build.board=ESP8266_WEMOS_D1MINI d1.build.core=esp8266 d1.build.variant=d1 d1.build.flash_mode=dio From 07da577861433db698828fc5e38a892acf73a4d8 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 1 Jun 2016 11:14:13 +0200 Subject: [PATCH 4/6] Added Serial.baudRate() to get current baud rate --- cores/esp8266/HardwareSerial.cpp | 7 +++++++ cores/esp8266/HardwareSerial.h | 1 + doc/reference.md | 12 ++++++++++++ 3 files changed, 20 insertions(+) diff --git a/cores/esp8266/HardwareSerial.cpp b/cores/esp8266/HardwareSerial.cpp index 18a581dde5..b69729ae4b 100644 --- a/cores/esp8266/HardwareSerial.cpp +++ b/cores/esp8266/HardwareSerial.cpp @@ -180,6 +180,13 @@ size_t HardwareSerial::write(uint8_t c) return 1; } +int HardwareSerial::baudRate(void) +{ + // Null pointer on _uart is checked by SDK + return uart_get_baudrate(_uart); +} + + HardwareSerial::operator bool() const { return _uart != 0; diff --git a/cores/esp8266/HardwareSerial.h b/cores/esp8266/HardwareSerial.h index bf3dc68cb6..a05cb5d301 100644 --- a/cores/esp8266/HardwareSerial.h +++ b/cores/esp8266/HardwareSerial.h @@ -133,6 +133,7 @@ class HardwareSerial: public Stream void setDebugOutput(bool); bool isTxEnabled(void); bool isRxEnabled(void); + int baudRate(void); protected: int _uart_nr; diff --git a/doc/reference.md b/doc/reference.md index 9379ecf63c..7277219f78 100644 --- a/doc/reference.md +++ b/doc/reference.md @@ -84,6 +84,18 @@ You also need to use `Serial.setDebugOutput(true)` to enable output from `printf Both `Serial` and `Serial1` objects support 5, 6, 7, 8 data bits, odd (O), even (E), and no (N) parity, and 1 or 2 stop bits. To set the desired mode, call `Serial.begin(baudrate, SERIAL_8N1)`, `Serial.begin(baudrate, SERIAL_6E2)`, etc. +A new method has been implemented on both `Serial` and `Serial1` to get current baud rate setting. To get the current baud rate, call `Serial.baudRate()`, `Serial1.baudRate()`. Return a `int` of current speed. For example +```cpp +// Set Baud rate to 57600 +Serial.begin(57600); + +// Get current baud rate +int br = Serial.baudRate(); + +// Will print "Serial is 57600 bps" +Serial.printf("Serial is %d bps", br); +``` + ## Progmem The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application. From c72426a9f8652f510c5d4834b6047e343944b4c3 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 2 Jun 2016 14:00:41 +0200 Subject: [PATCH 5/6] Added more description - Added note about Software Serial Implementation - Indicate this will works on ESP8266 boards only --- doc/reference.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/reference.md b/doc/reference.md index 7277219f78..ebf9ce0e64 100644 --- a/doc/reference.md +++ b/doc/reference.md @@ -96,6 +96,9 @@ int br = Serial.baudRate(); Serial.printf("Serial is %d bps", br); ``` +I've done this also for official ESP8266 [Software Serial](https://github.com/esp8266/Arduino/blob/master/doc/libraries.md#softwareserial) library, see this [pull request](https://github.com/plerup/espsoftwareserial/pull/22). +Note that this implementation is **only for ESP8266 based boards**, and will not works with other Arduino boards. + ## Progmem The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application. From 90319a80b4293ff218575733c53ecf5f3ae8771d Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 5 May 2017 15:19:09 +0200 Subject: [PATCH 6/6] Added 1M (No SPIFFS) board option --- boards.txt | 5 +++++ tools/sdk/ld/eagle.flash.1m0.ld | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tools/sdk/ld/eagle.flash.1m0.ld diff --git a/boards.txt b/boards.txt index 720ec3a6f4..cf6e814fe4 100644 --- a/boards.txt +++ b/boards.txt @@ -148,6 +148,11 @@ generic.menu.FlashSize.1M64.build.spiffs_end=0xFB000 generic.menu.FlashSize.1M64.build.spiffs_blocksize=4096 generic.menu.FlashSize.1M64.upload.maximum_size=958448 +generic.menu.FlashSize.1M0=1M (no SPIFFS) +generic.menu.FlashSize.1M0.build.flash_size=1M +generic.menu.FlashSize.1M0.build.flash_ld=eagle.flash.1m0.ld +generic.menu.FlashSize.1M0.upload.maximum_size=1023984 + generic.menu.FlashSize.2M=2M (1M SPIFFS) generic.menu.FlashSize.2M.build.flash_size=2M generic.menu.FlashSize.2M.build.flash_ld=eagle.flash.2m.ld diff --git a/tools/sdk/ld/eagle.flash.1m0.ld b/tools/sdk/ld/eagle.flash.1m0.ld new file mode 100644 index 0000000000..250962962e --- /dev/null +++ b/tools/sdk/ld/eagle.flash.1m0.ld @@ -0,0 +1,18 @@ +/* Flash Split for 1M chips, no SPIFFS */ +/* sketch 999KB */ +/* eeprom 20KB */ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + iram1_0_seg : org = 0x40100000, len = 0x8000 + irom0_0_seg : org = 0x40201010, len = 0xf9ff0 +} + +PROVIDE ( _SPIFFS_start = 0x402FB000 ); +PROVIDE ( _SPIFFS_end = 0x402FB000 ); +PROVIDE ( _SPIFFS_page = 0 ); +PROVIDE ( _SPIFFS_block = 0 ); + +INCLUDE "../ld/eagle.app.v6.common.ld"