- 22 3月, 2021 2 次提交
-
-
由 Earle F. Philhower, III 提交于
Fix #7933
-
由 virtualmix 提交于
The root certificate used in the example to connect to api.github.com has expired. A new certificate was issued on March 3, 2021 and should be valid for a year.
-
- 21 3月, 2021 2 次提交
-
-
由 david gauchard 提交于
* rename ClientContext::wait_until_sent() to wait_until_acked() While looking at #6348 and #6369, and after checking into lwIP sources, it appears that the tests in ClientContext::wait_until_sent() effectively wait for all acks on current output buffer. Comments are added. * host tests counterpart
-
由 Max Prokhorov 提交于
* wip * huh, turns out String = 'c' did some weird stuff * style * allow "blah" + String, 'c' + String and F("...") + String also, simplify const char* vs. __FlashStringHelper, and just always use _P functions * shuffle things into .cpp * trying to fix arduinojson based on the implementation, we only need to specify that this symbol is a class * fix accidental realloc, add test for operator+ basic chaining should work just like with master comparing std::move() buffers won't work though, because we never allow anything but `const StringSumHelper&` references * fixup! fix accidental realloc, add test for operator+ * don't need another branch * template +=(String / char* / numbers) and +(String, numbers / char*) * nul after moving (isnt mem always zeroed tho?) * check if lhs cant keep before switching to rhs * fix String used to store struct data `cannot bind bit-field '...' to 'signed char&' `cannot bind bit-field '...' to 'unssigned char&' noticed in both tasmota and espeasy, where this generates a webpage content from some status struct containing bitfields * style once more * typo * recover 44400218
-
- 16 3月, 2021 3 次提交
-
-
由 Drzony 提交于
-
由 Manuel Domínguez-Dorado 提交于
Co-authored-by: NManuel Domínguez Dorado <manuel.dominguez@enzinatec.com>
-
由 Earle F. Philhower, III 提交于
* Add setSSLVersion call to SSL object Allow users to only allow specific TLS versions for connections with an additional call in their app, similar to the setCiphers call. Fixes #7918 * Add SSL level options to WiFiServerSecure
-
- 15 3月, 2021 12 次提交
-
-
由 Earle F. Philhower, III 提交于
-
由 Dirk O. Kaar 提交于
-
由 Drzony 提交于
-
由 M Hightower 提交于
-
* More user-friendly, less RODATA usage. eg. `webServer.collectHeaders(F("Content-Type"), F("Origin"));` In this example, less about 20 bytes than the traditional way.
-
由 Earle F. Philhower, III 提交于
Provides a transparently accessible additional block of RAM of 128K to 8MB by using an external SPI SRAM. This memory is managed using the UMM memory manager and can be used by the core as if it were internal RAM (albeit much slower to read or write). The use case would be for things which are quite large but not particularly frequently used or compute intensive. For example, the SSL buffers of 16K++ are a good fit for this, as are the contents of Strings (both to avoid main heap fragmentation as well as allowing Strings of >30KB). A fully associative LRU cache is used to limit the SPI bus bottleneck, and background writeback is supported. Uses a define in boards.txt to enable. If this value is not defined, then the entire VM routines should not be linked in to user apps so there should be no space penalty w/o it. UMM `malloc` and `new` are modified to support internal and external heap regions. By default, everything comes from the standard heap, but a call to `ESP.setExternalHeap()` before the allocation (followed by a call to `ESP.resetHeap()` will make the allocation come from external RAM. See the `virtualmem.ino` example for use. If there is no external RAM installed, the `setExternalHeap` call is a no-op. The String and BearSSL libraries have been modified to use this external RAM automatically. Theory of Operation: The Xtensa core generates a hardware exception (unrelated to C++ exceptions) when an address that's defined as invalid for load or store. The XTOS ROM routines capture the machine state and call a standard C exception handler routine (or the default one which resets the system). We hook into this exception callback and decode the EXCVADDR (the address being accessed) and use the exception PC to read out the faulting instruction. We decode that instruction and simulate it's behavior (i.e. either loading or storing some data to a register/external memory) and then return to the calling application. We use the hardware SPI interface to talk to an external SRAM/PSRAM, and implement a simple cache to minimize the amount of times we need to go out over the (slow) SPI bus. The SPI is set up in a DIO mode which uses no more pins than normal SPI, but provides for ~2X faster transfers. SIO mode is also supported. NOTE: This works fine for processor accesses, but cannot be used by any of the peripherals' DMA. For that, we'd need a real MMU. Hardware Configuration (only use 3.3V compatible SRAMs!): SPI byte-addressible SRAM/PSRAM: 23LC1024 or smaller CS -> GPIO15 SCK -> GPIO14 MOSI -> GPIO13 MISO -> GPIO12 (note these are GPIO numbers, not the Arduino Dxx pin names. Refer to your ESP8266 board schematic for the mapping of GPIO to pin.) Higher density PSRAM (ESP-PSRAM64H/etc.) should work as well, but I'm still waiting on my chips so haven't done any testing. Biggest concern is their command set and functionality in DIO mode. If DIO mode isn't supported, then a fallback to SIO is possible. This PR originated with code from @pvvx's esp8266web server at https://github.com/pvvx/esp8266web (licensed in the public domain) but doesn't resemble it much any more. Thanks, @pvvx! Keep a list of the last 8 lines in RAM (~.5KB of RAM) and use that to speed up things like memcpys and other operations where the source and destination addresses are inside VM RAM. A custom set of SPI routines is used in the VM system for speed and code size (and because the core cannot be dependent on a library). Because UMM manages RAM in 8 byte chunks, attempting to manage the entire 1M available space on a 1M PSRAM causes the block IDs to overflow, crashing things at some point. Limit the UMM allocation to only 256K in this case. The remaining space can manually be assigned to buffers/etc. managed by the application, not malloc()/free().
-
由 david gauchard 提交于
-
由 david gauchard 提交于
-
由 Earle F. Philhower, III 提交于
Update the core to use the define that the ESP32 uses, IRAM_ATTR, for placing code in DRAM.
-
由 Dirk O. Kaar 提交于
Minor EspSoftwareSerial release 6.11.7, for deprecated ICACHE_RAM_ATTR in upcoming ESP8266 Arduino core 3.0.0. (#7922)
-
由 Develo 提交于
WiFi Mesh Update 2.2
-
由 Develo 提交于
-
- 14 3月, 2021 1 次提交
-
-
由 david gauchard 提交于
* OOM debug: warn about String reallocation * threshold set to 128 bytes, +defines * warn only when capacity had already reached the threshold
-
- 11 3月, 2021 1 次提交
-
-
由 ksalwin 提交于
-
- 08 3月, 2021 1 次提交
-
-
由 Earle F. Philhower, III 提交于
Fixes #427 Adds a basic I2S class based off of the Arduino-SAMD core. The raw i2s_xxx functions are still a better way to use I2S due to their flexibility, but this will allow basic Arduino sketches to work.
-
- 05 3月, 2021 1 次提交
-
-
由 david gauchard 提交于
-
- 04 3月, 2021 1 次提交
-
-
由 Earle F. Philhower, III 提交于
Rebuild entire toolchain instead of manually hacking the tools JSON to ensure repeatability. New mklittlefs sets the new FS timestamp added in #7873
-
- 03 3月, 2021 3 次提交
-
-
由 Chris van Marle 提交于
-
由 Drzony 提交于
-
由 david gauchard 提交于
-
- 22 2月, 2021 2 次提交
-
-
由 Dirk O. Kaar 提交于
-
由 Dirk O. Kaar 提交于
-
- 20 2月, 2021 2 次提交
-
-
由 david gauchard 提交于
-
由 Foddis Gabriele 提交于
-
- 18 2月, 2021 1 次提交
-
-
由 twischer 提交于
without any external wiring. This patch introduces the new method Esp.rebootIntoUartDownloadMode() When the user calls this method the ESP8266 reboots into the UART download mode. In this mode the user can use esptool.py to flash a new firmware file. The following command was used to test it: $ esptool.py --before no_reset --after soft_reset --chip esp8266 \ --port /dev/ttyUSB0 --baud 460800 write_flash 0x0 firmware.bin The implementation is based on the original implementation in the boot ROM. Some parts of the original implementation can be found in [1]. This patch is a squashed and simplified version of [2]. The non squashed version might be helpful in case of debugging issues. [1] https://github.com/twischer/xtensa-subjects/blob/master/reversed/bootrom.c [2] https://github.com/twischer/Arduino/tree/reboot_uart_download_fullSigned-off-by: NTimo Wischer <twischer@freenet.de>
-
- 16 2月, 2021 1 次提交
-
-
由 Michael Pöttgen 提交于
Improve resume speed by passing in last known BSSID Provide a simpler example for WIFI_SHUTDOWN/WIFI_RESUME Add documentation for WIFI_SHUTDOWN and WIFI_RESUME.
-
- 14 2月, 2021 2 次提交
-
-
由 Earle F. Philhower, III 提交于
Fixes #6805 Update the build.board for several boards which were originally added with a generic type.
-
由 david gauchard 提交于
time_t is now 64 bits. String(time_t) was ambiguous tests added
-
- 09 2月, 2021 1 次提交
-
-
由 Earle F. Philhower, III 提交于
* Fix ESP8266SdFat architecture Avoid problems reported in https://forum.arduino.cc/index.php?topic=726897.msg4889319 * Fix Windows CI, python3 now *maybe* exists Python3 used to be called "python.exe" on earlier VMs, but it looks like the image has been updated and a "python3.exe" does now exist. Update the CI script to first check it "python3" exists, and if not then do the copy hack, OTW do nothing.
-
- 08 2月, 2021 1 次提交
-
-
由 Earle F. Philhower, III 提交于
RODATA can be copied automatically by the bootrom, so no reason not to allow its use for strings and constants in eboot.c Revert to pfalcon's original uzlib since the single patch to remove RODATA is not required. Rationalize eboot.ld linker script, clean up BSS and init it in code. Saves 112 bytes of space in the bootloader sector by removing the extra code associated with literal loads. * Move CRC out of bootload sector We added protection to only erase the bootload sector when flashing an image when the new sector != the old sector. This was intended to minimize the chance of bricking (i.e. if there was a powerfail during flashing of the boot sector the chip would be dead). Unfortunately, by placing the CRC inside the eboot sector *every* application will have a unique eboot sector (due to the crc/len), so this protection doesn't work. Move the CRC into the first 8 bytes of IROM itself. This frees up extra space in the boot sector and ensures that eboot won't be reflashed unless there really is an eboot change.
-
- 07 2月, 2021 1 次提交
-
-
由 Dirk O. Kaar 提交于
-
- 04 2月, 2021 1 次提交
-
-
由 hreintke 提交于
-
- 30 1月, 2021 1 次提交
-
-
由 Earle F. Philhower, III 提交于
Update newlib to enable the __ieee754_remainder(f) calls required by std::remainder and others. Add device test for std::remainder variants. Fixes #7845
-