Merge pull request #220 from folkertdev/match-on-mode

match on SPI mode
This commit is contained in:
Dario Nieuwenhuis 2021-06-03 12:05:22 +02:00 committed by GitHub
commit 31feed53d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -100,24 +100,29 @@ impl<'d, T: Instance> Spim<'d, T> {
// Configure mode. // Configure mode.
let mode = config.mode; let mode = config.mode;
r.config.write(|w| { r.config.write(|w| {
// Can't match on `mode` due to embedded-hal, see https://github.com/rust-embedded/embedded-hal/pull/126 match mode {
if mode == MODE_0 { MODE_0 => {
w.order().msb_first(); w.order().msb_first();
w.cpol().active_high(); w.cpol().active_high();
w.cpha().leading(); w.cpha().leading();
} else if mode == MODE_1 { }
MODE_1 => {
w.order().msb_first(); w.order().msb_first();
w.cpol().active_high(); w.cpol().active_high();
w.cpha().trailing(); w.cpha().trailing();
} else if mode == MODE_2 { }
MODE_2 => {
w.order().msb_first(); w.order().msb_first();
w.cpol().active_low(); w.cpol().active_low();
w.cpha().leading(); w.cpha().leading();
} else { }
MODE_3 => {
w.order().msb_first(); w.order().msb_first();
w.cpol().active_low(); w.cpol().active_low();
w.cpha().trailing(); w.cpha().trailing();
} }
}
w w
}); });