Commit graph

47 commits

Author SHA1 Message Date
Andrew Scheller
abe69a62c3 Add (and use) 32-bit version of check_pio_pin_mask64 2025-08-07 18:29:46 +01:00
Andrew Scheller
65c17547b2 Check for parameter underflow when PIO_USE_GPIO_BASE is in use 2025-08-07 18:22:30 +01:00
Luke Wren
175abe7315
Clarify pio_gpio_init doxygen (fixes #2387) (#2574)
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-07-18 15:51:36 +01:00
Andrew Scheller
5912699dd0
Lots of small doxygen fixes (#2390) 2025-04-04 11:39:39 -05:00
Graham Sanderson
ccbd07c758
add extra assertions to pio.h (#2211)
* add extra assertions to pio.h

* add another assert

* minor clarifications
2025-02-03 11:25:03 -06:00
Graham Sanderson
f0a1ff3c03
Fixes for/found by documentation generation (#2099)
* fix errors breaking extra_[cmake_]configs.py
* remove trailing whitespace which is confusing asciidoctor
* fix rp2xxx-specific -> rp2xxx_specific
* add missing xip_cache funcs to the combined docs
* Revert "fix errors breaking extra_[cmake_]configs.py"
* Fix typo in #define name
* Allow optional whitespace at the start of "commented out" config lines

Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2024-11-25 12:30:55 -06:00
Graham Sanderson
39a7f97116
Cleanup/clarification of PIO behavior with >32 pins (#2085) 2024-11-22 13:13:15 -06:00
Graham Sanderson
6bb44dd07d
Make all float->int/frac conversions round to nearest by default (#2065)
* making pio_calculate_clkdiv8_from_float round to the neareset 1/256 (not lower 1/256)

* chage rounding of all float clkdivs to round to neareset; default to nearest (which is a backwards incompatible change, but I think OK), and add ability to turn it off

* fix copy/paste errors in PICO_CONFIG

* Calculate size of FRAC field using its own MSB and LSB, rather than hoping that INT_LSB is in the right place

* Add a new REG_FIELD_WIDTH macro, and make the calculation of the clock-dividers more consistent

---------

Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2024-11-21 16:48:33 -06:00
Peter Harper
54d4f3a8f7
Add some missing pio functions (#2074)
Adds some 64 versions to work with rp2350b and more than 32 pins.
Change cyw43 code to use the new function.

Fixes #1834
2024-11-20 16:38:05 -06:00
Andrew Scheller
2a4dbd9b7c
Small comment typo (#2064) 2024-11-20 10:44:50 -06:00
Earle F. Philhower, III
5f6c432806
Fix minor uninitialized warnings from G++ 12.3.0 (#1786)
Use empty initializer list for struct clearing, avoiding a pedantic
warning from G++ 12 and 14.

Fixes #1785
2024-11-19 13:42:46 -06:00
Graham Sanderson
06b7c1cf9e
Change div_int_frac methods to be suffixed by the number of bits of fraction e.g. div_int_frac8 (#1926) 2024-11-12 11:18:42 -06:00
Hugh Nixon
98c114a8ee
Updated hardware/pio.h to correct the comment for the third (PIO 2) hardware PIO instance (#2004) 2024-11-04 13:11:46 -06:00
Andrew Scheller
b98970f71e
PIO doxygen typo (#1894) 2024-09-01 09:31:41 -05:00
Graham Sanderson
91864a0d6e
fix bug in sm_config_set_in_pin_count (#1880)
* fix bug in sm_config_set_in_pin_count

* comment updates
2024-08-29 11:17:06 -05:00
Andrew Scheller
d639292fea
Update extract configs (#1845)
* Update config-extraction scripts to work with multiple chips

* Standardise wording between common options

* Various config-related fixes

* Update pico_rand to use correct busctrl_hw struct-name

* Don't start config descriptions with "The ..."
2024-08-27 11:11:42 -05:00
graham sanderson
efe2103f9b SDK 2.0.0 release 2024-08-08 08:54:38 -05:00
Nellie McKesson
b27f13b83b
reformatting doxygen comment markup (#1660) 2024-03-22 09:09:44 -05:00
Graham Sanderson
88bc4f974c
cleanup header guard names to be consistent (#1179) 2023-01-18 08:40:10 -06:00
Jonathan Reichelt Gjertsen
587ac803c5
Avoid compound assignment with volatile left operand as described in #1017 (#1018)
also move to use of hw_set_bits where appropriate
2022-10-16 17:24:23 -05:00
David Thacher
89bce613ae
Remove hw_set_bits from pio->irq (#978)
It is not known if this is required. This is done for consistency purposes. Related to #974
2022-08-18 08:14:40 -05:00
Graham Sanderson
b2ad632c24
Minor additions to PIO documentation (#831) 2022-05-17 13:04:38 -05:00
Andrew Scheller
3c450011da
Additional param-validation for PIO (#805)
The RP2040 datasheet says "If INT is 0, FRAC must also be 0."
2022-05-04 15:25:43 -05:00
Andrew Scheller
c66a2c1c3b
Remove implicit grouping for PIO defines (#779) 2022-05-03 11:46:10 -05:00
Andrew Scheller
6619a2d329
Typo (#799)
Remove superfluous apostrophes in Doxygen comments
2022-05-03 11:34:46 -05:00
Akiyuki Okayasu
ae7ef546a6
Fix typo in Doxygen comment (#731) 2022-02-14 12:03:47 -06:00
Maarten Vanraes
a8fa19a74d
pio_set_irqn_source_mask_enabled() sets wrong irq (#655)
if irq_index == 0, irq_index evaluates to false; which uses pio_set_irq1_source_mask_enabled() ; and vice versa
2021-11-12 07:51:29 -06:00
Graham Sanderson
f808b5f2dc
Add DREQ methods for PWM/SPI/UART/I2C (#603) 2021-10-12 16:04:16 -05:00
Matias Silva
3c53029c24
Fix some typos (#517) 2021-10-04 13:29:22 -05:00
Graham Sanderson
5afa3636d6
Small API additions and minor fixes (#406)
* 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
2021-06-02 13:12:27 -05:00
Rene
6994a3858d
-some typo fixes (#408)
-small consistency changes
2021-05-24 16:56:56 -05:00
Graham Sanderson
92f948c123
Make kitchen_sink check param assertions, and include all headers - fix sign-compare warnings (#316) 2021-04-06 20:50:26 -05:00
Andrew Scheller
0c941d9767
Tweaks to PIO clkdiv-setting code (#254)
- refactor to reduce duplication
 - add extra param-validation
2021-03-24 09:32:38 -05:00
Andrew Scheller
fc17f880fd Lots of Doxygen tweaks and fixes (#212)
* 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
2021-03-04 21:22:48 -06:00
Graham Sanderson
7ee36e3328 Rationalize board header pin defines, and add partner board headers (#192)
* 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>
2021-03-04 21:22:48 -06:00
Andrew Scheller
6b2c249961 Also check enum params and doxygenise pio_mov_status_type 2021-03-04 21:22:48 -06:00
Andrew Scheller
786be7524a Extra param-checking for hardware_pio library (switch asserts to valid_params_if, and add additional checks) 2021-03-04 21:22:48 -06:00
graham sanderson
503bc8b385 Fixup another level of compiler warnings, add _U() definition 2021-03-04 21:22:48 -06:00
Graham Sanderson
6f94f6a3d7 Add -Wuninitialized -Wunused -Wcast-align to warnings checked by kitchen_sink (and fixup warnings) (#125) 2021-03-04 21:22:48 -06:00
Luke Wren
a59fd524d5 Reword some confusing terms in pio.h doxygen 2021-03-04 21:22:48 -06:00
Luke Wren
6f7c539062 oops 2021-03-04 21:22:47 -06:00
Luke Wren
24e036bde0 Fix bad range check on sideset count in pio.h 2021-03-04 21:22:47 -06:00
Luke Wren
539270feca pio.h doxygen fixes and clarifications (closes #114) 2021-03-04 21:22:47 -06:00
Luke Wren
2a243a33e2 Fix -Wsign-compare warnings 2021-03-04 21:22:47 -06:00
Brian Swetland
a362925eda Clean up various C source and headers to appease -Wstrict-prototypes
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.
2021-03-04 21:22:47 -06:00
Luke Wren
7872969915 Remove copy/pasted return from doxygen 2021-02-01 14:46:45 -06:00
graham sanderson
26653ea81e Initial Release 2021-01-20 10:44:27 -06:00