Skip to content

Commit

Permalink
Merge branch 'master' into lwipintfdev_end_fix
Browse files Browse the repository at this point in the history
  • Loading branch information
mcspr authored Jul 31, 2024
2 parents d03c98a + 07feace commit f3801cd
Show file tree
Hide file tree
Showing 32 changed files with 868 additions and 344 deletions.
223 changes: 223 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5645,6 +5645,229 @@ agruminolemon.menu.iramfloat.no.build.iramfloat=-DFP_IN_IROM
agruminolemon.menu.iramfloat.yes=allowed in ISR
agruminolemon.menu.iramfloat.yes.build.iramfloat=-DFP_IN_IRAM

##############################################################
mercury1.name=Mercury 1.0
mercury1.build.board=mercury
mercury1.build.variant=mercury_v1
mercury1.upload.tool=esptool
mercury1.upload.maximum_data_size=81920
mercury1.upload.wait_for_upload_port=true
mercury1.upload.erase_cmd=
mercury1.serial.disableDTR=true
mercury1.serial.disableRTS=true
mercury1.build.mcu=esp8266
mercury1.build.core=esp8266
mercury1.build.spiffs_pagesize=256
mercury1.build.debug_optim=
mercury1.build.debug_port=
mercury1.build.debug_level=
mercury1.menu.xtal.80=80 MHz
mercury1.menu.xtal.80.build.f_cpu=80000000L
mercury1.menu.xtal.160=160 MHz
mercury1.menu.xtal.160.build.f_cpu=160000000L
mercury1.menu.vt.flash=Flash
mercury1.menu.vt.flash.build.vtable_flags=-DVTABLES_IN_FLASH
mercury1.menu.vt.heap=Heap
mercury1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
mercury1.menu.vt.iram=IRAM
mercury1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
mercury1.menu.exception.disabled=Disabled (new aborts on oom)
mercury1.menu.exception.disabled.build.exception_flags=-fno-exceptions
mercury1.menu.exception.disabled.build.stdcpp_lib=-lstdc++
mercury1.menu.exception.enabled=Enabled
mercury1.menu.exception.enabled.build.exception_flags=-fexceptions
mercury1.menu.exception.enabled.build.stdcpp_lib=-lstdc++-exc
mercury1.menu.stacksmash.disabled=Disabled
mercury1.menu.stacksmash.disabled.build.stacksmash_flags=
mercury1.menu.stacksmash.enabled=Enabled
mercury1.menu.stacksmash.enabled.build.stacksmash_flags=-fstack-protector
mercury1.menu.ssl.all=All SSL ciphers (most compatible)
mercury1.menu.ssl.all.build.sslflags=
mercury1.menu.ssl.basic=Basic SSL ciphers (lower ROM use)
mercury1.menu.ssl.basic.build.sslflags=-DBEARSSL_SSL_BASIC
mercury1.menu.mmu.3232=32KB cache + 32KB IRAM (balanced)
mercury1.menu.mmu.3232.build.mmuflags=-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000
mercury1.menu.mmu.4816=16KB cache + 48KB IRAM (IRAM)
mercury1.menu.mmu.4816.build.mmuflags=-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000
mercury1.menu.mmu.4816H=16KB cache + 48KB IRAM and 2nd Heap (shared)
mercury1.menu.mmu.4816H.build.mmuflags=-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_IRAM_HEAP
mercury1.menu.mmu.3216=16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared)
mercury1.menu.mmu.3216.build.mmuflags=-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_SEC_HEAP=0x40108000 -DMMU_SEC_HEAP_SIZE=0x4000
mercury1.menu.mmu.ext128k=128K Heap External 23LC1024
mercury1.menu.mmu.ext128k.build.mmuflags=-DMMU_EXTERNAL_HEAP=128 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000
mercury1.menu.mmu.ext8192k=8M w/256K Heap External 64 MBit PSRAM
mercury1.menu.mmu.ext8192k.build.mmuflags=-DMMU_EXTERNAL_HEAP=256 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000
mercury1.menu.non32xfer.fast=Use pgm_read macros for IRAM/PROGMEM
mercury1.menu.non32xfer.fast.build.non32xferflags=
mercury1.menu.non32xfer.safe=Byte/Word access to IRAM/PROGMEM (very slow)
mercury1.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER
mercury1.upload.resetmethod=--before default_reset --after hard_reset
mercury1.build.flash_mode=dio
mercury1.build.flash_flags=-DFLASHMODE_DIO
mercury1.build.flash_freq=40
mercury1.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB)
mercury1.menu.eesz.4M2M.build.flash_size=4M
mercury1.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld
mercury1.menu.eesz.4M2M.build.spiffs_pagesize=256
mercury1.menu.eesz.4M2M.build.rfcal_addr=0x3FC000
mercury1.menu.eesz.4M2M.build.spiffs_start=0x200000
mercury1.menu.eesz.4M2M.build.spiffs_end=0x3FA000
mercury1.menu.eesz.4M2M.build.spiffs_blocksize=8192
mercury1.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB)
mercury1.menu.eesz.4M3M.build.flash_size=4M
mercury1.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld
mercury1.menu.eesz.4M3M.build.spiffs_pagesize=256
mercury1.menu.eesz.4M3M.build.rfcal_addr=0x3FC000
mercury1.menu.eesz.4M3M.build.spiffs_start=0x100000
mercury1.menu.eesz.4M3M.build.spiffs_end=0x3FA000
mercury1.menu.eesz.4M3M.build.spiffs_blocksize=8192
mercury1.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB)
mercury1.menu.eesz.4M1M.build.flash_size=4M
mercury1.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld
mercury1.menu.eesz.4M1M.build.spiffs_pagesize=256
mercury1.menu.eesz.4M1M.build.rfcal_addr=0x3FC000
mercury1.menu.eesz.4M1M.build.spiffs_start=0x300000
mercury1.menu.eesz.4M1M.build.spiffs_end=0x3FA000
mercury1.menu.eesz.4M1M.build.spiffs_blocksize=8192
mercury1.menu.eesz.4M=4MB (FS:none OTA:~1019KB)
mercury1.menu.eesz.4M.build.flash_size=4M
mercury1.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld
mercury1.menu.eesz.4M.build.spiffs_pagesize=256
mercury1.menu.eesz.4M.build.rfcal_addr=0x3FC000
mercury1.menu.ip.lm2f=v2 Lower Memory
mercury1.menu.ip.lm2f.build.lwip_include=lwip2/include
mercury1.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat
mercury1.menu.ip.lm2f.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0
mercury1.menu.ip.hb2f=v2 Higher Bandwidth
mercury1.menu.ip.hb2f.build.lwip_include=lwip2/include
mercury1.menu.ip.hb2f.build.lwip_lib=-llwip2-1460-feat
mercury1.menu.ip.hb2f.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=0
mercury1.menu.ip.lm2n=v2 Lower Memory (no features)
mercury1.menu.ip.lm2n.build.lwip_include=lwip2/include
mercury1.menu.ip.lm2n.build.lwip_lib=-llwip2-536
mercury1.menu.ip.lm2n.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=0 -DLWIP_IPV6=0
mercury1.menu.ip.hb2n=v2 Higher Bandwidth (no features)
mercury1.menu.ip.hb2n.build.lwip_include=lwip2/include
mercury1.menu.ip.hb2n.build.lwip_lib=-llwip2-1460
mercury1.menu.ip.hb2n.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=0 -DLWIP_IPV6=0
mercury1.menu.ip.lm6f=v2 IPv6 Lower Memory
mercury1.menu.ip.lm6f.build.lwip_include=lwip2/include
mercury1.menu.ip.lm6f.build.lwip_lib=-llwip6-536-feat
mercury1.menu.ip.lm6f.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=1
mercury1.menu.ip.hb6f=v2 IPv6 Higher Bandwidth
mercury1.menu.ip.hb6f.build.lwip_include=lwip2/include
mercury1.menu.ip.hb6f.build.lwip_lib=-llwip6-1460-feat
mercury1.menu.ip.hb6f.build.lwip_flags=-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=1
mercury1.menu.dbg.Disabled=Disabled
mercury1.menu.dbg.Disabled.build.debug_port=
mercury1.menu.dbg.Serial=Serial
mercury1.menu.dbg.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial
mercury1.menu.dbg.Serial1=Serial1
mercury1.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1
mercury1.menu.lvl.None____=None
mercury1.menu.lvl.None____.build.debug_level=
mercury1.menu.optim.Smallest=None
mercury1.menu.optim.Smallest.build.debug_optim=-Os
mercury1.menu.optim.Lite=Lite
mercury1.menu.optim.Lite.build.debug_optim=-Os -fno-optimize-sibling-calls
mercury1.menu.optim.Full=Optimum
mercury1.menu.optim.Full.build.debug_optim=-Og
mercury1.menu.lvl.SSL=SSL
mercury1.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL
mercury1.menu.lvl.TLS_MEM=TLS_MEM
mercury1.menu.lvl.TLS_MEM.build.debug_level= -DDEBUG_ESP_TLS_MEM
mercury1.menu.lvl.HTTP_CLIENT=HTTP_CLIENT
mercury1.menu.lvl.HTTP_CLIENT.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT
mercury1.menu.lvl.HTTP_SERVER=HTTP_SERVER
mercury1.menu.lvl.HTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.SSLTLS_MEM=SSL+TLS_MEM
mercury1.menu.lvl.SSLTLS_MEM.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM
mercury1.menu.lvl.SSLHTTP_CLIENT=SSL+HTTP_CLIENT
mercury1.menu.lvl.SSLHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT
mercury1.menu.lvl.SSLHTTP_SERVER=SSL+HTTP_SERVER
mercury1.menu.lvl.SSLHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.TLS_MEMHTTP_CLIENT=TLS_MEM+HTTP_CLIENT
mercury1.menu.lvl.TLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT
mercury1.menu.lvl.TLS_MEMHTTP_SERVER=TLS_MEM+HTTP_SERVER
mercury1.menu.lvl.TLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.HTTP_CLIENTHTTP_SERVER=HTTP_CLIENT+HTTP_SERVER
mercury1.menu.lvl.HTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENT=SSL+TLS_MEM+HTTP_CLIENT
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT
mercury1.menu.lvl.SSLTLS_MEMHTTP_SERVER=SSL+TLS_MEM+HTTP_SERVER
mercury1.menu.lvl.SSLTLS_MEMHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.SSLHTTP_CLIENTHTTP_SERVER=SSL+HTTP_CLIENT+HTTP_SERVER
mercury1.menu.lvl.SSLHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.TLS_MEMHTTP_CLIENTHTTP_SERVER=TLS_MEM+HTTP_CLIENT+HTTP_SERVER
mercury1.menu.lvl.TLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
mercury1.menu.lvl.CORE=CORE
mercury1.menu.lvl.CORE.build.debug_level= -DDEBUG_ESP_CORE
mercury1.menu.lvl.WIFI=WIFI
mercury1.menu.lvl.WIFI.build.debug_level= -DDEBUG_ESP_WIFI
mercury1.menu.lvl.HTTP_UPDATE=HTTP_UPDATE
mercury1.menu.lvl.HTTP_UPDATE.build.debug_level= -DDEBUG_ESP_HTTP_UPDATE
mercury1.menu.lvl.UPDATER=UPDATER
mercury1.menu.lvl.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER
mercury1.menu.lvl.OTA=OTA
mercury1.menu.lvl.OTA.build.debug_level= -DDEBUG_ESP_OTA
mercury1.menu.lvl.OOM=OOM
mercury1.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM
mercury1.menu.lvl.MDNS=MDNS
mercury1.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS
mercury1.menu.lvl.HWDT=HWDT
mercury1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT
mercury1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K
mercury1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K
mercury1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.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 -DDEBUG_ESP_MDNS
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.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 -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K
mercury1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.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 -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K
mercury1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG
mercury1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG
mercury1.menu.wipe.none=Only Sketch
mercury1.menu.wipe.none.upload.erase_cmd=
mercury1.menu.wipe.sdk=Sketch + WiFi Settings
mercury1.menu.wipe.sdk.upload.erase_cmd=erase_region "{build.rfcal_addr}" 0x4000
mercury1.menu.wipe.all=All Flash Contents
mercury1.menu.wipe.all.upload.erase_cmd=erase_flash
mercury1.menu.baud.115200=115200
mercury1.menu.baud.115200.upload.speed=115200
mercury1.menu.baud.57600=57600
mercury1.menu.baud.57600.upload.speed=57600
mercury1.menu.baud.230400.linux=230400
mercury1.menu.baud.230400.macosx=230400
mercury1.menu.baud.230400.upload.speed=230400
mercury1.menu.baud.256000.windows=256000
mercury1.menu.baud.256000.upload.speed=256000
mercury1.menu.baud.460800.linux=460800
mercury1.menu.baud.460800.macosx=460800
mercury1.menu.baud.460800.upload.speed=460800
mercury1.menu.baud.512000.windows=512000
mercury1.menu.baud.512000.upload.speed=512000
mercury1.menu.baud.921600=921600
mercury1.menu.baud.921600.upload.speed=921600
mercury1.menu.baud.3000000=3000000
mercury1.menu.baud.3000000.upload.speed=3000000
mercury1.menu.eesz.autoflash=Mapping defined by Hardware and Sketch
mercury1.menu.eesz.autoflash.build.flash_size=16M
mercury1.menu.eesz.autoflash.build.flash_ld=eagle.flash.auto.ld
mercury1.menu.eesz.autoflash.build.extra_flags=-DFLASH_MAP_SUPPORT=1
mercury1.menu.eesz.autoflash.upload.maximum_size=1044464
mercury1.menu.iramfloat.no=in IROM
mercury1.menu.iramfloat.no.build.iramfloat=-DFP_IN_IROM
mercury1.menu.iramfloat.yes=allowed in ISR
mercury1.menu.iramfloat.yes.build.iramfloat=-DFP_IN_IRAM

