Age | Commit message (Collapse) | Author |
|
Ideally launching run.sh should results in the RGB LED to blink blue.
Sections "12.3 Master boot record and SoftDevice reset procedure" and
"14.1 Memory resource map and usage" of [S140_SDS_v2.1][] seems to
suggest that once the SoftDevice is initialized, application execution
should happen from APP_CODE_BASE
According to the description of [SD_FLASH_SIZE][], the APP_CODE_BASE
address should be set to 0x27000 for version 7.3.0 of s140.
Yet this gives no blue blinking LED. :(
[S140_SDS_v2.1]: https://infocenter.nordicsemi.com/pdf/S140_SDS_v2.1.pdf
[SD_FLASH_SIZE]: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrf52%2Fstruct%2Fs140.html
|
|
Launching run.sh successfully results in the RGB LED to blink green.
Following instructions found in [nrfutil_v6.1.0][].
[nrfutil_v6.1.0]: https://infocenter.nordicsemi.com/pdf/nrfutil_v6.1.0.pdf
|
|
Launching run.sh successfully results in the single color LED to blink.
|
|
1017: Add missing examples to rust-analyzer linked projects r=lulf a=GrantM11235
Co-authored-by: Grant Miller <GrantM11235@gmail.com>
|
|
|
|
1014: Add memory barriers to H7 flash driver to mitigate PGSERR errors r=lulf a=matoushybl
The stm32h7xx-hal uses only the ordering barrier, while the CubeMX uses the DSB and ISB instructions, to be on the safe side, both are used here.
Without the barrier, the PG bit is not set, when the writes are being done, resulting in an error.
Co-authored-by: Matous Hybl <hyblmatous@gmail.com>
|
|
1015: Enable defmt in embassy-hal-common when defmt is enabled in stm32 HAL r=Dirbaio a=matoushybl
Co-authored-by: Matous Hybl <hyblmatous@gmail.com>
|
|
|
|
The stm32h7xx-hal uses only the ordering barrier, while the CubeMX uses the DSB and ISB instructions, to be on the safe side, both are used here.
|
|
1012: rp i2c: have separate wakers for each i2c unit r=Dirbaio a=jsgf
If they both share one waker, there's the possibility that some wakeups could get lost.
Co-authored-by: Jeremy Fitzhardinge <jeremy@goop.org>
|
|
|
|
If they both share one waker, there's the possibility that some wakeups
could get lost.
|
|
984: rp pico async i2c implementation r=Dirbaio a=jsgf
This implements an interrupt-driven async i2c master. It is based on https://github.com/embassy-rs/embassy/pull/914, a bit of https://github.com/embassy-rs/embassy/pull/978 and `@ithinuel's` https://github.com/ithinuel/rp2040-async-i2c.git
This is still work-in-progress, and is currently untested.
1006: Removes some of the code duplication for UarteWithIdle r=Dirbaio a=huntc
This PR removes some of the code duplications for `UarteWithIdle` at the slight expense of requiring a split when using idle processing. As the nRF example illustrates though given the LoC removed, this expense seems worth the benefit in terms of maintenance, and the avoidance of copying over methods. My main motivation for this PR was actually due to the `event_endtx` method not having been copied across to the idle-related code.
Tested the uart_idle example on my nRF52840-dk, and from within my app. Both appear to work fine.
Co-authored-by: Jeremy Fitzhardinge <jeremy@goop.org>
Co-authored-by: huntc <huntchr@gmail.com>
|
|
1010: (embassy-rp): correctly enable RTC_IRQ when scheduling an RTC alarm r=Dirbaio a=MathiasKoch
Co-authored-by: Mathias <mk@blackbird.online>
|
|
|
|
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>
|
|
1008: Add note on partition sizes to bootloader docs r=lulf a=lulf
See #1007
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
|
|
See #1007
|
|
simplify the P2P examples; correct RSSI computation.
|
|
|
|
1005: Expose Pin::pin() and Pin::bank() as public r=lulf a=mkj
Co-authored-by: Matt Johnston <matt@ucc.asn.au>
|
|
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>
|
|
This commit removes some of the code duplication for UarteWithIdle at the expense of requiring a split. As the example illustrates though, this expense seems worth the benefit in terms of maintenance, and the avoidance of copying over methods. My main motivation for this commit was actually due to the `event_endtx` method not having been copied across.
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
Closes: https://github.com/embassy-rs/embassy/issues/1002
|
|
|
|
|
|
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>
|
|
|
|
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>
|
|
Updates the README.md based on embassy-futures structure.
|
|
Assert "tx_empty" interrupt a little early so there's time to wake up
and start refilling the fifo before it drains. This avoids stalling the
i2c bus if the tx fifo completely drains.
|
|
Make sure we always wait for the stop bit if there's a reason to -
either because we sent one, or because there was a hardware tx abort.
|
|
|
|
|
|
Build docs in CI
|
|
|
|
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>
|
|
There's no other iterator async API right now.
|
|
Simple example exercising an mcp23017 GPIO expander, configured on
RP2040 GPIOs 14+15 (i2c1) with 8 inputs and 8 outputs. Input bit 0
controls whether to display a mcp23017 register dump.
|
|
This is an interrupt-driven async i2c master implementation. It makes as
best use of the RP2040's i2c block's fifos as possible to minimize
interrupts.
It implements embedded_hal_async::i2c for easy interop.
WIP async impl
|
|
|
|
|
|
It just returns a literal constant, so there's no reason not to always inline it.
|
|
Also pin to alpha.9 since its a breaking change
|