Skip to content

Conversation

andygpz11
Copy link
Contributor

Fix some minor typos in error.h

kilograham and others added 30 commits February 18, 2025 19:46
(looks like this was a copy-paste mistake)
#2306)

They are never used by the cyw43-driver code, because `F1_OVERFLOW_CHANGE`
is disabled.

Signed-off-by: Damien George <[email protected]>
The enum pio_mov_status_type expects the member name to be STATUS_IRQ_SET.
This adds `//bazel/config:PICO_TINYUSB_CONFIG`, which is used to select
which tusb_config.h gets linked into the tinyUSB port. This defaults to
the tusb_config.h from the pico_stdio_usb (same as before), but allows
Bazel users to override this config with their own.
`INTERNAL` should be the type of the variable, not placed at the end of the `set` invocation - it implies `FORCE`
Replace the incorrect `#define PICO_RP2350B 1` with the correct `#define PICO_RP2350A 0`

Fixes #2286
Observe that src/rp2_common/pico_cyw43_driver/cybt_shared_bus/cybt_shared_bus_driver.c
wraps the definition of cybt_printf with #ifndef NDEBUG
Apply this to src/rp2_common/pico_cyw43_driver/cybt_shared_bus/cybt_shared_bus.c

Co-authored-by: David Dyck <[email protected]>
This change adds the following to pico_stdio_usb:
- `PICO_STDIO_USB_ENABLE_IRQ_BACKGROUND_TASK`
- `PICO_STDIO_USB_ENABLE_TINYUSB_INIT`
- `PICO_STDIO_USB_USE_DEFAULT_DESCRIPTORS`

These defines replace some ifdefs that were previously gated by the
`LIB_TINYUSB_DEVICE` define and will allow finer grained control.
All of these defines default to 1 if LIB_TINYUSB_DEVICE is not defined
and 0 if LIB_TINYUSB_DEVICE is defined, which should preserve the
old behavior.
* Raise a warning when using the example signing/encryption keys
  This is automatically disabled for pico-examples, and can be manually disabled by setting PICO_ALLOW_EXAMPLE_KEYS
