* Platform updates
- Add PICO_RP2040=1 to rp2040 builds
- Add new PICO_RP2040_B0/1/2_SUPPORTED macros and retailer chip specific code to use
- Add doxygen to platform.h
- Make pico.h includable from assembly (because header order is important and tricky) - split out platform_asm.h
- Switch to using PICO_RP2040_B0_SUPPORTED in board headers
mutex_t and mutex_ are reverted to non recursive versions (pre SDK1.2.0) and new recursive_mutex_t and recursive_mutex_ functions have been added
PICO_MUTEX_ENABLE_SDK120_COMPATIBILITY flag has been added to allow old SDK1.2.0 compatibility (i.e. mutex_t can be used recursively or not) but this is slower (and is will be removed in a future version)
* Add missing DREQ_s
* store actual clock frequency in clock_configure (fixes#368)
* use dma DREQ values defined in dreqs/dma.h
* Fix hw_is_claimed, and add xxx_is_claimed APIs
* Add some PIO irq helper methods
* Add DMA channel IRQ status getter and clear methods
* Implement the correct PIO IRQ status/clear methods (good to have methods here as the h/w interrupt registers are super confusing)
* fix pico_multicore dependencies
* add missing wrapper func __aeabi_f2d
* Further DMA/PIO IRQ API cleanup (and review fixes)
* add PICO_INT64_OPS_IN_RAM flag
Fixes the following warning when building for host
```
[...]/pico-sdk/src/common/pico_time/time.c: In function 'alarm_pool_dump_key':
[...]/pico-sdk/src/common/pico_time/time.c:282:15: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
printf("%ld", to_us_since_boot(get_entry(pool, id)->target));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%I64d
```
I'm using this in my program to get a better idea of how many entries I
need to allocate to avoid blocking or losing data, and to debug performance
issues.
- Add recursive_mutex
- Make all locking primitives and sleep use common overridable wait/notify support to allow RTOS
implementations to replace WFE/SEV with something more appropriate
- Add busy_wait_ms
* Change some cmake output to DEBUG level
Make SDK build more consistent with other libraries (use an INTERFACE marker library for inclusion tests)
Add PICO_SDK_PRE_LIST_FILES, PICO_SDK_POST_LIST_FILES build vars
* fix typo
* remove leftover debugging message
* pico_stdio_usb: be more explicit about includes, fix warning (#257)
* pico_base: NDEBUG backwards for absolute_time_t (#255)
* pico_util: missing extern C in queue.h (#249)
* build: remove -march which was masking -mcpu, now SVC available (#253)
* Add documentation for gpio_irq_callback_t and rtc_callback_t (fixes#175)
* Hook up pico_binary_info and pico_bootsel_via_double_reset to the Doxygen index
* Add link to new Raspberry Pi Pico FAQ
* Consistently add parentheses for \sa or \see links to function-names
* Use consistent capitalisation for 'GitHub'
* Small typos and markup errors
* Board definition header files for the iniital set of SparkFun rp2040 boards
* Add default PICO_DEFAULT_I2C*, allow no PICO_DEFAULT_LED_PIN, no PICO_DEFAULT_UART* (instead of -1)
Fixup SparkFun headers
* Pimoroni board headers
* Add LED related board defines PICO_CONFIGs (to pico_stdlib for now)
* more board config changes
* add Adafruit feather, itsybitsy, qtpy board headers
* add PICO_DEFAULT_WS2812_POWER_PIN define
* MOSI/MISO -> TX/RX, some UART cleanup.. make vgaboard.h defines take preference over pico.h ones
* local change to tinyusb to cope with no default LED or UART
* fix review issues
Co-authored-by: Kirk Benell <github-stuff@accvec.com>
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
Co-authored-by: hathach <thach@tinyusb.org>
- setting baud rate to magic value (default=1200) will cause a reset to BOOTSEL mode
- a VENDOR interface along side the CDC interface can be used to reset via refular flash boot, or into
BOOTSEL mode with control for the reset_usb_boot parameters for the latter
either method can be configured/enabled/disabled via #define
* use valid_params_if macro for lock assertion
* fixup param checking in pwm.h
* Fix range of fractional divider parameter check in pwm.h
Co-authored-by: Luke Wren <wren6991@gmail.com>
In C, func() is a function taking an unspecified number of arguments,
vs func(void) a function taking no arguments. In C++ both forms indicate
"no arguments."
Update these headers to use the (void) form, which is correct in both
languages and avoids complaints when -Wstrict-prototypes is specified.