Caleb Jamison
eeda57a424
rp2350 pio pin fixes
...
Disable pad isolation on any used pin.
Use GPIOBASE and offset pin bases if all pins are > 16, panic if some
pins are < 16 and some are > 31
2024-09-12 11:37:17 -04:00
Caleb Jamison
3d6a270f30
rp: Fix indexing for pins >31 on rp235xb ( #3330 )
...
* Fix indexing for pins >31 on rp235xb
* fixup knowing that 1<<7 is 128 not 64
2024-09-12 01:44:11 +02:00
Caleb Jamison
e75903138a
Fix commented out code
2024-09-04 13:42:03 -04:00
Caleb Jamison
0434798439
Import otp from rp-hal, helper fns for chipid and randid
...
Again, credit to @thejpster for doing the hard part and figuring out the
otp.
2024-08-29 21:08:25 -04:00
Caleb Jamison
372270a9b9
rp235x flash support.
...
The 2350 doesn't have a boot2 like the 2040, but it does have the
concept of a xip setup function that could be customized. By default the
bootrom searches for the attached flash chip and provides an xip setup
func at the base of the bootram. That bootram is not executable, so it
still needs to be copied to ram like boot2 would be.
Currently does not use inline assembly.
Also switch to picotool, as elf2uf2 has not been patched to support the
2350.
2024-08-29 10:47:03 -04:00
Caleb Jamison
0a33edc997
Import rom_data for the rp235x, don't use intrinsics on rp235x
...
Many thanks to @thejpster for his work on the rom_data!
Working around boot2 is currently a bit hacky for the rp235x, that will
improve in upcoming rp235x flash pr.
2024-08-26 09:43:08 -04:00
Ugljesa Jovanovic
8c1024b2a5
Set up timer0 tick when initializing clocks
2024-08-24 12:19:12 +02:00
Dario Nieuwenhuis
eab3a57263
rp: use the rp-binary-info crate for binary info.
2024-08-17 22:12:39 +02:00
Dario Nieuwenhuis
16c3e5880f
Add license files to embassy-rp crediting rp-rs.
2024-08-16 17:51:52 +02:00
Jonathan 'theJPster' Pallant
ccf8ce7c7e
Note where some embassy-rs files come from.
...
In a similar fashion to other source files taken from rp-rs.
2024-08-16 17:48:22 +02:00
Caleb Jamison
0b58ef8f1b
Fix commented out code
2024-08-13 00:54:41 -04:00
Dario Nieuwenhuis
3e27ee1ecc
Actually fix embassy-rp docs build.
2024-08-12 14:38:52 +02:00
Caleb Jamison
13cb431472
Enable rp235x doc tests, fixup feature doc
...
The rp235x doc test requires an unfortunate workaround using a private
feature, "_test", in order compile.
2024-08-12 05:47:16 -04:00
Caleb Jamison
752fbc662a
Fix docs, ci
2024-08-12 05:06:59 -04:00
Caleb Jamison
778241fd71
Fix CI, rename private feature, address comments from dirbaio.
2024-08-12 04:32:31 -04:00
Dario Nieuwenhuis
9dc4375f18
rp: update PAC, fix CI.
2024-08-12 03:25:41 -04:00
Caleb Jamison
0d41566c24
Switch to embassy's rp-pac repo, also use a patch.
2024-08-10 17:39:33 -04:00
Caleb Jamison
9a863f07fe
Handle pad isolation everywhere and in the same way.
2024-08-10 17:36:28 -04:00
Caleb Jamison
ffdc60d6fb
Move #![cfg]s to lib.rs
2024-08-09 16:09:16 -04:00
Caleb Jamison
05cb1baf37
Fix ci/rustfmt
2024-08-09 15:54:30 -04:00
Caleb Jamison
e5d8d8b18e
Switch to single pac
2024-08-09 12:31:29 -04:00
Caleb Jamison
6a797deb72
Fixup pac dep sources
2024-08-08 22:07:43 -04:00
Caleb Jamison
6f03c40516
cargo fmt
2024-08-08 21:54:21 -04:00
Caleb Jamison
b185e02a42
Initial rp235x support
...
Examples have been run, but there is not yet a test suite.
2024-08-08 21:35:21 -04:00
Joris Kleiber
06872da5f8
Fix broken link to rp-pac and add link to critical-section in embassy-rp
2024-08-05 16:59:08 +02:00
Ulf Lilleengen
886580179f
update dates
2024-08-05 08:58:56 +02:00
Ulf Lilleengen
f605302791
Prepare to release embassy-rp
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
37d7b0cd06
prepare release embassy-executor
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
44282b18fa
Prepare embassy-time release
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
fb0ab1e42a
Prepare release of embassy-hal-internal
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
5767c003cc
Prepare release of embassy-embedded-hal 0.2.0
2024-08-05 08:56:29 +02:00
Rafael Bachmann
2a1ace29a3
Fix possible typo in embassy-rp README.md
...
There is no feature `time` in embassy-rp. Is it `time-driver`? Is it something else?
2024-08-03 15:32:39 +02:00
Ulf Lilleengen
f2c29ba9d8
Merge pull request #3174 from JomerDev/add-count-to-read_to_break
...
RP2040: Add read_to_break_with_count
2024-08-02 13:50:32 +00:00
Dario Nieuwenhuis
2d678d6956
Update to Rust 1.80, make check-cfg unconditional.
2024-07-25 15:53:00 +02:00
Jomer.Dev
7c1ecae53f
Add read_to_break_with_count
2024-07-19 16:01:20 +02:00
Dario Nieuwenhuis
5e625f274a
Merge pull request #3185 from MathiasKoch/embassy-rp/uart-split-ref
...
(embassy-rp): Add split_ref fn to uart, allowing a mutable reference split into RX & TX handles
2024-07-18 12:10:37 +00:00
taaki2311
255864f46c
Merge branch 'embassy-rs:main' into main
2024-07-17 17:07:01 -04:00
Tarun Singh
a716a3f006
Reduced define for 'unreachable!' to a single macro rule
2024-07-17 17:05:52 -04:00
Mathias
4c34132337
Correctly handle modifying LCR register after uart enable
2024-07-17 12:23:59 +02:00
Mathias
f733071908
Add split_ref fn to uart, allowing a mutable reference split into RX & TX handles. Also change order of RX and TX handles in split fn, to streamline with other HALs
2024-07-17 11:25:03 +02:00
Dario Nieuwenhuis
a0f8948c1c
Update nightly, fix error with rp inline asm.
2024-07-16 16:40:54 +02:00
rafael
d8821dd7d7
rustfmt
2024-07-10 22:56:12 +02:00
rafael
68b3fbe348
implement read_ready method in BufferedUart
2024-07-10 22:54:48 +02:00
Krzysztof Królczyk
96cdf9c9e0
rp/i2c: add address flexibility and example
...
Previous i2c examples are using either blocking Embassy API
or e-h traits, this example uses Embassy pub API directly.
Signed-off-by: Krzysztof Królczyk <Krzysztof.Krolczyk@o2.pl>
2024-06-28 19:51:33 +02:00
Dario Nieuwenhuis
3ae2f140f9
Merge pull request #3119 from diondokter/rp-boot2-none
...
RP: Shut up missed warning boot2-none
2024-06-25 15:48:11 +00:00
Dion Dokter
5dbc531671
RP: Shut up missed warning boot2-none
2024-06-25 16:54:34 +02:00
Dario Nieuwenhuis
bce7c73a3a
Merge pull request #3118 from diondokter/rp-boot2-none
...
RP: add option to provide your own boot2
2024-06-25 12:58:56 +00:00
Dion Dokter
957be1980d
Fix syntax error?
2024-06-25 14:43:30 +02:00
Dion Dokter
92343551aa
RP: add option to provide your own boot2
2024-06-25 14:31:15 +02:00
Henrik Alsér
cfe8561550
Merge pull request #3044 from kalkyl/adc-multi
...
rp: Add multichannel ADC
2024-06-22 21:05:17 +00:00
kalkyl
e3891b09dc
Add comment about internal api
2024-06-22 16:39:23 +02:00
Dario Nieuwenhuis
6a4ac5bd60
Add collapse_debuginfo to fmt.rs macros.
...
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
Dario Nieuwenhuis
7ad76f5f60
Use raw slices .len() method instead of unsafe hacks.
...
Stabilized in 1.79.
2024-06-13 20:41:08 +02:00
Mikkel
d08639f643
Add missing word "pin" in rp pwm documentation
...
It is confusing to read without. The corrected line reads like its 'b' pin counterpart (few lines below).
2024-06-12 14:56:21 +02:00
Dario Nieuwenhuis
3e2b015dc4
Merge pull request #3054 from dvdsk/clonable-errors
...
Add Clone and Copy to Error types
2024-06-09 09:47:26 +00:00
dvdsk
871fe3a549
Add Clone and Copy to Error types
...
None of them are `non-exaustative`, they are all small enough to be copy
(I estimate none are larger than 4 bytes).
2024-06-06 23:19:07 +02:00
kalkyl
bf36bec9bb
rp: Add multichannel ADC
2024-06-05 09:42:08 +02:00
Ulf Lilleengen
30918c355b
prepare for embassy-time 0.3.1 release
2024-06-04 09:02:41 +02:00
Ulf Lilleengen
cf0d227cca
Prepare for embassy-sync 0.6.0 release
2024-05-29 12:09:55 +02:00
Nick
9031ce7fa7
rp: fix watchdog CTRL register getting overwritten
2024-05-29 06:30:41 +01:00
Dario Nieuwenhuis
d18a919ab9
rp: wait until read matches for PSM accesses.
2024-05-27 00:14:44 +02:00
Dario Nieuwenhuis
33bdc9e85f
rp: fix spinlocks staying locked after reset.
...
Fixes #1736
2024-05-24 20:04:14 +02:00
Dario Nieuwenhuis
e55f31bdc6
rp/pwm: rename channel->slice in args, misc fix.
2024-05-21 23:41:45 +02:00
Ismet Handzic
24032d0853
Remove generics from embassy-rp
2024-05-21 23:35:06 +02:00
Dario Nieuwenhuis
a266948a7a
Merge pull request #2956 from tact1m4n3/uart-fix
...
Fix drop implementation of `BufferedUartRx` and `BufferedUartTx` in `embassy-rp`
2024-05-20 08:44:01 +00:00
Alexander van Saase
e3e3728dae
rp/flash: implement embedded_storage_async::nor_flash::MultiwriteNorFlash
2024-05-18 23:28:37 +02:00
tact1m4n3
5b2535c8a2
fix(embassy-rp): fix drop implementation of BufferedUartRx and BufferedUartTx
2024-05-17 21:51:45 +03:00
QWS
c3db435011
Fix: typo
2024-05-14 15:48:00 +08:00
QWS
75cf17994f
In the start_xosc function, the frequency range is set twice. Remove the redundant one.
2024-05-13 19:48:23 +08:00
Rob Pilling
84cd0c672b
rp usb: wake ep-wakers after stalling
2024-05-10 16:27:08 +01:00
Rob Pilling
94b38449bd
rp usb: add stall implementation
2024-05-10 16:27:08 +01:00
Dario Nieuwenhuis
5732ee7ca9
Reduce use of the full futures
crate.
2024-04-26 23:22:25 +02:00
Jan Niehusmann
3f8736e872
Add a comment to the pio rx fifo pull function
2024-04-21 21:24:15 +00:00
pawel00100
143b288333
Add parameter for enabling pull-up and pull-down in RP PWM input mode
2024-04-05 01:20:34 +02:00
Dario Nieuwenhuis
a84b33995e
rp: remove mod sealed.
2024-04-05 00:48:46 +02:00
Alexandru RADOVICI
7c36e8dbc7
rename pins data type and the macro
2024-04-02 20:05:46 +03:00
Alexandru RADOVICI
d35572c11f
rename pwm channels to pwm slices, including in documentation
2024-04-02 19:50:30 +03:00
Alexandru RADOVICI
7b9546c9c8
rename the Channel trait to Slice and the PwmPin to PwmChannel
2024-04-02 19:42:37 +03:00
Alexandru RADOVICI
aa9eb2ab01
rename PWM_CH to PWM_SLICE
2024-04-02 17:20:35 +03:00
Rafael Bachmann
e139a4e076
fix: CI
2024-03-25 15:09:41 +01:00
Rafael Bachmann
cf789be420
Merge branch 'embassy-rs:main' into barafael/minor_clippy_lints_rp
2024-03-25 14:43:18 +01:00
Dario Nieuwenhuis
eca9aac194
Fix warnings in recent nightly.
2024-03-20 16:39:09 +01:00
Dario Nieuwenhuis
3d842dac85
fmt: disable "unused" warnings.
2024-03-20 14:53:19 +01:00
Rafael Bachmann
255ed29853
fix minor clippy lints in embassy_rp
2024-03-18 23:28:58 +01:00
Rafael Bachmann
5221965a1f
Fix minor typos in embassy_rp/src/lib.rs
2024-03-18 23:02:46 +01:00
Caleb Jamison
f1bf931920
fixup another display -> debug
2024-02-22 06:40:39 -05:00
Caleb Jamison
25bff1d0b9
Fixup comments from James
2024-02-22 06:34:58 -05:00
Caleb Jamison
89986fe967
Fixup display -> debug
2024-02-22 06:21:40 -05:00
Caleb Jamison
5ddee8586a
rp2040 i2c_slave improvements
...
Fix race condition that appears on fast repeated transfers.
Add public reset function. Because application code can stall the bus,
we need to give application code a way to fix itself.
2024-02-22 06:15:31 -05:00
Caleb Jamison
0c6d3ea051
Add SetConfig impl to rp2040 i2c
...
Also expand test to cover 1kHz, 100kHz, 400kHz, and 1MHz speeds.
2024-02-22 06:14:48 -05:00
Andelf
6734f52676
rp/gpio: fix wrong io _bank calc
2024-02-17 20:44:59 +08:00
Dario Nieuwenhuis
e19bed921d
Merge pull request #2581 from adsnaider/main
...
Add unsafe constructor for AnyPin
2024-02-17 01:46:12 +00:00
Caleb Jamison
f41b0f6ba9
Remove unused imports
2024-02-15 23:06:57 -05:00
Adam Snaider
72e92647e2
Add unsafe constructor for AnyPin
2024-02-15 19:32:11 -05:00
Caleb Jamison
bd0b450ca4
Improve rp2040 i2c slave
...
This commit takes the fixes and error reporting improvements from
jcdickinson's work and applies them without overlaying a software state
machine on top of the hardware state machine.
Also allows configuration of response to 'general call' writes.
2024-02-15 17:56:50 -05:00
Jomer.Dev
0708ce1410
Use saturating_sub to make sure we don't overflow
2024-01-29 17:14:23 +01:00
Dario Nieuwenhuis
ee0ebe3121
rp/gpio: remove generics.
2024-01-22 21:32:10 +01:00
James Munns
5e08bb8bc3
A rebase ate my doc comment!
2024-01-19 15:46:36 +01:00
James Munns
1ce96f79fb
Fun Learning about the RP2040 UART impl!
2024-01-19 14:02:17 +01:00
James Munns
94290981c3
Debugging RSR
2024-01-19 14:02:17 +01:00