Commit Graph

3133 Commits

Author SHA1 Message Date
bors[bot]
83fcc360fe
Merge #985
985: Create Sx126X LORA driver r=lulf a=ceekdee

Implementation features:

- update embassy-lora to support Semtech SX126X chips, specifically the RAK4631 chip (nrf52480 and sx1262).

- support additional SX126X packages by adding a feature (reference feature rak4631) and updating the board specific Rust file.  To enable feature rak4631, settings.json must currently enable "rust-analyzer.linkedProjects" for "examples/nrf/Cargo.toml".

- provide tx/rx examples in examples/nrf to show compatibility with the interface provided by the SX127X LORA implementation.

Only LORA P2P communication has been tested.  Implementation lines marked with ??? indicate areas for further investigation.  Furthermore, I question whether the DIO1 handler is adequate for catching all interrupt sequences.

This implementation is patterned after the C/C++ implementation provided by Semtech, available through the RAK-nRF52-RUI developers platform.

Co-authored-by: ceekdee <taigatensor@gmail.com>
Co-authored-by: Chuck Davis <91165799+ceekdee@users.noreply.github.com>
2022-10-11 08:48:55 +00:00
bors[bot]
71a56292d6
Merge #1008
1008: Add note on partition sizes to bootloader docs r=lulf a=lulf

See #1007

Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
2022-10-11 08:27:00 +00:00
Ulf Lilleengen
4da6320e63 Add note on partition sizes to bootloader docs
See #1007
2022-10-11 10:20:31 +02:00
ceekdee
327d3cf0df Change rak4631 feature to sx126x, removing use in board-specific processing; simplify the P2P examples; correct RSSI computation. 2022-10-10 12:35:42 -05:00
Chuck Davis
79ba20d315
Merge branch 'embassy-rs:master' into master 2022-10-10 09:17:07 -05:00
bors[bot]
9d5b524bb0
Merge #1005
1005: Expose Pin::pin() and Pin::bank() as public r=lulf a=mkj



Co-authored-by: Matt Johnston <matt@ucc.asn.au>
2022-10-10 06:49:34 +00:00
bors[bot]
ef533e6df4
Merge #1004
1004: Fix internal channels for adc v2 r=lulf a=chemicstry

Internal channel reading was broken on adc_v2, because `Adc::read()` requires gpio pin trait, which was not implemented by `VrefInt`, `Temperature`, `Vbat`. The required configuration bits `tsvrefe`, `vbate` were not enabled either. This PR makes it a bit closer to how adc_v4 works.

While at it, I also changed adc_v2 to use `RccPeripheral` instead of permanently enabling all ADCs.

Co-authored-by: chemicstry <chemicstry@gmail.com>
2022-10-10 06:28:41 +00:00
Chuck Davis
3d0ba58b2d
Merge branch 'embassy-rs:master' into master 2022-10-08 14:38:41 -05:00
ceekdee
f554962f54 Improve generics and consolidate antenna handling 2022-10-08 14:32:22 -05:00
Matt Johnston
aa8ba2115c Expose Pin::pin() and Pin::bank() as public 2022-10-08 11:44:06 +08:00
chemicstry
322cfafed3 Fix adc_v4 compilation 2022-10-07 14:53:03 +03:00
chemicstry
df7174ecb0 Fix internal channel reading on adc_v2 2022-10-07 14:31:55 +03:00
bors[bot]
f8fd6ab208
Merge #1003
1003: all Cargo.toml: Add license to all crate Cargo.toml files r=lulf a=chrysn

This sets the license to "MIT OR Apache-2.0" in a machine readable form on all crates, as it was already in human readable form in the README.md file, and reaffirmed in #1002.

(The statements on all the individual examples might not be strictly essential for the `cargo deny` use case as they are leaf crates, but other tools might use that information).

Co-authored-by: chrysn <chrysn@fsfe.org>
2022-10-07 11:15:14 +00:00
chrysn
6718ca3a94 all Cargo.toml: Add license to all crate Cargo.toml files
Closes: https://github.com/embassy-rs/embassy/issues/1002
2022-10-07 12:41:56 +02:00
chemicstry
9dca368c3d Use RccPeripheral for adc_v2 2022-10-07 13:29:56 +03:00
Dario Nieuwenhuis
d49d1b6b1c ci/doc: build embassy-time too. 2022-10-05 17:08:02 +02:00
bors[bot]
1b9479197d
Merge #1000
1000: Forgot to add space function to immediate publisher r=lulf a=diondokter

Title says it all really. This function was added to the normal publisher, so now also to the immediate publisher

Co-authored-by: Dion Dokter <dion@tweedegolf.com>
2022-10-05 14:05:56 +00:00
Dion Dokter
530182d668 Forgot to add space function to immediate publisher 2022-10-05 15:15:03 +02:00
bors[bot]
94606833aa
Merge #996
996: Add required info to embassy-sync package r=Dirbaio a=lulf

Updates the README.md based on embassy-futures structure.

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-10-04 14:40:49 +00:00
Ulf Lilleengen
59765590e0 Add required info to embassy-sync package
Updates the README.md based on embassy-futures structure.
2022-10-04 16:38:11 +02:00
Dario Nieuwenhuis
f075e62444 Use 1 thread in ci doc building. 2022-10-03 01:59:44 +02:00
Dario Nieuwenhuis
63f5602111
Merge pull request #994 from embassy-rs/ci-docs
Build docs in CI
2022-10-02 23:31:11 +02:00
Dario Nieuwenhuis
753781a263 Build docs in CI 2022-10-02 23:30:12 +02:00
bors[bot]
73208d5248
Merge #993
993: rp i2c: blocking example r=Dirbaio a=jsgf

