forked from earlephilhower/arduino-pico
-
Notifications
You must be signed in to change notification settings - Fork 3
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
20230519 merge #14
Open
taylor-an
wants to merge
285
commits into
master
Choose a base branch
from
20230519-merge
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
20230519 merge #14
Conversation
This file contains 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
Avoid creating Strings when sending out results.
Fixes earlephilhower#747 while remaining ESP8266 compatible
Should speed builds up slightly, depending on the OS and virus scanning.
Because OTA has changed the flash map from standard, picotool ends up crashing or hanging while trying to operate on the current built files. Remove the binary_info calls and structures completely to avoid any issue. Fixes earlephilhower#803
Add calls to `tud_task` to pump the USB interface in the SerialUSB methods. See earlephilhower#832 for more info.
Use #include .... to reference them from the cores directory to ensure they keep up to date.
Co-authored-by: Dario Gogliandolo <[email protected]>
Fixes earlephilhower#1356 Mac and Windows have case-insensitive filesystems, so the will find the internal (all-lowercase) "btstack.h" and not the library's "BTstack.h", causing compilation errors. Rename the library and header to avoid the issue.
Change “N” to “M” and add “HOST” in the USB pins. Only two pins are actually affected; diff appears large to maintain the pleasant aligned-columns format.
Fixes earlephilhower#1370 Adds a simple helper assertion to tell the user how to enable BT if it's not enabled, instead of some odd compilation warnings about undefined functions.
Matches the flash size defined in the menus. Fixes earlephilhower#1399
Fixes earlephilhower#1402 The global USB mutex is auto-shadowed with a FreeRTOS semaphore while in FreeRTOS mode. Unfortunately, while the core was using the proper FreeRTOS semaphore to lock access to the USB port, the actual FreeRTOS USB task was using the naked Pico SDK mutex, leading to cases where it could acquire the mutex even though some other FreeRTOS task actually owned the shadowed mutex. Properly lock the shadowed Semaphore, not mutex_t, in the FreeRTOS USB periodic task.
Fixes earlephilhower#1394 The Pico_Rand SDK calls gather bits from the HW ROSC at precise intervals. If there is jitter in the sleep_until() call then the ROSC bit collection will always think it's failed to acquire the right bit and retry infintitely. Avoid by wrapping the HW random number calls and the sleep_until() routine. Only when in FreeRTOS set a flag to silently make sleep_until() into a busy wait loop while in a random number generation step. When not in the random code, do the normal sleep_until call.
Fixes earlephilhower#1410 The USB Keyboard now has 2 reports (keyboard + consumer control), so when both Keyboard and Mouse libraries are included, the Mouse must be report 3, not 2. Update the Mouse and Joystick report IDs appropriately.
Fixes earlephilhower#1408 The wl_* types are required in multiple libraries which in turn seem to have a circular dependency that Platform.IO has issues with in certain modes. Avoid the issue by moving the common headers into the core directories so they will be accessible by all libs. Move StackThunk to core directory, too
Fixes earlephilhower#1439 Use a real FreeRTOS task, at the highest priority, to idle the other core while doing flash accesses. The USB stack seems to have some timing dependent bits which get broken if FreeRTOS switches out the current task when it's running. Avoid any issue by disabling preemption on the core for all tud_task calls. The PendSV handler disable flag can live completely inside the FreeRTOS variant port, so remove any reference to it in the main core. Tested using Multicode-FreeRTOS, earlephilhower#1402 and earlephilhower#1441 The USB FIFO interrupts were still being serviced even when the core was frozen, leading to crashes. Explicitly shut off IRQs on both the victim and the initiator core when freezing. Removed the need for hack __holdUpPendSV flag
Update to head of upstream FreeRTOS/SMP branch. Very minor changes. Remove the custom getreent implementation, use the one that was defined in the upstream FreeRTOS/smp branch (callback related vs. static vars).
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.