When the user links in tinyUSB directly, the pico_stdio_usb library
disables some of its functionality, including its built-in background
processing thread. The user can implement their own background thread
in order to continue using the stdio functionality, except that there
is no wey to trigger the registered chars_available_callback. This
commit adds a new `stdio_usb_run_chars_available_callback()` method to
allow user's background threads to run the callback.
(and fix the errors that this found)
* Add SPARE_IRQ to RP2350 SVD (note not having an `<addresBlock>` or one with a size of zero is not a legal SVD, so including something hopefully harmless

* Add SPARE_IRQ definitions to RP2040 intctrl.h, and add assertions on competing #defines as these were called USER_IRQs in the SDK 1.x

* Add SPAREIRQ_IRQ to rp2040 assembler, and fix name on rp2350 - this is backwards incompatible, but unlikely used

* add SPARE_IRQs to RP2040 svd too
* Add `PICO_MINIMAL_STORED_VECTOR_TABLE` config replacing (`PICO_NO_STORED_VECTOR_TABLE` which was a lie
* Add `PICO_NUM_VTABLE_IRQS`` which allows you to limit the number of IRQs included in both the STORED or RAM vector tables, and make the rest of the SDK behave properly based on that
* Because these new variables in `pico_crt0` are circularly dependent somewhat with variables in `hardware_irq` hoist all the interdependent variables into a new `pico_platform_common` which is common to all `rp2` platforms
* Move some previously duplicated `pico_platform` code into `pico_platform_common`

Net effect:

1. if you set PICO_MINIMAL_STORED_VECTOR_TABLE=1, you get a 4 word VTABLE on Arm.. you still get a RAM vector table with up to PICO_NUM_VTABLE_IRQs (defaults to NUM_IRQs) but everything - including things like `isr_pendsv` point to `__unhandled_user_irq`.
2. PICO_NUM_VTABLE_IRQs (default NUM_IRQS) sets the number of IRQs that have handlers in the VTABLE (this affects the space reserved, and what the irq APIs let you touch - at least as far as invalid_params_if!)
3. If you set PICO_MINIMAL_STORED_VECTOR_TABLE=1 for a no flash binary, then PICO_NUM_VTABLE_IRQs is forced to 0 as there is no reserved space for the handlers.

Co-authored-by: graham sanderson <[email protected]>
This enables using the unique_id in C++ static initializers by default
magy00 and others added 29 commits July 14, 2025 11:42
* Update makefsdata.py to support content encoding

changed makefsdata.py slightly to allow it to recognize files that have been manually gzipped (e.g. "mysite.css.gz") to send the proper Content-Encoding information in the response headers.

* Code review fix

---------

Co-authored-by: Peter Harper <[email protected]>
)

* add pioasm --version, and print version number in generated files

* Hook up pio version string in Bazel build

---------

Co-authored-by: Armando Montanez <[email protected]>
* Add FLASH option to pico_package_uf2_output

Allows passing FLASH instead of 0x10000000 (eg pico_package_uf2_output(hello_serial FLASH))

* Add `pico_ensure_load_map` function

* Update tools/CMakeLists.txt

* Remove FLASH option and just make PACKADDR optional
Ninja is pre-installed on all Windows runners
* Fix powman_timer_use_gpio

Fixes #2471

* Fix docs for clock_gpio_init etc for RP2350

You can also use gpios 13 and 15 on RP2350

* macro-ify the mapping from GPI to ext_time_ref_source - note i kept this private for now, as it's a bit murky

---------

Co-authored-by: graham sanderson <[email protected]>
* Add WeAct RP2350B Core board support.

* Update to new format.
* add missing libraries to test/kitchen_sink and auto-gen includes

* bazel fix
* add gpio_to_gpout_clock_handle to encapsulate GPIO->gpout mapping

* oops; wrong parenthesis placement
* Default to allocating spacer sections (stack & heap), with PICO_CRT0_ALLOCATE_SPACERS config option to disable the behaviour

* Add pico_check_linker_script function to check for compatibility of custom linker scripts

* tweak error message

---------

Co-authored-by: Graham Sanderson <[email protected]>
* Update mainpage.md

Re-wrote to be in line with style guidance and to be easier to read.

* Changed "adjust" to "refine" (previously "fine-tune").

* Updated first paragraph of the "SDK design" section.

* Minor fixes

* Minor grammatical updates

* Changed "adjust and refine" to "tweak"
* miscellaneous cleanup:

* cleanup some #ifdefs which were slightly hacky when RP2350 was added; use HAS_ flags in preference to PICO_RP2040/RP2350
* make some dependencies more explicit - i.e. compile if the user doesn't want to include certain libraries
* cleanup some directory A -> directory B relative path names in CMakeLists.txt to be SDK root -> directory B
* hardware_flash: preserve QSPI pad state over flash access calls.

Add new function, flash_start_xip(), which explicitly performs a
first-time XIP setup (including initialising pads). This is mostly
useful for PICO_NO_FLASH=1 binaries where there is actually an attached
external flash.

Fixes #2333

* Address review comments
* Update and expand docs/weblinks_page.md

* Add link to RM2 datasheet too

* Updated shortlinks
* Improve error code description for some cyw43 connection methods

Fixes #2564

* Apply suggestions from code review

Put error description on separate lines for clarity.

Co-authored-by: Andrew Scheller <[email protected]>

---------

Co-authored-by: Andrew Scheller <[email protected]>
* Improve rom_pick_ab_update_partition docs

* Some review fixups

Add more `\ref`s and tidy up wording

* Move function docs next to rom_pick_ab_partition

* Add \return to rom_pick_ab_partition docs

* Rename rom_pick_ab_update_partition -> rom_pick_ab_partition_during_update and replace "call"
…nished before async_context cleanup finishes (#2587)
* Improve pico_use_wifi_firmware_partition docs

* Replace assert with hard_assert

Fixes compilation warning about unused ret variable in release builds

* firmware -> wifi_firmware

* Maybe improve wording?

* Clarify TBYB, and add `-ux` to firmware load
* add some doxygen to hard_assert

* typo

Co-authored-by: Peter Harper <[email protected]>

---------

Co-authored-by: Peter Harper <[email protected]>
@andygpz11 andygpz11 closed this Jul 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.