aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf
Commit message (Collapse)AuthorAgeFilesLines
...
| * Async-ify Driver::enable and UsbDeviceBuilder::buildalexmoon2022-04-074-4/+4
| |
| * embassy-usb-hid bug fixesalexmoon2022-04-061-2/+2
| |
| * usb/serial: add multitask example.Dario Nieuwenhuis2022-04-061-0/+122
| |
| * usb/hid: add keyboard example.Dario Nieuwenhuis2022-04-062-0/+148
| |
| * usb/hid: update for endpoint state changes.Dario Nieuwenhuis2022-04-061-24/+16
| |
| * Add basic device state handling for endpoints.alexmoon2022-04-061-7/+39
| |
| * Simplify hid output report handlingalexmoon2022-04-061-2/+2
| |
| * Remove output() and split() methods from HidClass when there is no out ↵alexmoon2022-04-061-1/+2
| | | | | | | | endpoint, and route set_report requests for output reports to RequestHandler::set_report in that case.
| * Remove the feature report readeralexmoon2022-04-061-3/+8
| |
| * Async USB HID classalexmoon2022-04-062-2/+135
| |
| * usb-serial: make inner guts private.Dario Nieuwenhuis2022-04-061-17/+7
| |
| * examples/nrf: don't build usb stuff in stable.Dario Nieuwenhuis2022-04-061-3/+3
| |
| * usb: add -usb-serial crate, fix warnings and stable build.Dario Nieuwenhuis2022-04-063-393/+4
| |
| * Add a control_buf to UsbDevicealexmoon2022-04-062-9/+12
| |
| * Switch to ControlHandler owned bufs for control_in()alexmoon2022-04-061-6/+8
| |
| * Remove UnsafeCell from cdc_acm::Controlalexmoon2022-04-061-22/+31
| |
| * usb: simplify buffer handling for Control IN transfers.Dario Nieuwenhuis2022-04-061-9/+8
| |
| * usb: nicer names for control structs.Dario Nieuwenhuis2022-04-061-13/+7
| |
| * usb: move all control-related stuff to `mod control`.Dario Nieuwenhuis2022-04-061-3/+4
| |
| * usb: associate ControlHandlers with interfaces, automatically route requests.Dario Nieuwenhuis2022-04-061-35/+18
| |
| * usb: add `add_class` to builder, so that `FooBarClass::new(&mut builder)` ↵Dario Nieuwenhuis2022-04-062-127/+91
| | | | | | | | can set up everything.
| * Use trait objects instead of generics for UsbDevice::classesalexmoon2022-04-062-69/+52
| |
| * Add support for USB classes handling control requests.alexmoon2022-04-062-16/+114
| |
| * Add some comments on the example.Dario Nieuwenhuis2022-04-061-1/+13
| |
| * Working CDC-ACM device->hostDario Nieuwenhuis2022-04-062-5/+15
| |
| * Working CDC-ACM host->deviceDario Nieuwenhuis2022-04-062-9/+23
| |
| * wip: experimental async usb stackDario Nieuwenhuis2022-04-065-158/+411
| |
* | Merge #696bors[bot]2022-04-061-0/+44
|\ \ | |/ |/| | | | | | | | | | | | | | | 696: Add async Mutex. r=Dirbaio a=Dirbaio What it says on the tin :) It allows sharing data between tasks when you want to `.await` stuff while holding it locked. Co-authored-by: Dario Nieuwenhuis <[email protected]>
| * Add async Mutex.Dario Nieuwenhuis2022-04-061-0/+44
| |
* | Simpler Channel.Dario Nieuwenhuis2022-04-064-74/+106
|/ | | | | | | - Allow initializing in a static, without Forever. - Remove ability to close, since in embedded enviromnents channels usually live forever and don't get closed. - Remove MPSC restriction, it's MPMC now. Rename "mpsc" to "channel". - `Sender` and `Receiver` are still available if you want to enforce a piece of code only has send/receive access, but are optional: you can send/receive directly into the Channel if you want.
* Use embassy/defmt-timestamp-uptime in all examples.Dario Nieuwenhuis2022-04-0235-143/+124
|
* Update rust nightly, embedded-hal 1.0, embedded-hal-async.Dario Nieuwenhuis2022-03-111-1/+1
|
* Simplifies the API by taking in the TIMER and PPI channelshuntc2022-03-071-20/+6
|
* Improve nRF Saadc samplinghuntc2022-03-071-17/+40
| | | | | | | | | | Starting the sampling task prior to starting the SAADC peripheral can lead to unexpected buffer behaviour with multiple channels. We now provide an init callback at the point where the SAADC has started for the first time. This callback can be used to kick off sampling via PPI. We also need to trigger the SAADC to start sampling the next buffer when the previous one is ended so that we do not drop samples - the major benefit of double buffering. As a bonus we provide a calibrate method as it is recommended to use before starting up the sampling. The example has been updated to illustrate these new features.
* Merge #613bors[bot]2022-02-123-6/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 613: Rust stable support r=Dirbaio a=Dirbaio This PR adds (limited) stable Rust support! The drawbacks are: - No `#[embassy::task]`, `#[embassy::main]`. (requires `type_alias_impl_trait`). You have to manually allocate the tasks somewhere they'll live forever. See [example](https://github.com/embassy-rs/embassy/blob/master/examples/nrf/src/bin/raw_spawn.rs) - No async trait impls (requires GATs). Note that the full API surface of HALs is still available through inherent methods: #552 #581 - Some stuff is not constructible in const (requires `const_fn_trait_bound`), although there's an (ugly) workaround for the generic `Mutex`. So it's not that bad in the end, it's fully usable for shipping production-ready firmwares. We'll still recommend nightly as the default, until GATs and `type_alias_impl_trait` are stable. Co-authored-by: Dario Nieuwenhuis <[email protected]>
| * embassy, embassy-nrf: add `nightly` Cargo feature to gate nightly-only features.Dario Nieuwenhuis2022-02-121-0/+3
| |
| * blocking_mutex: refactor to work on stable. No GATs, and can be constructed ↵Dario Nieuwenhuis2022-02-122-6/+6
| | | | | | | | in const.
* | nrf: remove OptionalPinDario Nieuwenhuis2022-02-129-25/+10
|/
* Upgrade to embedded-storage 0.3.0Ulf Lilleengen2022-02-071-1/+1
|
* Merge #591bors[bot]2022-02-054-17/+145
|\ | | | | | | | | | | | | | | | | | | | | | | 591: PWM WS2812B example and flexible sequence config r=Dirbaio a=huntc I've permitted the PWM sequences to be mutated on stopping the PWM by associating them with a new `SingleSequencer` structure. This is so that we can perform effects on the LEDs (and other use-cases, I'm sure!). The example has been updated to illustrate the use of this by flashing a WS2812B LED. There's also a `Sequencer` structure for more sophisticated PWM interactions, along with a `pwm_double_sequence` example to illustrate. These changes should make it possible to attain all of the nRF PWM functionality available. Co-authored-by: huntc <[email protected]>
| * Further API simplification for the single seq scenariohuntc2022-02-053-9/+6
| |
| * Removed unrequired clonehuntc2022-02-041-1/+1
| |
| * Introduced the SingleSequencer and a more complex Sequencerhuntc2022-02-044-27/+62
| |
| * Small correction to timeshuntc2022-02-041-1/+1
| |
| * Revert the use of foreverhuntc2022-02-041-7/+2
| |
| * Update another examplehuntc2022-02-041-13/+14
| |
| * Expose PWMhuntc2022-02-042-11/+17
| |
| * Introduces a Sequences structhuntc2022-02-041-21/+18
| |
| * Some more docohuntc2022-01-301-2/+2
| |
| * Revert "Own the sequence buffer"huntc2022-01-303-32/+36
| | | | | | | | This reverts commit 482389a6911d8d3505872e6ad03d5b0af565eaf9.