forked from earlephilhower/arduino-pico
-
Notifications
You must be signed in to change notification settings - Fork 3
20230519 2 #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
20230519 2 #15
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rp2040.reboot() would set a reboot timer for 100ms in the future, but then return to user code and ran it until the timer expired. Now infinite loop until the WDT fires.
Takes a list of APs, finds the one with highest RSSI, and tries to connect.
There may be an issue in the CYW43 driver that causes a link to never be reported as going down once it has connected, when it was disassociated or when the wlan shuts off unexpectedly. Work around it by clearing the internal link active in a TCP callback for the CYW43 driver. Reports disconnection properly now, as well as reconnection. Fixes earlephilhower#762
According to the Arduino docs, update works just like put, but it first checks if the value is different from the current one. This is how our put already works, so we just alias update to put and we're done. Function added to be more compatible with the Arduino API. Also see earlephilhower#778
Add a simple DNS server for AP mode Point DHCP server DNS entry to GW for DNSServer
If the WiFi network is already up, don't run the scan and connection algorithm in WiFiMulti.
Remove the need to have a separate WiFiClient that's destroyed after the HTTPClient. Let the object handle its own client, and pass through any SSL requests. Also supports the original ::begin methods which need a WiFiClient(Secure) to be passed in and managed by the app.
Give a meaningful error when OTA is attempted against a chip which does not have a filesystem configured.
Force the builder to include the path where we build the signing header. Undo a breaking bug in the Updater class (TBD fix in ESP8266) Fixes earlephilhower#783
OTA text error messages were getting lost because they were sent in multiple UDP packets, one per print(). Now collect the full error and report in a single print, allowing text messages to appear in ESPOTA.
* Add HTTPUpdate class to pull updates from HTTP(S) * Increase GH runners for pulls WiFi builds and examples are taking some serious time now * HTTPUpdate tests build on Pico W
…ure (earlephilhower#791) * Add HTTP-parser lib to support ESP32 WebServer * Add WebServer from ESP32. Only supports HTTP * Separate HTTP server from the network server Instead of managing the WiFiServer/WiFiServerSecure in the same object as the HTTP handling, split them into separate objects. This lets HTTP and HTTPS servers work without templates or duplicating code. The HTTP block just gets a `WiFiClient*` and works with that to only do HTTP processing, while the upper object handles the appropriate server and client types. * Add HTTPS server * Clean up some THandlerFunction refs * Refactor into a template-ized WebServer/WebServerSecure * Add DNSServer examples which need WebServer * Fix CoreMutex infinite recursion crash Core could crash while Serial debugging was going on and prints were happening from LWIP/IRQ land and the main app. * Add HTTPUpdateServer(Secure) * Add MIME include, optimize WebServer::send(size,len) When send()ing a large buffer, the WebServer::send() call would actually convert that buffer into a String (i.e. duplicate it, and potential issues with embedded \0s in binary data). Make a simple override to send(size, len) to allow writing from the source buffer instead. * Fix WiFiClient::send(Stream), add FSBrowser example
Allows the IDE to detect boards when using the Keyboard, Joystick, or Mouse libraries. Thanks @DaleMitchell for the idea!
…ephilhower#798) Fixes earlephilhower#795 Replace all CoreMutex and Newlib mutex accesses with FreeRTOS calls when in FreeRTOS mode. Avoid issues with hange/etc. due to priority inversion. No changes to normal operating mode. Add a FreeRTOS stress test that caught the issue fixed here.
Don't try and heap allocate temporaty <16b chunks.
Merge in changes @chrisckc debugged while working at 400khz on his own project. See earlephilhower#979 (comment)
Go back to UNIX format endlines. No functional changes.
Instead of sending a single packet per byte, send out larger chunks to TCP/IP while doing a ::write(Stream). Fixes earlephilhower#999
…#1029) When receiving a `QUIT` message, the main thread was trying to tell the scanner thread to quit - however, what it was actually doing was creating a local variable that shadowed the global flag used by the scanner thread. Fix that by ensuring that the main thread uses the global variable instead. Fixes earlephilhower#1028
Previously, File::readString used a C-style string as an intermediate buffer via the String += operator. This treats a NUL byte as a terminator, making this function work incorrectly if the File contains binary data. This commit switches the function to use String::concat, which doesn't treat NUL bytes any differently (and is a bit faster, because it doesn't need to use strlen).
Fixes earlephilhower#1021 The UART hardware will push characters into the receive FIFO even if there are parity, framing, or other errors. These are invalid and shouldn't be returned to the application, so drop them if errors detected. This will also avoid the glitch-induced initial garbage character.
SingleFileDisk allows for exporting a file from the onboard LittleFS filesystem to a PC through an emulated FAT drive when connected. The PC can open and copy the file, as well as delete it, but the PC has no access to the main onboard LittleFS and no actual on-flash FAT structures are used. This is handy for things like data loggers. They can run connected to USB power for some time, and then connected to a PC to dowmload the CSV log recorded. It's almost 2023, allow LFN (long file names) on the emulated USB disk. Reduce the disk buffer size to 64 bytes. The buffer is statically allocated so it's always present, even in non-USB disk mode, meaning all apps will pay the RAM price for it. 64 bytes is slower to read but works and saves ~1/2KB of heap for all apps.
Fixes earlephilhower#1031, or at least covers the case of slower associations.
Other parts of the core use temp 256 byte chunks to transmit/move/operate on data, so do the same here. Will increase effective WebServer sendFile speeds.
Fixes earlephilhower#963 The available space calculation didn't account for the fact that one of the buffers was currently being output, causing ::available() to be too large and ::write() to block in that case.
…tion stability (earlephilhower#1046) * Modified LowPowerMode functions in WiFiClass.cpp/.h * Added noLowPowerMode() in the WiFiClass::begin()/beginAP()
# Conflicts: # .github/workflows/pull-request.yml # .gitmodules
# Conflicts: # .github/workflows/pull-request.yml
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.