Commit graph

1265 commits

Author SHA1 Message Date
Graham Sanderson
41a7c39f6b
Apply suggestions from code review
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2026-03-05 15:36:58 -06:00
Graham Sanderson
bcbbc09430
comment fix 2026-03-05 15:36:09 -06:00
graham sanderson
d2dc01989e more rationalization of constant names
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Board Headers / check-board-headers (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
2026-03-02 14:49:03 -06:00
Andrew Scheller
3cd9c87f96 Remove duplicated defines from bootrom.h
See #2619 for rationale
2026-03-02 14:30:12 -06:00
martijn
33c01e9531
Update CMakeLists.txt (#2711) 2026-03-02 13:40:59 -06:00
Andrew Kohlsmith
9fce82f9d8
remove guards that disable sdio_usb when tinyusb_host is linked in (#2764)
* remove guards that disable sdio_usb when tinyusb_host is linked in; it works just fine

* implement better guards
2026-03-02 13:34:25 -06:00
Nephtaly Aniceta
3f1ab22951
Update pico-examples link for Bluetooth documentation (#2828)
Updated broken link
2026-03-02 19:23:54 +00:00
Andrew Scheller
ab51a83a3a
Rename pio_claim_free_sm_and_add_program_for_gpio_range's gpio_base parameter to gpio_start (#2831)
in order to avoid confusion with pio_set_gpio_base's gpio_base parameter
2026-03-02 13:17:15 -06:00
Andrew Scheller
0ff0974c0a
Change a couple of hardcoded numbers to PIO_INSTRUCTION_COUNT for clarity (#2832)
* Change a couple of hardcoded numbers to PIO_INSTRUCTION_COUNT

for clarity

* fix sign-compare warning
2026-03-02 13:15:58 -06:00
Michel Le Bihan
0da73ec045
Correct Seeed XIAO RP2350 flash size from 4MB to 2MB (#2837)
Fixes #2834
2026-03-02 13:13:59 -06:00
armandomontanez
6262b49c74
[bazel] Run buildifier on Bazel build files (#2825)
Some checks are pending
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Waiting to run
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Waiting to run
Bazel presubmit checks / other-bazel-checks (push) Waiting to run
Check Configs / check-configs (push) Waiting to run
CMake / build (push) Waiting to run
Build on macOS / build (push) Waiting to run
Build on Windows / build (push) Waiting to run
This is an automated change with the following commands:

$ find . -name "BUILD.bazel" -o -name "*.bzl" \
  -exec buildifier -lint=fix {} \;

* Add missing `load()` statements for things provided by @rules_cc. This
  is required for Bazel >9.
* Sort attributes on build targets.
* Add missing trailing commas where applicable.
2026-03-02 10:24:17 +00:00
Andrew Kohlsmith
a1e9cf05b2
fix panic message in multicore_doorbell_claim_unused
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2026-02-07 20:17:23 -06:00
Andy Lin
abd7c9ad2a
Fix RP2040 crash with PICO_*_IN_RAM and NaN propagation (#2772)
``__check_nan<f|d><1|2>`` is hard-coded into ``.text`` instead
of being wrapped with ``<double|float>_section`` like other
``__aeabi*`` functions. When those functions are moved to SRAM,
this leaves ``__check_nan*`` in flash, causing GCC to emit a veneer
call that clobbers ip and corrupts the saved ``lr`` in
``wrapper_func_<d|f><1|2>``.

Fixes #2771

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-02-07 20:15:48 -06:00
Andrew Scheller
dc4be9c54e
ADC FIFO depth is the same on both RP2040 and RP2350 (#2806)
Both chips have "8 element receive sample FIFO"
2026-02-07 20:12:11 -06:00
Graham Sanderson
218603253b
make host hardware_ libraries depend on hardware_claim too as it was moved to common in 2.0.0 (#2786) 2026-02-07 20:02:16 -06:00
FLyrfors-MI
e7aed3261b
Correct printf format in pheap.c (#2814)
See #2813
2026-02-07 15:26:00 -06:00
will-v-pi
1ed42558a5
Fix Risc-V binaries when pico_float_none is set (#2800)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2026-02-03 17:38:34 -06:00
Jaylon Gowie
9c6713a8ed
Change PICO_SD_DAT3_PIN from 8 to 9 (#2769)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Board Headers / check-board-headers (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Pin 8 is for PSRAM Chip Select, not SD card. This seems to be an oversight
2026-01-07 17:05:13 -06:00
Andy Lin
6ec9ea0657
Add WeAct RP2350A core board V10 (#2777)
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-01-07 17:04:36 -06:00
Romain
e316b9b6f9
Fix typo in gpio.h (#2705)
Align the comments and documentation with the correct constant name
2026-01-07 16:29:17 -06:00
Disappear9
9437573186
Add board definition for nologo RP2350 USB (#2767)
* Add header for nologo_rp2350_usb board configuration

* Remove PICO_SMPS_MODE_PIN definition

Removed definition for PICO_SMPS_MODE_PIN.

* Update nologo_rp2350_usb.h
2026-01-07 16:27:45 -06:00
Richard Hulme
52d3592d41
Add missing dependency to hardware_timer in host-mode pico-platform (#2734)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Fixes #2733
2026-01-05 17:11:12 -06:00
Petr Hosek
1cc19a2130
Omit semicolons after _Pragma directives (#2780)
These are not statements and shouldn't be terminated by semicolons; in
newer versions of Clang separating these by semicolons results in a
build error.

We can also further simplify `remove_volatile_cast` by using the comma
operator and avoiding the reliance on non-standard GNU extensions.
2026-01-05 16:56:29 -06:00
madh4tter
9ecafe71d1
Multicore documentation fix (#2703)
* Multicore documentation fix

* Update src/rp2_common/pico_multicore/include/pico/multicore.h

Co-authored-by: Andrew Scheller <lurch@durge.org>

---------

Co-authored-by: TITLEY\adam.nelson <adam.nelson@titley-scientific.com>
Co-authored-by: Andrew Scheller <lurch@durge.org>
2026-01-05 16:55:13 -06:00
graham sanderson
578dabb60b fix host build error of pico_stdlib_test caused by recent host changes 2026-01-05 16:23:09 -06:00
Petr Hosek
f600a5bd9e
Update the localtime_r declaration for LLVM libc (#2775)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Waiting to run
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Waiting to run
Bazel presubmit checks / other-bazel-checks (push) Waiting to run
Check Configs / check-configs (push) Waiting to run
CMake / build (push) Waiting to run
Build on macOS / build (push) Waiting to run
Build on Windows / build (push) Waiting to run
Check Board Headers / check-board-headers (push) Has been cancelled
This is to match upstream declaration and avoid conflicting declaration
error. This declaration will be removed after the next Clang update
since LLVM libc now implements localtime_r but we keep the declaration
for now to allow soft transition for SDK users.
2026-01-05 12:09:55 -06:00
BlockListed
a3dbebb184
correct reference to rp2350 (#2762) 2026-01-05 11:48:08 -06:00
Andrew Scheller
8f5b574782
Add missing pio_encode_wait_jmppin function to pio_instructions.h (#2755) 2026-01-05 11:47:16 -06:00
Richard Hulme
6665319aad
Add pico_unique_id library to host platform (#2751)
Fixes #2750
2026-01-05 11:43:51 -06:00
Richard Hulme
9d1b3c691d
Add definition of PICO_NUM_VTABLE_IRQS to host build (#2749)
Fixes #2748
2026-01-05 11:41:58 -06:00
Richard Hulme
c0b8539242
Host GPIO improvements (#2737)
* Add empty 'check_gpio_param' to host GPIO

All the approriate gpio_xxx functions now call check_gpio_param.  This
provides an easy way for a project to add simple range checking by
defining a final version of check_gpio_param, which whatever error
mechanism it chooses if an invalid value is passed.

Refs #2736

* Declare all host GPIO functions weak

This allows them to be easily overridden by user code for testing
purposes.

Refs #2736

* Mark all parameters in host GPIO unused

This prevents lots of compiler warnings if the default warning level
is increased.

Refs #2736

* Add missing functions/types to host GPIO

Some RP2350 GPIO_FUNC_ enums don't match the values defined in the
rp2350 hardware header but the actual values shouldn't matter if only
the enums are used (i.e. no magic numbers).

Refs #2736
2026-01-05 11:40:37 -06:00
Richard Hulme
f37481723e
Fix incorrect Bazel dependency in host/hardware_irq (#2739)
Bazel configuration adds a dependency on hardware_claim in 'host' but
it doesn't exist there.  It's in 'common'.

Fixes #2738
2026-01-05 11:37:10 -06:00
Andrew Scheller
49451b38cb
Fix small Doxygen syntax-typos (#2730) 2026-01-05 11:31:08 -06:00
Peter Harper
5986b8386c
Set picotest_error_code in PICOTEST_CHECK_AND_ABORT (#2722)
Fixes #2721
2026-01-05 11:30:19 -06:00
Earle F. Philhower, III
2e3374ba37
Make private async_context_*_execute_sync static (#2679)
Fixes #2678

The FreeRTOS, Poll, and Threadsafe async_context implementations have
execute_sync functions that's set as a member of their
async_context_type_t struct for use by the user-visible async_context
API.  These implementation functions should not be accessible
by user code which chouls only use async_context_execute_sync and
not the low-lever async_context_{freertos,poll,threadsafe}_execute_sync
implementation.

Make these private functions static like the other low-level functions
in the async_context_type_t struct.
2026-01-05 11:23:41 -06:00
drewpo28
a9c381dc3f
Added Waveshare RP2350 PiZero board header (#2674)
Co-authored-by: Andrew Pochinchik <andrew.pochinchik@ftco.ltd>
2026-01-05 11:22:04 -06:00
m24goller09
a13f46a11e
Fixed multicore_doorbell_claim_under_lock (#2667) 2026-01-05 11:21:24 -06:00
will-v-pi
5c419dcfba
Add PICO_CONFIG entries for the metadata block configuration defines (#2671)
Includes rejigging it a bit, as the checking script requires #defines for all configs
2026-01-05 11:17:53 -06:00
Jérôme Hordies
645df1b99a
Add Raspberry Pi 500's RP2040 board support Fixes #2640 (#2641)
* Add Raspberry Pi 500 board support

- W25X10CL flash configuration for DSPI mode
- USB standalone operation support
- Complete GPIO pin documentation with keyboard matrix mapping
- Debug UART configuration on GP16
- Hardware-specific boot and power management settings

Tested with TinyUSB MIDI example - successful enumeration and operation.

* Correct Pi 500 board support: RP2040 chip, proper naming

- Rename to raspberry_pi_pi500_rp2040.h for clarity
- Correct chip type from RP2350 to RP2040
- Remove pico2.h inheritance, use self-contained definitions
- Add comprehensive GPIO pin mapping documentation
- Include critical power management warning
- Configure W25X10CL flash support for RP2040

* PICO_RP2040_B0_SUPPORTED can be changed to 0, since all Pi 500s are using RP2040 B2.

* Update Raspberry Pi 500 board support for minimal original intent.
- Fix mistake done in pico.h PICO_RP2040_B0_SUPPORTED 0 => 1
- Disable B0 support in pi500_rp2040
- Fix flash size 1M-Bit not 1Mb
- Add Matrix pin definition

* Fix flash size.
Add warning on GP19
Remove GP17

* Adding UART TX GP16

* Add Caps led as default led

---------

Co-authored-by: Jerome Hordies <jerome.hordies.ext@luminus.be>
2026-01-05 11:15:54 -06:00
Andrew Scheller
2b42302b42
Documentation tweak for pio_sm_set_pindirs_with_mask (#2693)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2025-12-29 14:26:37 -06:00
Miaou
193c70a262
Fix documentation group of critical_section_is_initialized (#2741) (#2742) 2025-12-29 14:22:27 -06:00
armandomontanez
a76f2416ba
Add fallback URLs for Bazel gcc toolchains (#2752)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Fixes #2747
2025-12-08 11:21:27 +00:00
armandomontanez
8fcd44a171
Forward declare __sev(), __wfe(), __wfi() (#2658)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
If the compiler in use offers __sev(), __wfe(), or __wfi(), forward
declare them to be sure they're available for use.
2025-09-15 13:14:08 -05:00
Andrew Scheller
6b395cce04
Fix pico_status_led to change the color of an already-on colored LED (#2632)
Partially fixes #2630, as it doesn't take care of the required delay between setting the LED
2025-09-15 13:09:21 -05:00
armandomontanez
87c9c013fe
More robust clobbering of ARM builtins on host (#2657)
Since ARM hosts have builtins listed in hardware/sync.h, these builtins
should be clobbered. Newer versions of LLVM/Clang emit an error when
clobbering these builtins, so this switches the overrides to use the
same patterns as pico_atomic to clobber the builtins.
2025-09-15 13:04:09 -05:00
Martin Budden
17b914418d
Fix unused parameter warning. (#2663) 2025-09-15 12:53:06 -05:00
Andrew Scheller
db75b67533
Fix Multicoore typo (#2661) 2025-09-15 12:23:26 -05:00
Earle F. Philhower, III
ad2f4143eb
Fix always-true comparison warning in pio_insn (#2608)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
The sideset_bit_count in pio_encode_sideset_opt is unsigned, so any comparison
"sideset_bit_count >= 0" will always be true.  GCC with pedantic warnings
will complain when this happens.

Remove the unneeded >=0 portion of the parameter validity check.

Fixes #2607
2025-09-10 10:18:22 -05:00
Rainer Keller
4e1371f5fa
Update instructions.h (#2647)
Fix copy-paste-error. With RP2350's Hazard3 should never show up, but anyway.
2025-09-10 10:17:10 -05:00
Rainer Keller
d581553414
Correct two typos (#2648)
* Update sha256_alt.h

Fix trivial copy-paste error in comment

* Update README.md

Another small typo in documentation
2025-09-10 10:16:54 -05:00