mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
Add code-spell spelling checks to CI (#8067)
Help find and fix silly spelling errors as they are added to the repo.
This commit is contained in:
committed by
GitHub
parent
78a2ed6bd8
commit
60fe7b4ca8
@ -1,9 +1,8 @@
|
||||
#ifndef __CALLBACKLIST_H__
|
||||
#define __CALLBACKLIST_H__
|
||||
|
||||
|
||||
/*
|
||||
CallBackList, An implemention for handling callback execution
|
||||
CallBackList, An implementation for handling callback execution
|
||||
|
||||
Copyright (c) 2019 Herman Reintke. All rights reserved.
|
||||
This file is part of the esp8266 core for Arduino environment.
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
void EspClass::getHeapStats(uint32_t* hfree, uint16_t* hmax, uint8_t* hfrag)
|
||||
{
|
||||
// L2 / Euclidian norm of free block sizes.
|
||||
// L2 / Euclidean norm of free block sizes.
|
||||
// Having getFreeHeap()=sum(hole-size), fragmentation is given by
|
||||
// 100 * (1 - sqrt(sum(hole-size²)) / sum(hole-size))
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "spi_vendors.h"
|
||||
|
||||
/**
|
||||
* AVR macros for WDT managment
|
||||
* AVR macros for WDT management
|
||||
*/
|
||||
typedef enum {
|
||||
WDTO_0MS = 0, //!< WDTO_0MS
|
||||
@ -264,7 +264,7 @@ class EspClass {
|
||||
static bool flashReplaceBlock(uint32_t address, const uint8_t *value, uint32_t byteCount);
|
||||
/**
|
||||
* @brief Write up to @a size bytes from @a data to flash at @a address
|
||||
* This function takes case of unaligned memory acces by copying @a data to a temporary buffer,
|
||||
* This function takes case of unaligned memory access by copying @a data to a temporary buffer,
|
||||
* it also takes care of page boundary crossing see @a flashWritePageBreak as to why it's done.
|
||||
* Less than @a size bytes may be written, due to 4 byte alignment requirement of spi_flash_write
|
||||
* @param address address on flash where write should start
|
||||
|
@ -15,7 +15,7 @@ void close_all_fs(void)
|
||||
}
|
||||
|
||||
// default weak definitions
|
||||
// they are overriden in their respective real implementation
|
||||
// they are overridden in their respective real implementation
|
||||
// hint: https://github.com/esp8266/Arduino/pull/6699#issuecomment-549085382
|
||||
|
||||
void littlefs_request_end(void) __attribute__((weak));
|
||||
|
@ -132,7 +132,7 @@ public:
|
||||
|
||||
int peek(void) override
|
||||
{
|
||||
// return -1 when data is unvailable (arduino api)
|
||||
// return -1 when data is unavailable (arduino api)
|
||||
return uart_peek_char(_uart);
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ public:
|
||||
|
||||
int read(void) override
|
||||
{
|
||||
// return -1 when data is unvailable (arduino api)
|
||||
// return -1 when data is unavailable (arduino api)
|
||||
return uart_read_char(_uart);
|
||||
}
|
||||
// ::read(buffer, size): same as readBytes without timeout
|
||||
|
@ -51,7 +51,7 @@ extern "C"
|
||||
// trying to change legacy behavor
|
||||
// `fw_has_started_softap_dhcps` will be read in DhcpServer::DhcpServer
|
||||
// which is called when c++ ctors are initialized, specifically
|
||||
// dhcpSoftAP intialized with AP interface number above.
|
||||
// dhcpSoftAP initialized with AP interface number above.
|
||||
fw_has_started_softap_dhcps = 1;
|
||||
#endif
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ DhcpServer::DhcpServer(netif* netif): _netif(netif)
|
||||
{ 0 } // gateway 0.0.0.0
|
||||
};
|
||||
begin(&ip);
|
||||
fw_has_started_softap_dhcps = 2; // not 1, ending intial boot sequence
|
||||
fw_has_started_softap_dhcps = 2; // not 1, ending initial boot sequence
|
||||
}
|
||||
};
|
||||
|
||||
@ -454,10 +454,10 @@ uint8_t* DhcpServer::add_offer_options(uint8_t *optptr)
|
||||
*optptr++ = 1;
|
||||
*optptr++ = 0x00;
|
||||
|
||||
#if 0 // vendor specific unititialized (??)
|
||||
#if 0 // vendor specific uninitialized (??)
|
||||
*optptr++ = 43; // vendor specific
|
||||
*optptr++ = 6;
|
||||
// unitialized ?
|
||||
// uninitialized ?
|
||||
#endif
|
||||
|
||||
#if 0 // already set (DHCP_OPTION_SUBNET_MASK==1) (??)
|
||||
|
@ -76,7 +76,7 @@ class Print {
|
||||
inline size_t write(int8_t c) { return write((uint8_t) c); }
|
||||
|
||||
// default to zero, meaning "a single write may block"
|
||||
// should be overriden by subclasses with buffering
|
||||
// should be overridden by subclasses with buffering
|
||||
virtual int availableForWrite() { return 0; }
|
||||
|
||||
size_t printf(const char * format, ...) __attribute__ ((format (printf, 2, 3)));
|
||||
|
@ -148,7 +148,7 @@ long Stream::parseInt(char skipChar) {
|
||||
|
||||
do {
|
||||
if(c == skipChar)
|
||||
; // ignore this charactor
|
||||
; // ignore this character
|
||||
else if(c == '-')
|
||||
isNegative = true;
|
||||
else if(c >= '0' && c <= '9') // is c a digit?
|
||||
|
@ -162,27 +162,27 @@ class Stream: public Print {
|
||||
// ::send*() methods:
|
||||
// - always stop before timeout when "no-more-input-possible-data"
|
||||
// or "no-more-output-possible-data" condition is met
|
||||
// - always return number of transfered bytes
|
||||
// - always return number of transferred bytes
|
||||
// When result is 0 or less than requested maxLen, Print::getLastSend()
|
||||
// contains an error reason.
|
||||
|
||||
// transfers already buffered / immediately available data (no timeout)
|
||||
// returns number of transfered bytes
|
||||
// returns number of transferred bytes
|
||||
size_t sendAvailable (Print* to) { return sendGeneric(to, -1, -1, oneShotMs::alwaysExpired); }
|
||||
size_t sendAvailable (Print& to) { return sendAvailable(&to); }
|
||||
|
||||
// transfers data until timeout
|
||||
// returns number of transfered bytes
|
||||
// returns number of transferred bytes
|
||||
size_t sendAll (Print* to, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendGeneric(to, -1, -1, timeoutMs); }
|
||||
size_t sendAll (Print& to, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendAll(&to, timeoutMs); }
|
||||
|
||||
// transfers data until a char is encountered (the char is swallowed but not transfered) with timeout
|
||||
// returns number of transfered bytes
|
||||
// transfers data until a char is encountered (the char is swallowed but not transferred) with timeout
|
||||
// returns number of transferred bytes
|
||||
size_t sendUntil (Print* to, const int readUntilChar, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendGeneric(to, -1, readUntilChar, timeoutMs); }
|
||||
size_t sendUntil (Print& to, const int readUntilChar, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendUntil(&to, readUntilChar, timeoutMs); }
|
||||
|
||||
// transfers data until requested size or timeout
|
||||
// returns number of transfered bytes
|
||||
// returns number of transferred bytes
|
||||
size_t sendSize (Print* to, const ssize_t maxLen, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendGeneric(to, maxLen, -1, timeoutMs); }
|
||||
size_t sendSize (Print& to, const ssize_t maxLen, const oneShotMs::timeType timeoutMs = oneShotMs::neverExpires) { return sendSize(&to, maxLen, timeoutMs); }
|
||||
|
||||
|
@ -230,7 +230,7 @@ public:
|
||||
StreamString(StreamString&& bro): String(bro), S2Stream(this) { }
|
||||
StreamString(const StreamString& bro): String(bro), S2Stream(this) { }
|
||||
|
||||
// duplicate String contructors and operator=:
|
||||
// duplicate String constructors and operator=:
|
||||
|
||||
StreamString(const char* text = nullptr): String(text), S2Stream(this) { }
|
||||
StreamString(const String& string): String(string), S2Stream(this) { }
|
||||
|
@ -410,7 +410,7 @@ size_t UpdaterClass::write(uint8_t *data, size_t len) {
|
||||
left -= toBuff;
|
||||
if(!_async) yield();
|
||||
}
|
||||
//lets see whats left
|
||||
//lets see what's left
|
||||
memcpy(_buffer + _bufferLen, data + (len - left), left);
|
||||
_bufferLen += left;
|
||||
if(_bufferLen == remaining()){
|
||||
|
@ -108,12 +108,12 @@ class UpdaterClass {
|
||||
bool setMD5(const char * expected_md5);
|
||||
|
||||
/*
|
||||
returns the MD5 String of the sucessfully ended firmware
|
||||
returns the MD5 String of the successfully ended firmware
|
||||
*/
|
||||
String md5String(void){ return _md5.toString(); }
|
||||
|
||||
/*
|
||||
populated the result with the md5 bytes of the sucessfully ended firmware
|
||||
populated the result with the md5 bytes of the successfully ended firmware
|
||||
*/
|
||||
void md5(uint8_t * result){ return _md5.getBytes(result); }
|
||||
|
||||
|
@ -483,7 +483,7 @@ void i2s_set_dividers(uint8_t div1, uint8_t div2) {
|
||||
i2sc_temp |= (I2STXR); // Hold transmitter in reset
|
||||
I2SC = i2sc_temp;
|
||||
|
||||
// trans master(active low), recv master(active_low), !bits mod(==16 bits/chanel), clear clock dividers
|
||||
// trans master(active low), recv master(active_low), !bits mod(==16 bits/channel), clear clock dividers
|
||||
i2sc_temp &= ~(I2STSM | I2SRSM | (I2SBMM << I2SBM) | (I2SBDM << I2SBD) | (I2SCDM << I2SCD));
|
||||
|
||||
// I2SRF = Send/recv right channel first (? may be swapped form I2S spec of WS=0 => left)
|
||||
|
@ -290,7 +290,7 @@ void init_done() {
|
||||
know if other features are using this, or if this memory is going to be
|
||||
used in future SDK releases.
|
||||
|
||||
WPS beeing flawed by its poor security, or not beeing used by lots of
|
||||
WPS being flawed by its poor security, or not being used by lots of
|
||||
users, it has been decided that we are still going to use that memory for
|
||||
user's stack and disable the use of WPS.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
core_esp8266_noniso.c - nonstandard (but usefull) conversion functions
|
||||
core_esp8266_noniso.c - nonstandard (but useful) conversion functions
|
||||
|
||||
Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
|
||||
This file is part of the esp8266 core for Arduino environment.
|
||||
|
@ -289,7 +289,7 @@ static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] =
|
||||
};
|
||||
|
||||
|
||||
// These functions will be overriden from C++ code.
|
||||
// These functions will be overridden from C++ code.
|
||||
// Unfortunately, we can't use extern "C" because Arduino preprocessor
|
||||
// doesn't generate forward declarations for extern "C" functions correctly,
|
||||
// so we use mangled names here.
|
||||
|
@ -56,7 +56,7 @@ _SPICommand(volatile uint32_t spiIfNum,
|
||||
if (spiIfNum>1)
|
||||
return SPI_RESULT_ERR;
|
||||
|
||||
// force SPI register access via base+offest.
|
||||
// force SPI register access via base+offset.
|
||||
// Prevents loading individual address constants from flash.
|
||||
uint32_t *spibase = (uint32_t*)(spiIfNum ? &(SPI1CMD) : &(SPI0CMD));
|
||||
#define SPIREG(reg) (*((volatile uint32_t *)(spibase+(&(reg) - &(SPI0CMD)))))
|
||||
@ -141,7 +141,7 @@ _SPICommand(volatile uint32_t spiIfNum,
|
||||
* data has been sent.
|
||||
*
|
||||
* Note: This code has only been tested with SPI bus 0, but should work
|
||||
* equally well with other busses. The ESP8266 has bus 0 and 1,
|
||||
* equally well with other buses. The ESP8266 has bus 0 and 1,
|
||||
* newer chips may have more one day.
|
||||
*/
|
||||
SpiOpResult SPI0Command(uint8_t cmd, uint32_t *data, uint32_t mosi_bits, uint32_t miso_bits) {
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/*
|
||||
core_esp8266_version.h - parse "git describe" at compile time
|
||||
Copyright (c) 2018 david gauchard. All rights reserved.
|
||||
@ -159,7 +158,7 @@ int coreVersionSubRevision ()
|
||||
}
|
||||
|
||||
/*
|
||||
* unique revision indentifier (never decreases)
|
||||
* unique revision identifier (never decreases)
|
||||
*/
|
||||
constexpr
|
||||
int coreVersionNumeric ()
|
||||
|
@ -69,8 +69,8 @@ void micros_overflow_tick(void* arg) {
|
||||
//---------------------------------------------------------------------------
|
||||
// millis() 'magic multiplier' approximation
|
||||
//
|
||||
// This function corrects the cumlative (296us / usec overflow) drift
|
||||
// seen in the orignal 'millis()' function.
|
||||
// This function corrects the cumulative (296us / usec overflow) drift
|
||||
// seen in the original 'millis()' function.
|
||||
//
|
||||
// Input:
|
||||
// 'm' - 32-bit usec counter, 0 <= m <= 0xFFFFFFFF
|
||||
|
@ -163,7 +163,7 @@ extern volatile uint32_t* const esp8266_gpioToFn[16];
|
||||
#define TCIS 8 //Interrupt Status
|
||||
#define TCTE 7 //Timer Enable
|
||||
#define TCAR 6 //AutoReload (restart timer when condition is reached)
|
||||
#define TCPD 2 //Prescale Devider (2bit) 0:1(12.5ns/tick), 1:16(0.2us/tick), 2/3:256(3.2us/tick)
|
||||
#define TCPD 2 //Prescale Divider (2bit) 0:1(12.5ns/tick), 1:16(0.2us/tick), 2/3:256(3.2us/tick)
|
||||
#define TCIT 0 //Interrupt Type 0:edge, 1:level
|
||||
|
||||
//RTC Registers
|
||||
@ -271,7 +271,7 @@ extern volatile uint32_t* const esp8266_gpioToFn[16];
|
||||
#define UCRXI 19 //Invert RX
|
||||
#define UCTXRST 18 //Reset TX FIFO
|
||||
#define UCRXRST 17 //Reset RX FIFO
|
||||
#define UCTXHFE 15 //TX Harware Flow Enable
|
||||
#define UCTXHFE 15 //TX Hardware Flow Enable
|
||||
#define UCLBE 14 //LoopBack Enable
|
||||
#define UCBRK 8 //Send Break on the TX line
|
||||
#define UCSWDTR 7 //Set this bit to assert DTR
|
||||
@ -283,11 +283,11 @@ extern volatile uint32_t* const esp8266_gpioToFn[16];
|
||||
|
||||
//UART CONF1 Registers Bits
|
||||
#define UCTOE 31 //RX TimeOut Enable
|
||||
#define UCTOT 24 //RX TimeOut Treshold (7bit)
|
||||
#define UCRXHFE 23 //RX Harware Flow Enable
|
||||
#define UCRXHFT 16 //RX Harware Flow Treshold (7bit)
|
||||
#define UCFET 8 //TX FIFO Empty Treshold (7bit)
|
||||
#define UCFFT 0 //RX FIFO Full Treshold (7bit)
|
||||
#define UCTOT 24 //RX TimeOut Threshold (7bit)
|
||||
#define UCRXHFE 23 //RX Hardware Flow Enable
|
||||
#define UCRXHFT 16 //RX Hardware Flow Threshold (7bit)
|
||||
#define UCFET 8 //TX FIFO Empty Threshold (7bit)
|
||||
#define UCFFT 0 //RX FIFO Full Threshold (7bit)
|
||||
|
||||
//WDT Feed (the dog) Register
|
||||
#define WDTFEED ESP8266_REG(0x914)
|
||||
@ -372,7 +372,7 @@ extern volatile uint32_t* const esp8266_gpioToFn[16];
|
||||
#define SPI1E3 ESP8266_REG(0x1FC)
|
||||
#define SPI1W(p) ESP8266_REG(0x140 + ((p & 0xF) * 4))
|
||||
|
||||
//SPI0, SPI1 & I2S Interupt Register
|
||||
//SPI0, SPI1 & I2S Interrupt Register
|
||||
#define SPIIR ESP8266_DREG(0x20)
|
||||
#define SPII0 4 //SPI0 Interrupt
|
||||
#define SPII1 7 //SPI1 Interrupt
|
||||
|
@ -185,7 +185,7 @@ typedef void (*fn_c_exception_handler_t)(struct __exception_frame *ef, int cause
|
||||
_xtos_c_handler_table[]. It is present when an exception handler has not been
|
||||
registered. It simply consist of a single instruction, `ret`.
|
||||
It is also internally used by `_xtos_set_exception_handler(cause, NULL)` to
|
||||
reset a "C" exception handler back to the unhandled state. The coresponding
|
||||
reset a "C" exception handler back to the unhandled state. The corresponding
|
||||
`_xtos_exc_handler_table` entry will be set to `_xtos_unhandled_exception`.
|
||||
Note, if nesting handlers is desired this must be implemented in the new "C"
|
||||
exception handler(s) being registered.
|
||||
|
@ -47,7 +47,7 @@
|
||||
* https://github.com/qca/open-ath9k-htc-firmware/blob/master/sboot/magpie_1_1/sboot/athos/src/xtos/exc-sethandler.c
|
||||
*
|
||||
* It has been revised to use Arduino ESP8266 core includes, types, and
|
||||
* formating.
|
||||
* formatting.
|
||||
*/
|
||||
|
||||
/* exc-sethandler.c - register an exception handler in XTOS */
|
||||
|
@ -27,7 +27,7 @@ extern "C" {
|
||||
* @brief Initialize GDB stub, if present
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and does necessary initialization of that library.
|
||||
* this function is overridden and does necessary initialization of that library.
|
||||
* Called early at startup.
|
||||
*/
|
||||
void gdb_init(void);
|
||||
@ -36,7 +36,7 @@ void gdb_init(void);
|
||||
* @brief Break into GDB, if present
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and triggers entry into the debugger, which
|
||||
* this function is overridden and triggers entry into the debugger, which
|
||||
* looks like a breakpoint hit.
|
||||
*/
|
||||
void gdb_do_break(void);
|
||||
@ -45,7 +45,7 @@ void gdb_do_break(void);
|
||||
* @brief Check if GDB stub is present.
|
||||
*
|
||||
* By default, this function returns false. When GDBStub library is linked,
|
||||
* this function is overriden and returns true. Can be used to check whether
|
||||
* this function is overridden and returns true. Can be used to check whether
|
||||
* GDB is used.
|
||||
*
|
||||
* @return true if GDB stub is present
|
||||
@ -58,7 +58,7 @@ bool gdb_present(void);
|
||||
* @brief Check if GDB is installing a putc1 callback.
|
||||
*
|
||||
* By default, this function returns false. When GDBStub library is linked,
|
||||
* this function is overriden and returns true.
|
||||
* this function is overridden and returns true.
|
||||
*
|
||||
* @return true if GDB is installing a putc1 callback
|
||||
*/
|
||||
@ -69,7 +69,7 @@ bool gdbstub_has_putc1_control(void);
|
||||
* @param func function GDB will proxy putc1 data to
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and sets GDB stub's secondary putc1 callback to
|
||||
* this function is overridden and sets GDB stub's secondary putc1 callback to
|
||||
* func. When GDB stub is linked, but a GDB session is not current attached,
|
||||
* then GDB stub will pass putc1 chars directly to this function.
|
||||
*/
|
||||
@ -79,7 +79,7 @@ void gdbstub_set_putc1_callback(void (*func)(char));
|
||||
* @brief Check if GDB is installing a uart0 isr callback.
|
||||
*
|
||||
* By default, this function returns false. When GDBStub library is linked,
|
||||
* this function is overriden and returns true.
|
||||
* this function is overridden and returns true.
|
||||
*
|
||||
* @return true if GDB is installing a uart0 isr callback
|
||||
*/
|
||||
@ -90,7 +90,7 @@ bool gdbstub_has_uart_isr_control(void);
|
||||
* @param func function GDB will proxy uart0 isr data to
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and sets GDB stub's secondary uart0 isr callback
|
||||
* this function is overridden and sets GDB stub's secondary uart0 isr callback
|
||||
* to func. When GDB stub is linked, but a GDB session is not current attached,
|
||||
* then GDB stub will pass uart0 isr data back to this function.
|
||||
*/
|
||||
@ -101,7 +101,7 @@ void gdbstub_set_uart_isr_callback(void (*func)(void*, uint8_t), void* arg);
|
||||
* @param c character to write
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and writes a char to either the GDB session on
|
||||
* this function is overridden and writes a char to either the GDB session on
|
||||
* uart0 or directly to uart0 if not GDB session is attached.
|
||||
*/
|
||||
void gdbstub_write_char(char c);
|
||||
@ -112,7 +112,7 @@ void gdbstub_write_char(char c);
|
||||
* @param size length of buffer
|
||||
*
|
||||
* By default, this function is a no-op. When GDBStub library is linked,
|
||||
* this function is overriden and writes a buffer to either the GDB session on
|
||||
* this function is overridden and writes a buffer to either the GDB session on
|
||||
* uart0 or directly to uart0 if not GDB session is attached.
|
||||
*/
|
||||
void gdbstub_write(const char* buf, size_t size);
|
||||
|
@ -42,7 +42,7 @@ extern "C" {
|
||||
#define UMM_REALLOC_FL(p,s,f,l) realloc(p,s)
|
||||
#define UMM_FREE_FL(p,f,l) free(p)
|
||||
|
||||
// STATIC_ALWAYS_INLINE only applys to the non-debug build path,
|
||||
// STATIC_ALWAYS_INLINE only applies to the non-debug build path,
|
||||
// it must not be enabled on the debug build path.
|
||||
#define STATIC_ALWAYS_INLINE static ALWAYS_INLINE
|
||||
#endif
|
||||
@ -226,10 +226,10 @@ void IRAM_ATTR print_oom_size(size_t size)
|
||||
b. Before, when the *alloc function creates a new, not modified, allocation.
|
||||
|
||||
In a free() or realloc() call, the focus is on their allocation. It is
|
||||
checked 1st and reported on 1ST if an error exists. Full Posion Check is
|
||||
checked 1st and reported on 1ST if an error exists. Full Poison Check is
|
||||
done after.
|
||||
|
||||
For malloc(), calloc(), and zalloc() Full Posion Check is done 1st since
|
||||
For malloc(), calloc(), and zalloc() Full Poison Check is done 1st since
|
||||
these functions do not modify an existing allocation.
|
||||
*/
|
||||
void* IRAM_ATTR malloc(size_t size)
|
||||
|
@ -376,7 +376,7 @@ extern hwdt_info_t hwdt_info;
|
||||
#undef hwdt_info_
|
||||
#undef hwdt_info
|
||||
#undef HWDT_VERIFY_HWDT_INFO
|
||||
static_assert(sizeof(hwdt_info_t) == sizeof(LOCAL_HWDT_INFO_T), "Local and include verison of hwdt_info_t do not match.");
|
||||
static_assert(sizeof(hwdt_info_t) == sizeof(LOCAL_HWDT_INFO_T), "Local and include version of hwdt_info_t do not match.");
|
||||
#endif
|
||||
|
||||
|
||||
@ -411,7 +411,7 @@ static_assert(sizeof(hwdt_info_t) == sizeof(LOCAL_HWDT_INFO_T), "Local and inclu
|
||||
#define CONT_STACK_A16_SZ (MK_ALIGN16_SZ(sizeof(cont_t)))
|
||||
/*
|
||||
* For WPS support, cont stack comes out of the user's heap address space.
|
||||
* The the NONOS-SDK stack address is initialized before tbe reserved ROM stack
|
||||
* The NONOS-SDK stack address is initialized before the reserved ROM stack
|
||||
* space. In this configuration there is no extra 4K in the heap.
|
||||
* Memory map: 0x3FFE8000, ..., (CONT_STACK), ..., (SYS), (ROM_STACK), 0x4000000
|
||||
*
|
||||
@ -764,8 +764,8 @@ void adjust_uart_speed(uint32_t uart_divisor) {
|
||||
* stablilize, and let the remote receiver come to an idle state before
|
||||
* continuing.
|
||||
*
|
||||
* Load a Rubout character for the final charcter shifting out to stop
|
||||
* the last charcter from getting crunched during the speed change.
|
||||
* Load a Rubout character for the final character shifting out to stop
|
||||
* the last character from getting crunched during the speed change.
|
||||
*
|
||||
* The thinking is if the speed changes while shifting out, as long as the
|
||||
* start bit gets out before the change. The change will not be noticed
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
// these auto classes wrap up xt_rsil so your code can be simplier, but can only be
|
||||
// these auto classes wrap up xt_rsil so your code can be simpler, but can only be
|
||||
// used in an ino or cpp files.
|
||||
|
||||
// InterruptLock is used when you want to completely disable interrupts
|
||||
|
@ -80,7 +80,7 @@ extern "C" {
|
||||
*
|
||||
* "Cache_Read_Enable" is underdocumented. Main sources of information were from
|
||||
* rboot, zboot, https://richard.burtons.org/2015/06/12/esp8266-cache_read_enable/,
|
||||
* and other places. And some additional expermentation.
|
||||
* and other places. And some additional experimentation.
|
||||
*
|
||||
* Searching through the NONOS SDK shows nothing on this API; however, some
|
||||
* clues on what the NONOS SDK might be doing with ICACHE related calls can be
|
||||
|
@ -122,7 +122,7 @@ bool mmu_is_icache(const void *addr) {
|
||||
/*
|
||||
* Some inlines to allow faster random access to non32bit access of iRAM or
|
||||
* iCACHE data elements. These remove the extra time and stack space that would
|
||||
* have occured by relying on exception processing.
|
||||
* have occurred by relying on exception processing.
|
||||
*/
|
||||
static inline __attribute__((always_inline))
|
||||
uint8_t mmu_get_uint8(const void *p8) {
|
||||
|
@ -19,10 +19,10 @@
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
This implementation is based on the original implementation of the ROM.
|
||||
It was shortend to reduce the memory usage. The complete version and the
|
||||
It was shortened to reduce the memory usage. The complete version and the
|
||||
development history can be found in:
|
||||
https://github.com/twischer/Arduino/tree/reboot_uart_download_full
|
||||
This might be usefull in case of issues.
|
||||
This might be useful in case of issues.
|
||||
*/
|
||||
#include "reboot_uart_dwnld.h"
|
||||
#include <stdnoreturn.h>
|
||||
|
@ -113,7 +113,7 @@ Choosing the page size for the system involves many factors:
|
||||
- How fast must spiffs be
|
||||
- Other things impossible to find out
|
||||
|
||||
So, chosing the Optimal Page Size (tm) seems tricky, to say the least. Don't
|
||||
So, choosing the Optimal Page Size (tm) seems tricky, to say the least. Don't
|
||||
fret - there is no optimal page size. This varies from how the target will use
|
||||
spiffs. Use the golden rule:
|
||||
|
||||
|
@ -695,7 +695,7 @@ s32_t SPIFFS_tell(spiffs *fs, spiffs_file fh);
|
||||
* in this callback will mess things up for sure - do not do this.
|
||||
* This can be used to track where files are and move around during garbage
|
||||
* collection, which in turn can be used to build location tables in ram.
|
||||
* Used in conjuction with SPIFFS_open_by_page this may improve performance
|
||||
* Used in conjunction with SPIFFS_open_by_page this may improve performance
|
||||
* when opening a lot of files.
|
||||
* Must be invoked after mount.
|
||||
*
|
||||
@ -710,7 +710,7 @@ s32_t SPIFFS_set_file_callback_func(spiffs *fs, spiffs_file_callback cb_func);
|
||||
* Maps the first level index lookup to a given memory map.
|
||||
* This will make reading big files faster, as the memory map will be used for
|
||||
* looking up data pages instead of searching for the indices on the physical
|
||||
* medium. When mapping, all affected indicies are found and the information is
|
||||
* medium. When mapping, all affected indices are found and the information is
|
||||
* copied to the array.
|
||||
* Whole file or only parts of it may be mapped. The index map will cover file
|
||||
* contents from argument offset until and including arguments (offset+len).
|
||||
|
@ -353,7 +353,7 @@ extern "C" {
|
||||
if ((ph).span_ix != (spix)) return SPIFFS_ERR_DATA_SPAN_MISMATCH;
|
||||
|
||||
|
||||
// check id, only visit matching objec ids
|
||||
// check id, only visit matching object ids
|
||||
#define SPIFFS_VIS_CHECK_ID (1<<0)
|
||||
// report argument object id to visitor - else object lookup id is reported
|
||||
#define SPIFFS_VIS_CHECK_PH (1<<1)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
stdlib_noniso.h - nonstandard (but usefull) conversion functions
|
||||
stdlib_noniso.h - nonstandard (but useful) conversion functions
|
||||
|
||||
Copyright (c) 2021 David Gauchard. All rights reserved.
|
||||
This file is part of the esp8266 core for Arduino environment.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
stdlib_noniso.h - nonstandard (but usefull) conversion functions
|
||||
stdlib_noniso.h - nonstandard (but useful) conversion functions
|
||||
|
||||
Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
|
||||
This file is part of the esp8266 core for Arduino environment.
|
||||
|
@ -126,7 +126,7 @@ later.
|
||||
The result is that a block of memory on the free list uses just 8 bytes
|
||||
instead of 16.
|
||||
|
||||
In fact, we go even one step futher when we realize that the free block
|
||||
In fact, we go even one step further when we realize that the free block
|
||||
index values are available to store data when the block is allocated.
|
||||
|
||||
The overhead of an allocated block is therefore just 4 bytes.
|
||||
@ -205,7 +205,7 @@ described.
|
||||
allocated for use by the upper block.
|
||||
|
||||
While we're talking about "upper" and "lower" blocks, we should make
|
||||
a comment about adresses. In the diagrams, a block higher up in the
|
||||
a comment about addresses. In the diagrams, a block higher up in the
|
||||
picture is at a lower address. And the blocks grow downwards their
|
||||
block index increases as does their physical address.
|
||||
|
||||
@ -347,7 +347,7 @@ nf |*?? | ?? | ?? | cf | nf | ?? | ?? | ?? | pf |
|
||||
```
|
||||
|
||||
This one is prety easy too, except we don't need to mess with the
|
||||
free list indexes at all becasue we'll allocate the new block at the
|
||||
free list indexes at all because we'll allocate the new block at the
|
||||
end of the current free block. We do, however have to adjust the
|
||||
indexes in cf, c, and n.
|
||||
|
||||
@ -539,5 +539,5 @@ BEFORE AFTER
|
||||
+----+----+----+----+ +----+----+----+----+
|
||||
```
|
||||
|
||||
Then we call free() with the adress of the data portion of the new
|
||||
Then we call free() with the address of the data portion of the new
|
||||
block (s) which adds it to the free list.
|
||||
|
@ -13,7 +13,7 @@
|
||||
* to set the trace level #define DBGLOG_LEVEL x
|
||||
*
|
||||
* To update which of the DBGLOG macros are compiled in, you must redefine the
|
||||
* DBGLOG_LEVEL macro and the inlcude the dbglog.h file again, like this:
|
||||
* DBGLOG_LEVEL macro and the include the dbglog.h file again, like this:
|
||||
*
|
||||
* #undef DBGLOG_LEVEL
|
||||
* #define DBGLOG_LEVEL 6
|
||||
|
@ -7,7 +7,7 @@
|
||||
#define ALWAYS_INLINE inline __attribute__ ((always_inline))
|
||||
#endif
|
||||
|
||||
// Use FORCE_ALWAYS_INLINE to ensure HeapSelect... construtor/deconstructor
|
||||
// Use FORCE_ALWAYS_INLINE to ensure HeapSelect... constructor/deconstructor
|
||||
// are placed in IRAM
|
||||
#ifdef FORCE_ALWAYS_INLINE_HEAP_SELECT
|
||||
#define MAYBE_ALWAYS_INLINE ALWAYS_INLINE
|
||||
|
@ -197,7 +197,7 @@ size_t umm_max_block_size( void ) {
|
||||
|
||||
/*
|
||||
Without build option UMM_INLINE_METRICS, calls to umm_usage_metric() or
|
||||
umm_fragmentation_metric() must to be preceeded by a call to umm_info(NULL, false)
|
||||
umm_fragmentation_metric() must to be preceded by a call to umm_info(NULL, false)
|
||||
for updated results.
|
||||
*/
|
||||
int umm_usage_metric_core( umm_heap_context_t *_context ) {
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
#if defined(UMM_CRITICAL_METRICS)
|
||||
/*
|
||||
* umm_malloc performance measurments for critical sections
|
||||
* umm_malloc performance measurements for critical sections
|
||||
*/
|
||||
UMM_TIME_STATS time_stats = {
|
||||
{0xFFFFFFFF, 0U, 0U, 0U},
|
||||
|
@ -585,7 +585,7 @@ void umm_free( void *ptr ) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Free the memory withing a protected critical section */
|
||||
/* Free the memory within a protected critical section */
|
||||
|
||||
UMM_CRITICAL_ENTRY(id_free);
|
||||
|
||||
@ -671,7 +671,7 @@ static void *umm_malloc_core( umm_heap_context_t *_context, size_t size ) {
|
||||
*/
|
||||
|
||||
if( blockSize == blocks ) {
|
||||
/* It's an exact fit and we don't neet to split off a block. */
|
||||
/* It's an exact fit and we don't need to split off a block. */
|
||||
DBGLOG_DEBUG( "Allocating %6d blocks starting at %6d - exact\n", blocks, cf );
|
||||
|
||||
/* Disconnect this block from the FREE list */
|
||||
@ -755,7 +755,7 @@ void *umm_malloc( size_t size ) {
|
||||
* For allocating APIs `umm_heap_cur` is used to index and select a value for
|
||||
* `_context`. If an allocation is made from an ISR, this value is ignored and
|
||||
* the heap context for DRAM is loaded. For APIs that require operating on an
|
||||
* existing allcation such as realloc and free, the heap context selected is
|
||||
* existing allocation such as realloc and free, the heap context selected is
|
||||
* done by matching the allocation's address with that of one of the heap
|
||||
* address ranges.
|
||||
*
|
||||
@ -798,7 +798,7 @@ void *umm_malloc( size_t size ) {
|
||||
return( ptr );
|
||||
}
|
||||
|
||||
/* Allocate the memory withing a protected critical section */
|
||||
/* Allocate the memory within a protected critical section */
|
||||
|
||||
UMM_CRITICAL_ENTRY(id_malloc);
|
||||
|
||||
|
@ -564,7 +564,7 @@ static inline void _critical_exit(UMM_TIME_STAT *p, uint32_t *saved_ps) {
|
||||
* direction of the beginning of the heap when possible.
|
||||
*
|
||||
* Status: TODO: These are new options introduced to optionally restore the
|
||||
* previous defrag propery of realloc. The issue has been raised in the upstream
|
||||
* previous defrag property of realloc. The issue has been raised in the upstream
|
||||
* repo. No response at this time. Based on response, may propose for upstream.
|
||||
*/
|
||||
/*
|
||||
@ -796,7 +796,7 @@ extern "C" {
|
||||
// Arduino.h recall us to redefine them
|
||||
#include <pgmspace.h>
|
||||
// Reuse pvPort* calls, since they already support passing location information.
|
||||
// Specificly the debug version (heap_...) that does not force DRAM heap.
|
||||
// Specifically the debug version (heap_...) that does not force DRAM heap.
|
||||
void* IRAM_ATTR heap_pvPortMalloc(size_t size, const char* file, int line);
|
||||
void* IRAM_ATTR heap_pvPortCalloc(size_t count, size_t size, const char* file, int line);
|
||||
void* IRAM_ATTR heap_pvPortRealloc(void *ptr, size_t size, const char* file, int line);
|
||||
|
@ -54,7 +54,7 @@
|
||||
* stack frame is limited to 128 bytes (currently at 64).
|
||||
*/
|
||||
STRUCT_BEGIN
|
||||
STRUCT_FIELD (long,4,KEXC_,pc) /* "parm" */
|
||||
STRUCT_FIELD (long,4,KEXC_,pc) /* "param" */
|
||||
STRUCT_FIELD (long,4,KEXC_,ps)
|
||||
STRUCT_AFIELD(long,4,KEXC_,areg, 4) /* a12 .. a15 */
|
||||
STRUCT_FIELD (long,4,KEXC_,sar) /* "save" */
|
||||
|
Reference in New Issue
Block a user