##############################################################
nodemcu.name=NodeMCU 0.9 (ESP-12 Module)
nodemcu.build.board=ESP8266_NODEMCU_ESP12
Expand Down
15 changes: 4 additions & 11 deletions cores/esp8266/core_esp8266_noniso.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,12 @@
#include <stdint.h>
#include <math.h>
#include <limits>

#include "stdlib_noniso.h"

extern "C" {

char* ltoa(long value, char* result, int base) {
return itoa((int)value, result, base);
}

char* ultoa(unsigned long value, char* result, int base) {
return utoa((unsigned int)value, result, base);
}

char * dtostrf(double number, signed char width, unsigned char prec, char *s) {
char* dtostrf(double number, signed char width, unsigned char prec, char *s) noexcept {
bool negative = false;

if (isnan(number)) {
Expand Down Expand Up @@ -125,7 +118,7 @@ char * dtostrf(double number, signed char width, unsigned char prec, char *s) {
*/
const char* strrstr(const char*__restrict p_pcString,
const char*__restrict p_pcPattern)
const char*__restrict p_pcPattern) noexcept
{
const char* pcResult = 0;

Expand All @@ -149,4 +142,4 @@ const char* strrstr(const char*__restrict p_pcString,
return pcResult;
}

};
} // extern "C"
16 changes: 14 additions & 2 deletions cores/esp8266/stdlib_noniso.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@

#include "stdlib_noniso.h"

extern "C" {

// ulltoa() is slower than std::to_char() (1.6 times)
// but is smaller by ~800B/flash and ~250B/rodata

// ulltoa fills str backwards and can return a pointer different from str
char* ulltoa(unsigned long long val, char* str, int slen, unsigned int radix)
char* ulltoa(unsigned long long val, char* str, int slen, unsigned int radix) noexcept
{
str += --slen;
*str = 0;
Expand All @@ -39,7 +41,7 @@ char* ulltoa(unsigned long long val, char* str, int slen, unsigned int radix)
}

// lltoa fills str backwards and can return a pointer different from str
char* lltoa (long long val, char* str, int slen, unsigned int radix)
char* lltoa(long long val, char* str, int slen, unsigned int radix) noexcept
{
bool neg;
if (val < 0)
Expand All @@ -60,3 +62,13 @@ char* lltoa (long long val, char* str, int slen, unsigned int radix)
}
return ret;
}

char* ltoa(long value, char* result, int base) noexcept {
return itoa((int)value, result, base);
}

char* ultoa(unsigned long value, char* result, int base) noexcept {
return utoa((unsigned int)value, result, base);
}

} // extern "C"
35 changes: 16 additions & 19 deletions cores/esp8266/stdlib_noniso.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,35 @@
#ifndef STDLIB_NONISO_H
#define STDLIB_NONISO_H

#include <stdlib.h>

#ifdef __cplusplus
extern "C"{
extern "C" {
#endif

int atoi(const char *s);

long atol(const char* s);

double atof(const char* s);

char* itoa (int val, char *s, int radix);

char* ltoa (long val, char *s, int radix);
#ifdef __cplusplus
#define __STDLIB_NONISO_NOEXCEPT noexcept
#else
#define __STDLIB_NONISO_NOEXCEPT
#endif

char* lltoa (long long val, char* str, int slen, unsigned int radix);
char* ltoa (long val, char *s, int radix) __STDLIB_NONISO_NOEXCEPT;

char* utoa (unsigned int val, char *s, int radix);
char* lltoa (long long val, char* str, int slen, unsigned int radix) __STDLIB_NONISO_NOEXCEPT;

char* ultoa (unsigned long val, char *s, int radix);
char* ultoa (unsigned long val, char *s, int radix) __STDLIB_NONISO_NOEXCEPT;

char* ulltoa (unsigned long long val, char* str, int slen, unsigned int radix);
char* ulltoa (unsigned long long val, char* str, int slen, unsigned int radix) __STDLIB_NONISO_NOEXCEPT;

char* dtostrf (double val, signed char width, unsigned char prec, char *s);
char* dtostrf (double val, signed char width, unsigned char prec, char *s) __STDLIB_NONISO_NOEXCEPT;

void reverse(char* begin, char* end);
const char* strrstr (const char*__restrict p_pcString,
const char*__restrict p_pcPattern) __STDLIB_NONISO_NOEXCEPT;

const char* strrstr(const char*__restrict p_pcString,
const char*__restrict p_pcPattern);
#undef __STDLIB_NONISO_NOEXCEPT

#ifdef __cplusplus
} // extern "C"
#endif


#endif
4 changes: 2 additions & 2 deletions doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXOPTS = -W --keep-going -n
SPHINXBUILD = sphinx-build
SPHINXPROJ = ESP8266ArduinoCore
SOURCEDIR = .
Expand All @@ -17,4 +17,4 @@ help:
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Loading

0 comments on commit f3801cd

Please sign in to comment.