Commit graph

62 commits

Author SHA1 Message Date
Jonathan Pallant
ffffa7368a Set button as pull-up. 2021-11-16 22:47:30 +00:00
Jonathan Pallant
ac88d89939 Fix-up the examples and BSPs.
On the Pico Lipo GPIO23 is actually the boot mode select switch.
2021-11-16 22:46:35 +00:00
Jonathan Pallant
cc612b89fd GPIO23 actually controls the 'power save' function on the SMPS.
If GPIO23 is low, the power supply is in low-power mode. But it
generates some noise. If GPIO23 is high, the power supply is less
efficient, but it generates less noise too.
2021-11-16 22:46:35 +00:00
Wilfried Chauveau
c396423474
pin ws2812-pio to a specific sha (#195)
This will help future update of the driver without breaking rp-hal's main
branch.
2021-11-10 21:50:16 +11:00
Wilfried Chauveau
990d964a93
Implement peripheral support for i2c and an advanced example (#162)
* Implement peripheral support for i2c and an advanced example for the pico board.

* Simplify i2c peripheral bootstrap and add a "free" function to allow switching modes.

* Set dependency to futures & nostd_async to specific version/revision.

* move enum & struct to the start of the file

* Add a bit of documentation to the pico_i2c_controller_peripheral demo.

* Migrate to pico_i2c_controller_peripheral to embassy & simplify the peripheral support

nostd_async is broken since last stable roll out.
The pico_i2c_controller_peripheral is being migrated to use embassy's executor.
The Controller Async API is now aligned with embassy's traits to facilitate integration.

The peripheral no longer require async to run and now appears as an event iterator.

Embassy's support relies on unstable features (generic_associated_types and type_alias_impl_traits)
and is therefore gated behind the `embassy-traits` feature flag.

* make futures & embassy optional for the pico board too

* Pin embassy to a specific rev.

* Impl embassy_traits::i2c::WriteIter & enable unlimited transfer size on i2c

* Applies comment suggestion from @9names for the advanced i2c example.

Co-authored-by: 9names <60134748+9names@users.noreply.github.com>

* use `I2C block` instead of `IP`.

* Fix formatting (unnecessary space at end of line)

* Enhance explanation for why `rd_req()`  is not cleared in `Iterator::next`'s
implementation.

Co-authored-by: 9names <60134748+9names@users.noreply.github.com>
2021-11-08 23:23:28 +11:00
Andrew Christiansen
612c44db46
Adafruit ItsyBitsy RP2040 Board Support Package (#192)
* Created an itsy bitsy rp2040 board support package adapted from the bsp of the qt py rp2040. Special thanks to ithinuel for help in matrix

* Changed the board description so it doesn't match the qt py rp2040

* Changed blinky.rs to itsy_bitsy_blinky.rs and ran changes through cargo fmt
2021-11-08 09:19:35 +11:00
Wilfried Chauveau
46e580b852
Adds an example of using the PIO as I2C driver to control an LM75B temperature sensor (#180)
* Add pico_i2c_pio example

* Update pico_i2c_pio's main function documentation

* Update bootloader reference.

* Implement uart output for the pico_i2c_pio example.

* pin to a specific rev of i2c-pio

* Bump i2c-pio to get the fix for write_read
2021-10-23 22:45:13 +11:00
Jonathan Pallant (42 Technology)
8e66ddcfb1 Switch to new rp2040-boot2 crate. 2021-10-18 10:53:17 +01:00
Wilfried Chauveau
c8609e9ef1 Update WS2812 usage after PIO api's breaking change. 2021-10-02 20:05:22 +10:00
Stephen Onnen
800f71a1b8 Implement QT Py BSP with example 2021-10-02 17:42:03 +10:00
9names
666b22f56b
Update example feather_neopixel_rainbow.rs with new Timer syntax (#148) 2021-10-02 16:03:36 +10:00
Jordan Williams
82dfd8e2cc Add an example using the Feather RP2040's onboard NeoPixel
This uses PIO just like the Pro Micro does.
2021-10-02 15:46:09 +10:00
Alexander Meißner
90470b6ff3
Adds reset for timer, otherwise it would not run. (#136) 2021-10-02 15:41:04 +10:00
Jonathan Pallant (42 Technology)
fc0075a381 Addressing review comments. 2021-09-28 09:26:31 +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)
c531eb976e Say nothing about the default input clock frequency - it's given! 2021-09-27 18:37:59 +01:00
Jonathan Pallant (42 Technology)
29dd755b30 Ensure the bootloader static gets documented. 2021-09-27 17:30:50 +01:00
Jan Niehusmann
389e0ea715 fix pico_usb_twitchy_mouse with usbd-hid >= 0.5.1
usbd-hid 0.5.1 contained an accidental semver breaking change

fix example accordingly
2021-09-25 20:33:31 +10:00
MGlolenstine
87b29bf9f4 Fixed a formatting typo 2021-09-25 00:53:30 +10:00
9names
b0c15ccc77
Update changelog and bump verson for hal release 0.3.0 (#121)
* Update CHANGELOG.md and Cargo.toml for release 0.3.0

* Bump BSP hal dep version
2021-09-22 20:43:30 +10:00
Jonathan Pallant (42 Technology)
cbff22b911 Fix the pico lipo example. 2021-09-21 16:38:03 +01:00
Jonathan Pallant (42 Technology)
1e6d14abb0 Correct typo. 2021-09-21 16:18:19 +01:00
Jonathan Pallant (42 Technology)
43a22e6e42 Add Feather RP2040 README 2021-09-21 16:17:51 +01:00
Jonathan Pallant (42 Technology)
34687a2ebe Add Adafruit Macropad README 2021-09-21 16:17:35 +01:00
Jonathan Pallant (42 Technology)
efe32e627f Add Pico Explorer README 2021-09-21 16:17:24 +01:00
Jonathan Pallant (42 Technology)
bc68ee32fb Add Pimoroni Pico Lipo README and example. 2021-09-21 16:17:14 +01:00
Jonathan Pallant (42 Technology)
f0fc4ed3ad Typo in comments. 2021-09-21 12:43:16 +01:00
Jonathan Pallant (42 Technology)
25d87b838b Good ol' clippy. 2021-09-21 12:42:34 +01:00
Jonathan Pallant (42 Technology)
b89e728e9c Polishing the USB interrupt examples.
Answers on a postcard please on how to avoid `static mut` when you have
lazy initialization, and static objects holding references to other
static objects.
2021-09-21 12:37:44 +01:00
Jonathan Pallant (42 Technology)
ba6c409f21 Update non-IRQ USB example. 2021-09-21 10:54:13 +01:00
Jonathan Pallant (42 Technology)
35f001f61d Polishing the PWM and USB examples. 2021-09-21 10:47:43 +01:00
Jonathan Pallant (42 Technology)
3e036cf9b0 Polishing the blinky examples. 2021-09-21 10:03:47 +01:00
Jonathan 'theJPster' Pallant
dc42c714e1
Merge pull request #126 from 42-technology-ltd/update_pico_docs
Update Pico BSP docs
2021-09-21 09:28:28 +01:00
Jonathan Pallant (42 Technology)
8d4407d846 Mouse twitches the other way.
You'd think I'd know the difference between the X-axis and the Y-axis
by now.
2021-09-21 09:23:58 +01:00
Jonathan Pallant
410d951429 Add more example details. 2021-09-20 14:50:02 +01:00
Jonathan Pallant
0525b3deaf Examples do need to include the board name.
This is because we build in a workspace and they all share a target folder.
2021-09-20 14:39:44 +01:00
Jonathan Pallant
da89317219 WIP README for Pico 2021-09-20 14:38:48 +01:00
Jonathan Pallant
c992fc9967 Add README to Pro Micro RP2040 BSP.
Also add BSP to top-level README, and some extra comments in the
example.
2021-09-20 14:33:46 +01:00
Wilfried Chauveau
1d5dd15092 Work around enumeration issues with small ep0 max packet size.
Prevents DataIn of the previous request from being sent to the host when
a new setup is received.
2021-09-19 22:27:17 +10:00
Wilfried Chauveau
63dd0b3066 add Pro Micro rainbow example (uses PIO & Timer's Countdown) 2021-09-17 21:17:42 +10:00
9names
98b8e3ae9c
Handle usb interrupt flags in driver (#106)
Set interrupt enable flags in USB driver. The flags were already being cleared in the USB driver.
Update USB examples to remove interrupt flag set/check as it is no longer necessary.
2021-09-17 09:40:10 +10:00
Wilfried Chauveau
c509b9d22f
Add embedded_hal::timer support (#110)
* Add embedded_hal::timer support

* fixup: add pico countdown based blinky example & rework get_counter(&self) -> u16
2021-09-16 18:47:34 +10:00
Jonathan Nilsson
8a42d6cf8a
Update pac so we can use rt 0.7 (#107)
* Update pac so we can use rt 0.7

* Update pac in all board crates
2021-09-15 15:07:25 +10:00
Cam Buss
cb8dbbf917
Add Pico RTIC Timer Blinky Example (#109)
* Add RTIC Timer Blinky Example
2021-09-14 23:59:55 +10:00
9names
8b1c9fc3e5 Add port of usb-twitchy-mouse 2021-09-11 18:36:44 +10:00
9names
0cc4614888 Add interrupt-driven USB example 2021-09-11 18:36:19 +10:00
Wilfried Chauveau
db11231f49
Implement usb_device for rp2040 (#98)
Implement usb_device for rp2040

Limitations
- RP2040-E5 (Device enumeration workaround) is not implemented
- Suspend/resume is not implemented
- VBus detection is not tested and may not be fully implemented
2021-09-09 17:55:30 +10:00
Hmvp
ffa39f65f5
Pwm improvements (#61)
* Reimplement PWM driver using typestates
* Improve docs
2021-09-02 09:37:17 +10:00
Hmvp
216aad2c76 Update and move readmes
The READMEs that go to crates.io need to be in the crate dir
2021-08-26 00:18:55 +10:00
Michael Zill
199ad891ed
Adafruit feather rp2040 (#91)
* added example for Feather RP2040
2021-08-21 21:22:18 +10:00