It currently contains whoever was first to write some code for the crate,
even if many more people have contributed to it later.
The field is "sort of" deprecated, it was made optional recently:
https://rust-lang.github.io/rfcs/3052-optional-authors-field.html
Due the the reasons listed there I believe removing it is better than
setting it to generic fluff like "The Embassy contributors".
813: Document remaining public APIs in embassy crate r=lulf a=lulf
This also includes the README.md in the toplevel crate documentation, fixing a few formatting issues with it as well.
Please review the mutex in detail in case I've misunderstood/missed a few things there.
Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
814: Extract setting of lora modulation params r=lulf a=danbev
This commit suggests extracting the lora modulation parameters into a
separate function which can then be called from both the do_tx, and
the do_rx functions.
Co-authored-by: Daniel Bevenius <daniel.bevenius@gmail.com>
This commit suggests extracting the lora modulation parameters into a
separate function which can then be called from both the do_tx, and
the do_rx functions.
811: Sync subghz peripheral support with stm32wlxx-hal r=lulf a=lulf
* A few more registers exposed
* Fix for "sleeping"
* Updating comments
Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
806: Add embassy-cortex-m crate. r=Dirbaio a=Dirbaio
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`.
- Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore)
- Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`.
- Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore)
- Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
807: Rename channel to mpmc r=huntc a=huntc
I've renamed the channel module for the MPMC as `mpmc`. There was a previous debate about this, but I feel that the strategy here avoids importing `channel::channel`. The change leaves `signal::Signal`, but I think that's ok. It is all a bit subjective of course. The bottom line for me is that I really like the term `mpmc` - it means something to me and aligns with broader naming e.g. in Tokio.
Co-authored-by: huntc <huntchr@gmail.com>
I've renamed the channel module for the MPMC as mpmc. There was a previous debate about this, but I feel that the strategy here avoids importing `channel::channel`. The change leaves `signal::Signal`, but I think that's ok. It is all a bit subjective of course. The bottom line for me is that I really like the term mpmc - it means something to me and aligns with broader naming e.g. in Tokio.
Following the project's decision that "leak unsafe" APIs are not marked as "unsafe",
update PeripheralMutex to accept non-'static state without unsafe.
Fixes#801
797: Use correct index and bank for stm32 flash r=Dirbaio a=lulf
The page index was wrong because it doesn't take FLASH_BASE into account.
For l4, the page index register also depends on a bank selection register.
Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
709: embassy-usb stm32 r=Dirbaio a=Dirbaio
TODO
- [x] Add cfgs for EP_COUNT, EP_MEMORY_ADDR. -- ended up doing it in stm32-data
- [x] Auto-enable PWR USV in stm32l5,
- [x] Auto-enable PWR on other families that need it -- didn't find any
- [ ] ~~Assert at runtime that RCC has valid 48Mhz clock?~~ -- won't do it yet, too messy without rcc cleanup
- [x] Tested on STM32L5
- [x] Tested on STM32F303ZE
- [x] Tested on STM32F103c8
- [x] Fix duplicated irqs on STM32F303 in stm32data, remove workaround in embassy-stm32
- [x] Test HID example
- [x] Test NCM example
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
792: Add example for using a Signal. r=Dirbaio a=hydra
I didn't find an example, so I created one for the STM32H7. Code based on the nrf mutex.rs example.
794: Fix F1 compilation by implementig AF pullup r=Dirbaio a=chemicstry
Embassy fails to compile on `STM32F103RET6`, because `set_as_af_pull` function is missing for GPIOv1:
```
error[E0599]: no method named `set_as_af_pull` found for mutable reference `&mut CLK` in the current scope
--> C:\Users\chemi\.cargo\git\checkouts\embassy-0cff10c9b9902273\46473ae\embassy-stm32\src\sdmmc\mod.rs:1390:21
|
1390 | clk_pin.set_as_af_pull(clk_pin.af_num(), AFType::OutputPushPull, Pull::None);
| ^^^^^^^^^^^^^^ method not found in `&mut CLK`
```
GPIOv1 actually supports pullups in AF mode, but only for inputs. The `sdmmc` driver, which was causing compile errors uses pullups for push-pull outputs and this will silently fail. But IMO not adding pullups to sdmmc interface is a hardware design problem, not HAL.
Co-authored-by: Dominic Clifton <me@dominicclifton.name>
Co-authored-by: chemicstry <chemicstry@gmail.com>
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
* Update copyright holder names
Fixes#472
* Add notice file to clarify copyright ownership
The NOTICE file declares that copyright is owned by the individuals
contributing to Embassy, and that all contributed work is licensed under
Apache-2.0 or MIT.
784: stm32: make tick rate configurable r=Dirbaio a=willglynn
The stm32 time drivers support arbitrary tick rates but the associated Cargo features do not. Enabling any time driver presently enables `embassy/time-tick-32768hz`; instead, enable only `embassy/time`.
Additionally, `embassy/time` now functions in the absence of any `embassy/time-tick-*` feature, defaulting to 32768 Hz if left unspecified.
Co-authored-by: Will Glynn <will@willglynn.com>
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>