11
11
//! ## Example
12
12
//!
13
13
//! ```rust,ignore
14
- //! let rmt = Rmt::new(peripherals.RMT, 80.MHz(), None ).unwrap();
14
+ //! let rmt = Rmt::new(peripherals.RMT, Rate::from_mhz(80) ).unwrap();
15
15
//!
16
16
//! let rmt_buffer = smartLedBuffer!(1);
17
- //! let mut led = SmartLedsAdapter::new(rmt.channel0, peripherals.GPIO2 , rmt_buffer);
17
+ //! let mut led = SmartLedsAdapter::new(rmt.channel0, peripherals.GPIO8 , rmt_buffer);
18
18
//! ```
19
19
//!
20
20
//! ## Feature Flags
@@ -27,7 +27,7 @@ use core::{fmt::Debug, slice::IterMut};
27
27
28
28
use esp_hal:: {
29
29
clock:: Clocks ,
30
- gpio:: OutputPin ,
30
+ gpio:: { Level , OutputPin } ,
31
31
peripheral:: Peripheral ,
32
32
rmt:: { Error as RmtError , PulseCode , TxChannel , TxChannelConfig , TxChannelCreator } ,
33
33
} ;
@@ -99,35 +99,32 @@ where
99
99
O : OutputPin + ' d ,
100
100
C : TxChannelCreator < ' d , TX , O > ,
101
101
{
102
- let config = TxChannelConfig {
103
- clk_divider : 1 ,
104
- idle_output_level : false ,
105
- carrier_modulation : false ,
106
- idle_output : true ,
107
-
108
- ..TxChannelConfig :: default ( )
109
- } ;
102
+ let config = TxChannelConfig :: default ( )
103
+ . with_clk_divider ( 1 )
104
+ . with_idle_output_level ( Level :: Low )
105
+ . with_carrier_modulation ( false )
106
+ . with_idle_output ( true ) ;
110
107
111
108
let channel = channel. configure ( pin, config) . unwrap ( ) ;
112
109
113
110
// Assume the RMT peripheral is set up to use the APB clock
114
111
let clocks = Clocks :: get ( ) ;
115
- let src_clock = clocks. apb_clock . to_MHz ( ) ;
112
+ let src_clock = clocks. apb_clock . as_mhz ( ) ;
116
113
117
114
Self {
118
115
channel : Some ( channel) ,
119
116
rmt_buffer,
120
117
pulses : (
121
- PulseCode :: new (
122
- true ,
118
+ PulseCode :: new (
119
+ Level :: High ,
123
120
( ( SK68XX_T0H_NS * src_clock) / 1000 ) as u16 ,
124
- false ,
121
+ Level :: Low ,
125
122
( ( SK68XX_T0L_NS * src_clock) / 1000 ) as u16 ,
126
123
) ,
127
- PulseCode :: new (
128
- true ,
124
+ PulseCode :: new (
125
+ Level :: High ,
129
126
( ( SK68XX_T1H_NS * src_clock) / 1000 ) as u16 ,
130
- false ,
127
+ Level :: Low ,
131
128
( ( SK68XX_T1L_NS * src_clock) / 1000 ) as u16 ,
132
129
) ,
133
130
) ,
0 commit comments