Commit graph

68 commits

Author SHA1 Message Date
Jan Niehusmann 6026ea4ae3
Allow to start multiple state machines in sync (#301)
* add example of synchronized PIOs

* Synchronize state machines using WAIT IRQ instruction

* Use "irq wait 0" instead of "wait 1 irq 0"

This way, the initial value of the interrupt flag doesn't matter

* Start state machines synchronized without IRQ WAIT instruction

* Improve API

Co-authored-by: Andrew Straw <strawman@astraw.com>
2022-03-18 20:55:31 +11:00
9names b81955c2a8
Prep for 0.4.0 release (#312)
* Update changelog for 0.4.0 release

* Enable rt feature for irq example in Cargo.toml

* Bump pio/pio-proc deps to 0.2.0, update pio examples

* Update BSPs to latest ws2812-pio, remove unused pio dep

* Fix usage of pio_proc in doc comment

* Clean up pio doc-example

* Update rp-pico to latest i2c-pio

Co-authored-by: Jan Niehusmann <jan@gondor.com>
2022-03-11 22:37:34 +11:00
9names 8063882801
Add note about #[interrupt] mut -> &mut transform
Co-authored-by: Jan Niehusmann <github@gondor.com>
2022-02-16 22:48:52 +11:00
9names 35875c8756 Store pins together in a tuple to reduce boilerplate 2022-02-15 20:17:18 +11:00
9names 44a9b0f541 Add GPIO interrupt example 2022-02-14 22:47:46 +11:00
Jonathan 'theJPster' Pallant 8bdecd2058
Merge pull request #283 from Sizurka/rom-functions
Improve ROM function access
2022-02-04 09:53:59 +00:00
Derek Hageman a6daaf9fa3 Standardize ROM function access
Make all ROM functions (normal and floating point) provide both a direct
call that does the operation and a module with a ptr() function to get
the function pointer.
2022-02-03 13:32:18 -07:00
Andrew Straw cd15d268f6 run 'cargo fmt' 2022-02-02 22:10:39 +01:00
Andrew Straw a1ed9ef93c example of side setting using PIO 2022-02-01 11:09:09 +01:00
Jan Niehusmann a9763837a9 Add comment regarding release mode 2022-01-28 22:18:32 +00:00
Jan Niehusmann f6b2e3365e use dht-sensor crate and fix comments 2022-01-28 21:36:30 +00:00
Jan Niehusmann bb6b7706f9 Add dht11 example 2022-01-28 19:44:26 +00:00
9names c8b75204ee Use .freq() to avoid moving clock 2022-01-20 18:28:51 +11:00
Jonathan Pallant 7da16a726f Fixing typos spotted in the review. 2021-12-26 19:39:16 +00:00
Victor Koenders 86444448a4
Migrated examples to the new uart system 2021-12-25 09:46:40 +01:00
9names 427344667e
Add basic multicore FIFO example (#226)
* Add basic multicore fifo example

* Add documentation for multicore

* Send system_clock frequency to core1 over FIFO in example

* Add Stack::new() to HAL. Use Stack::new() in example
2021-12-08 19:34:39 +11:00
Jonathan 'theJPster' Pallant b94a5ab885
Merge pull request #232 from jannic/refactor-uart-init
Refactor uart init
2021-12-05 18:02:44 +00:00
9names dc8ceffd09 Move uses of sio::Sio to Sio 2021-12-04 16:20:27 +11:00
Jan Niehusmann 26fa532fa3 Refactor Uart initialization 2021-12-03 21:24:50 +00:00
9names 55a8b4acf9 Re-export mod structs 2021-12-04 00:04:45 +11:00
Wilfried Chauveau 2eb7923ebe
Implements methods to allow presetting the pin state & direction (#167)
* Implements methods to allow presetting the pin state & direction

Enabling those methods allows to save a few valuable instructions
in the PIO's memory.

* Update pio_proc_blink with new set_pindirs
2021-10-22 21:13:22 +11:00
Jonathan Pallant (42 Technology) e48323c983 Ah, missed one after the rebase. 2021-10-18 10:58:38 +01:00
Jonathan Pallant (42 Technology) 8e66ddcfb1 Switch to new rp2040-boot2 crate. 2021-10-18 10:53:17 +01:00
Jonathan Pallant (42 Technology) e1afb70bd2 Moved float and double functions into modules.
Makes the docs cleaner.
2021-10-11 16:37:16 +01:00
Jonathan Pallant (42 Technology) 64207a62e5 Add comment to calc_delta function as it's non-obvious. 2021-10-11 16:22:11 +01:00
Jonathan Pallant (42 Technology) f56369e1c7 Add example which uses the ROM functions 2021-10-11 15:45:44 +01:00
Mathias Gottschlag 207f5aebdb pio: Split RX and TX FIFO functions into different types.
We need separate types for any blocking or DMA operations - otherwise, it
would not be possible to perform both RX and TX transfers at the same time.
2021-09-30 09:07:15 +02:00
Mathias Gottschlag 684f483859 pio: Improve documentation and add an example that uses pio_proc::pio!(). 2021-09-28 21:48:05 +02:00
Jonathan Pallant da89888ccb
Merge pull request #137 from 42-technology-ltd/ensure-hal-examples-non-board-specific
Working on README and examples
2021-09-28 10:46:42 +01:00
Jonathan Pallant (42 Technology) fc0075a381 Addressing review comments. 2021-09-28 09:26:31 +01:00
Jonathan Pallant (42 Technology) 0beedde69b Ugh. Thanks, rustfmt. 2021-09-27 19:03:07 +01:00
Jonathan Pallant (42 Technology) d251627e47 Make trait comments more consistent. 2021-09-27 19:01:46 +01:00
Jonathan Pallant (42 Technology) 8876159687 Ah, rustfmt. 2021-09-27 18:58:16 +01:00
Jonathan Pallant (42 Technology) c04f439020 Polish the watchdog example. 2021-09-27 18:57:19 +01:00
Jonathan Pallant (42 Technology) b005128a73 Oh, make sure uart example actually builds. 2021-09-27 18:57:10 +01:00
Jonathan Pallant (42 Technology) 7e03772687 Polish the UART example. 2021-09-27 18:52:13 +01:00
Jonathan Pallant (42 Technology) b894ab9ce7 Cleaning up. 2021-09-27 18:43:01 +01:00
Jonathan Pallant (42 Technology) 225eabb449 Use peripheral clock to describe the clock signal given to peripherals. 2021-09-27 18:42:36 +01:00
Jonathan Pallant (42 Technology) 17afa25d2a Polish PWM blink example. 2021-09-27 18:37:29 +01:00
Jonathan Pallant (42 Technology) b370bb5270 Polish SPI example. 2021-09-27 18:37:20 +01:00
Jonathan Pallant (42 Technology) 0336458344 Update LCD example. 2021-09-27 18:14:54 +01:00
Jonathan Pallant (42 Technology) b7acc7c373 Polish I2C example. 2021-09-27 17:30:29 +01:00
Jonathan Pallant (42 Technology) 193972bb9f Polish GPIO example. 2021-09-27 17:30:18 +01:00
Jonathan Pallant (42 Technology) d5a07bc398 Remove hard coded clock speed from blink example. 2021-09-27 17:30:06 +01:00
Jonathan Pallant (42 Technology) 07c183a636 Remove hard coded clock speed from ADC example. 2021-09-27 17:29:50 +01:00
Jonathan Pallant (42 Technology) b0bcbe68d8 Update blinky example. 2021-09-27 14:47:25 +01:00
Jonathan Pallant (42 Technology) ed27dc9949 Update ADC example. 2021-09-27 14:42:19 +01:00
Jan Niehusmann fbe2a8834f Update comment on top of pio_blink.rs 2021-09-27 12:36:23 +00:00
Jan Niehusmann c93ea0b97c Update comments in examples/pio_blink.rs 2021-09-26 13:51:48 +00:00
Jan Niehusmann b79f859d72 Add a simple example for PIO. 2021-09-25 13:22:13 +00:00