7
7
8
8
use embedded_hal as hal;
9
9
10
- use hal:: blocking:: spi:: Write ;
11
- use hal:: spi:: { Mode , Phase , Polarity } ;
10
+ use hal:: spi:: { Mode , Phase , Polarity , SpiBus } ;
12
11
13
12
use core:: marker:: PhantomData ;
14
13
@@ -39,7 +38,7 @@ pub struct Ws2812<SPI, DEVICE = devices::Ws2812> {
39
38
40
39
impl < SPI , E > Ws2812 < SPI >
41
40
where
42
- SPI : Write < u8 , Error = E > ,
41
+ SPI : SpiBus < u8 , Error = E > ,
43
42
{
44
43
/// Use ws2812 devices via spi
45
44
///
60
59
61
60
impl < SPI , E > Ws2812 < SPI , devices:: Sk6812w >
62
61
where
63
- SPI : Write < u8 , Error = E > ,
62
+ SPI : SpiBus < u8 , Error = E > ,
64
63
{
65
64
/// Use sk6812w devices via spi
66
65
///
83
82
84
83
impl < SPI , D , E > Ws2812 < SPI , D >
85
84
where
86
- SPI : Write < u8 , Error = E > ,
85
+ SPI : SpiBus < u8 , Error = E > ,
87
86
{
88
87
/// Write a single byte for ws2812 devices
89
88
fn write_byte ( & mut self , mut data : u8 ) {
@@ -108,14 +107,14 @@ where
108
107
109
108
impl < SPI , E > SmartLedsWrite for Ws2812 < SPI >
110
109
where
111
- SPI : Write < u8 , Error = E > ,
110
+ SPI : SpiBus < u8 , Error = E > ,
112
111
{
113
112
type Error = E ;
114
113
type Color = RGB8 ;
115
114
/// Write all the items of an iterator to a ws2812 strip
116
115
fn write < T , I > ( & mut self , iterator : T ) -> Result < ( ) , E >
117
116
where
118
- T : Iterator < Item = I > ,
117
+ T : IntoIterator < Item = I > ,
119
118
I : Into < Self :: Color > ,
120
119
{
121
120
for item in iterator {
@@ -130,14 +129,14 @@ where
130
129
131
130
impl < SPI , E > SmartLedsWrite for Ws2812 < SPI , devices:: Sk6812w >
132
131
where
133
- SPI : Write < u8 , Error = E > ,
132
+ SPI : SpiBus < u8 , Error = E > ,
134
133
{
135
134
type Error = E ;
136
135
type Color = RGBW < u8 , u8 > ;
137
- /// Write all the items of an iterator to a sk6812w strip
136
+ /// Write all the items of an iterator to a ws2812 strip
138
137
fn write < T , I > ( & mut self , iterator : T ) -> Result < ( ) , E >
139
138
where
140
- T : Iterator < Item = I > ,
139
+ T : IntoIterator < Item = I > ,
141
140
I : Into < Self :: Color > ,
142
141
{
143
142
for item in iterator {
0 commit comments