Commit Graph

49 Commits

Author SHA1 Message Date
a5f7801d7b Provides an HFCLK timer driver
The existing (default) timer driver for nRF implements one using the RTC, which uses the LFCLK. An additional feature has been provided where the HFCLK can be used for the timer driver by using TIMER1. An STM example has also been ported so that either driver implementation can be exercised.

To use the HFCLK driver, simply use the `time-driver-timer1` feature in place of the `time-driver-rtc1` one when depending on embassy-nrf.
2022-02-19 19:15:26 +11:00
2e8f39ffdd Update nRF PACs 2022-02-15 16:35:54 +01:00
20e14b8edb embassy, embassy-nrf: add nightly Cargo feature to gate nightly-only features. 2022-02-12 01:16:31 +01:00
f79624c3e6 Upgrade to embedded-storage 0.3.0 2022-02-07 12:35:58 +01:00
0719b05d63 traits: migrate Delay to embedded-hal 1.0+async, remove Rng and Flash. 2022-01-27 00:08:02 +01:00
7997687f3b nrf: impl embedded-hal 1.0 and embedded-hal-async traits. 2022-01-13 23:56:39 +01:00
7be34aa22f use upstream nrf-usdb 2022-01-03 11:52:36 -07:00
1c0a3688a4 use forked nrf-usbd 2021-12-15 10:00:17 -07:00
f430c0e8c2 nrf-usbd 2021-12-12 19:20:02 -07:00
c2da498263 Update to defmt 3.0ish.
Lots of gitrevs deps.
2021-11-15 11:09:08 -05:00
5322e293bd Merge #461
461: nrf: add initial nrf5340 support r=Dirbaio a=Dirbaio

Thanks to `@diondokter's` work on DPPI this was quite easy! :) 

TODO:
- [ ] Add config option to enable 128mhz
- [ ] Add config option to unlock APPROTECT automatically.
- [ ] Add a way to boot net (config option or API?)
- [ ] Support WDT (there's WDT0, WDT1. Needs some refactor)
- [ ] Support NVMC
- [ ] Support TEMP

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-11-07 22:58:27 +00:00
205a223af3 Update versions of critical-section and atomic-polyfill 2021-11-02 18:52:03 +01:00
663141b4e4 nrf: add initial nrf5340 support 2021-10-28 03:36:25 +02:00
c995a97f20 nrf91: support running in both S and NS mode. 2021-10-26 17:40:07 +02:00
65628e1f15 - Added _ppi and _dppi to distinguish between the new and the old peripheral.
- Removed ConfigurableChannel and added capacity numbers to the channels
- Replaced the PPI api with a new one using the DPPI terminology (publish & subscribe)
- Updated all tasks and event registers for DPPI
2021-10-26 14:46:39 +02:00
e78d226acd nrf: add NVMC driver. 2021-10-22 02:14:33 +02:00
2ef4a45fa0 Add support for temperature sensor peripheral
* Add TEMP peripheral to all nRF52 chips
* Add async HAL for reading temperature values
* Add example application reading temperature values
2021-10-19 07:18:56 +02:00
20674f7126 Initial support for nrf9160 2021-10-11 10:39:38 +02:00
99a94f1d50 Update version of critical-section 2021-09-13 17:05:17 +02:00
e24528051b Add WASM support for executor
* Adds an executor for WASM runtimes based on wasm_bindgen.
* Add time driver based on JS time handling.
* Add example that can run in browser locally.
* Update to critical-section version that supports 'std' flag
2021-09-13 16:42:39 +02:00
f2623e7e9b Update lots of deps 2021-09-11 01:35:23 +02:00
3457bb9f05 nrf: make gpiote and time-driver optional via cargo features. 2021-08-20 15:42:42 +02:00
fe355af4f0 nrf: update to cortex-m-rt 0.7 2021-08-19 17:11:17 +02:00
d3aeb45fb3 Update cortex-m-rt to v0.7 for stm32, rp. 2021-08-19 00:56:11 +02:00
452f7e0c2c nrf: update PACs to 0.10 2021-08-07 12:41:12 +02:00
7bfb763e09 Rename embassy-extras to embassy-hal-common 2021-07-29 13:44:51 +02:00
f916fe5476 all hals: reexport PAC if unstable-pac feature is set. 2021-07-14 22:19:04 +02:00
35a76c364a embassy/time: make optional via Cargo feature 2021-07-12 03:45:48 +02:00
8a4ab29819 Add an nRF RNG driver
Resolves #187

Like the stm32 driver, this has both a non-blocking and blocking API, and implements `rand_core::RngCore` for the blocking API.
2021-06-29 17:26:16 +10:00
76ae9e0e7c nrf: use released nrf52805-pac, nrf52820-pac 2021-06-15 22:25:37 +02:00
bd9589d0ce nrf: add support for nrf52805, nrf52811, nrf52820 2021-05-17 00:57:20 +02:00
3b86e85770 Bump version of critical-section to 0.2.1 2021-05-13 18:17:50 +02:00
7fa0e57172 Use critical_section crate 2021-05-11 01:15:30 +02:00
48cf1f6ebf nrf/system: add configure 2021-03-29 00:58:58 +02:00
3a18373828 nrf/uarte: update BufferedUarte to new APi 2021-03-29 00:58:58 +02:00
6ee9e012fc add embassy::main and implement for stm32f4 2021-03-27 17:27:39 -05:00
15c3e78408 Move nRF's util into a separate crate 2021-03-07 20:15:40 -03:00
28b2365ef3 Update nrf-hal to v0.12.1
Use the `psel_bits()` method to reduce #[cfg] clutter
2021-03-05 09:25:46 +01:00
7433dc1039 Port qspi to PeripheralMutex 2021-02-28 22:05:37 +01:00
f779ec4928 update defmt and defmt-rtt to 0.2.0 2021-02-24 08:44:23 +01:00
7321ddb0b3 Update to cortex-m 0.7 2021-02-14 23:26:50 +01:00
6695bf0f21 Low power UART driver 2020-12-30 19:24:12 +01:00
6f76c0ebcc Add support for log+defmt again, but better. 2020-12-01 17:46:56 +01:00
78135a81d9 Remove anyfmt 2020-11-27 18:42:59 +01:00
5e8608c7a5 Make defmt optional with new anyfmt crate 2020-11-01 17:17:24 +01:00
0643095695 Fix build with all nrf chip models 2020-10-31 23:03:09 +01:00
ec4b95579d gpiote: take owned pin but add function to borrow it. 2020-10-19 21:25:54 +02:00
4e4241bf90 remove nrf prefix in features, for consistency with nrf-hal 2020-09-24 19:56:47 +02:00
9a57deef9b First commit 2020-09-22 18:03:43 +02:00