macro_rules! encoder_config {
(
impl $config_name:ty,
debounce_timer: $timer_type:ty = $timer_value:expr,
counts_div: $counts_type:ty = $counts_div_value:expr
) => { ... };
(
$vis:vis $config_name:ident,
debounce_timer: $timer_type:ty = $timer_value:expr,
counts_div: $counts_type:ty = $counts_div_value:expr
) => { ... };
}
Expand description
Create a config for Encoder
.
§Example 1
ⓘ
encoder_config!(
SomeEncoderConfig,
debounce_timer: MyElapsedTimer = MyElapsedTimer::new(2.millis()),
counts_div: i8 = 4
);
type MyEncoder<SwitchA, SwitchB> = Encoder<SwitchA, SwitchB, SomeEncoderConfig>;
§Example 2
ⓘ
encoder_config!(
pub SomeEncoderConfig,
debounce_timer: MyElapsedTimer = MyElapsedTimer::new(2.millis()),
counts_div: i8 = 4
);
type MyEncoder<SwitchA, SwitchB> = Encoder<SwitchA, SwitchB, SomeEncoderConfig>;
§Example 3
ⓘ
pub struct SomeEncoderConfig;
encoder_config!(
impl SomeEncoderConfig,
debounce_timer: MyElapsedTimer = MyElapsedTimer::new(2.millis()),
counts_div: i8 = 4
);
type MyEncoder<SwitchA, SwitchB> = Encoder<SwitchA, SwitchB, SomeEncoderConfig>;