diff options
Diffstat (limited to 'embassy-traits/src')
| -rw-r--r-- | embassy-traits/src/lib.rs | 1 | ||||
| -rw-r--r-- | embassy-traits/src/qei.rs | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/embassy-traits/src/lib.rs b/embassy-traits/src/lib.rs index 10d44d9de..d8b06a091 100644 --- a/embassy-traits/src/lib.rs +++ b/embassy-traits/src/lib.rs | |||
| @@ -9,5 +9,6 @@ | |||
| 9 | pub mod delay; | 9 | pub mod delay; |
| 10 | pub mod flash; | 10 | pub mod flash; |
| 11 | pub mod gpio; | 11 | pub mod gpio; |
| 12 | pub mod qei; | ||
| 12 | pub mod i2c; | 13 | pub mod i2c; |
| 13 | pub mod uart; | 14 | pub mod uart; |
diff --git a/embassy-traits/src/qei.rs b/embassy-traits/src/qei.rs new file mode 100644 index 000000000..7e0a8961f --- /dev/null +++ b/embassy-traits/src/qei.rs | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | use core::future::Future; | ||
| 2 | use core::pin::Pin; | ||
| 3 | use embedded_hal::Direction; | ||
| 4 | |||
| 5 | // Wait for a specified number of rotations either up or down | ||
| 6 | pub trait WaitForRotate { | ||
| 7 | type RotateFuture<'a>: Future<Output = Direction> + 'a; | ||
| 8 | |||
| 9 | fn wait_for_rotate<'a>( | ||
| 10 | self: Pin<&'a mut Self>, | ||
| 11 | count_down: u16, | ||
| 12 | count_up: u16, | ||
| 13 | ) -> Self::RotateFuture<'a>; | ||
| 14 | } | ||
