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.
* 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
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.
* 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>
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.
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
* Update docs, and add methods for new RP2350 dma_transfer modes
Update docs, and add methods for handling reversed/double-increment DMA
* Apply suggestions from code review
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* more review fixes
* add typedefs and rename dma_channel_config to be consistent
* Apply suggestions from code review
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* Apply suggestions from code review
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
---------
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* add some doxygen to hard_assert
* typo
Co-authored-by: Peter Harper <77111776+peterharperuk@users.noreply.github.com>
---------
Co-authored-by: Peter Harper <77111776+peterharperuk@users.noreply.github.com>
* 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"
* 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 <lurch@durge.org>
---------
Co-authored-by: Andrew Scheller <lurch@durge.org>