i2c example talking to mcp23017 i2c gpio expander.

Co-authored-by: Jeremy Fitzhardinge <jeremy@goop.org>
2022-10-02 18:58:49 +00:00
Jeremy Fitzhardinge
c96581879c update embedded-hal api
Also pin to alpha.9 since its a breaking change
2022-10-01 01:34:45 -07:00
Jeremy Fitzhardinge
d5abd32da2 rename to i2c_blocking 2022-10-01 01:29:10 -07:00
Jeremy Fitzhardinge
9f77dbf5ae rp i2c: blocking example
i2c example talking to mcp23017 i2c gpio expander.
2022-10-01 01:29:10 -07:00
bors[bot]
aabc02506b
Merge #992
992: (embassy-stm32): remove flash lock/unlock public API from stm32 flash r=lulf a=MathiasKoch

Instead, perform the unlocking and locking automatically on erase and write operations.

This makes the `embedded-storage` abstraction actually useable in libraries, while still keeping the flash peripheral locked the majority of the time.

Co-authored-by: Mathias <mk@blackbird.online>
2022-09-30 11:32:27 +00:00
bors[bot]
99284b8304
Merge #981
981: (embassy-stm32): add E-H1 uart blocking & nb implementation r=MathiasKoch a=MathiasKoch



Co-authored-by: Mathias <mk@blackbird.online>
2022-09-30 04:14:52 +00:00
Mathias
a283c47557 Implement embedded-hal-nb for uart 2022-09-30 06:04:19 +02:00
Mathias
a7fdeac560 Remove flash lock/unlock public API from stm32 flash, and perform the unlocking and locking automatically on erase and write operations 2022-09-30 06:00:46 +02:00
Mathias
88a3c360e8 Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-stm32/uart-eh1 2022-09-30 05:23:59 +02:00
bors[bot]
1d6f5493e7
Merge #991
991: usb: remove all "Direction as u8" casts. r=Dirbaio a=Dirbaio

Alternative fix for #989 , see comment there for rationale.

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-29 13:53:22 +00:00
Dario Nieuwenhuis
dab1762709 usb: remove all "Direction as u8" casts. 2022-09-29 15:52:23 +02:00
bors[bot]
ebf5a92ab2
Merge #990
990: Small pubsub improvements r=Dirbaio a=diondokter

- Futures in pub & sub are now awaited instead of returned
- Added functions for reading how many messages are available

This helps people get better compiler diagnostics. For example, I forgot to call await on a future and the compiler didn't complain.
This also helps with making some decisions based on the state of the channels.

Co-authored-by: Dion Dokter <dion@tweedegolf.com>
2022-09-29 13:28:56 +00:00
Dion Dokter
874384826d Went back to named futures but now with must_use 2022-09-29 15:15:10 +02:00
Dion Dokter
f4ebc36b63 Futures in pub & sub are now awaited instead of returned for better user compiler diagnostics.
Added functions for reading how many messages are available
2022-09-29 14:24:42 +02:00
Mathias
a77e2c3512 Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-stm32/uart-eh1 2022-09-29 12:58:01 +02:00
bors[bot]
8b9f4ad259
Merge #988
988: Update embedded-hal versions and explicitly pin r=lulf a=lulf

Pinning to ensure CI don't accidentally break.

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-09-29 09:29:33 +00:00
Ulf Lilleengen
72c2e985bb Update embedded-hal versions and explicitly pin 2022-09-29 11:27:46 +02:00
Mathias
dc90006982 Remove code duplication on nb_read 2022-09-29 07:58:11 +02:00
Chuck Davis
bb84d7a0ae
Merge branch 'embassy-rs:master' into master 2022-09-28 14:33:03 -05:00
ceekdee
526e90d3f3 Update some outstanding questions 2022-09-28 14:27:34 -05:00
bors[bot]
77ece3f903
Merge #983
983: Remove subghz static lifetime requirement r=lulf a=lulf



Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-09-28 09:33:50 +00:00
Ulf Lilleengen
d7f7614b22 Remove subghz static lifetime requirement 2022-09-28 11:32:11 +02:00
Mathias
823bd714fb Add E-H1 uart blocking & nb implementation 2022-09-28 05:19:43 +02:00
ceekdee
a89a0c2f12 Initial add for sx126x 2022-09-27 21:55:41 -05:00
bors[bot]
9bb43ffe9a
Merge #914
914: (embassy-rp): Add I2C master implementation r=Dirbaio a=MathiasKoch

This PR adds both blocking and DMA based async implementations of I2C master.

Both E-H 0.2 & E-H 1.0 abstractions are implemented as well.

### Questions & concerns:
- Do we need an I2C interrupt handler (for transfer done, abort & error handling?) (async only)
- Do we need to add some automatic attempt at unblocking an I2C bus in case of failures (see ref: 7ebfd553f3/src/i2c_dma.c (L116-L142))
- Should I add `vectored_{read, write}` implementations?

Co-authored-by: Mathias <mk@blackbird.online>
Co-authored-by: Mathias Koch <mk@blackbird.online>
2022-09-27 20:09:53 +00:00
Mathias
bf1da0497c Allow unused fields temporarily in i2c 2022-09-27 22:08:49 +02:00
Mathias
44c46e3c93 Move async i2c implementation to new PR, to merge working blocking implementation faster 2022-09-27 22:08:49 +02:00