@@ -501,15 +501,14 @@ where
501
501
// assert the chip select pin
502
502
let mut value_cs_asserted: u8 = lock. value & !self . cs_mask ( ) ;
503
503
504
+ // drive pin 0, the clock pin according to the CPOL setting
505
+ // Reference: https://github.com/ftdi-rs/ftdi-embedded-hal/pull/69
504
506
match self . pol . clk {
505
- ClockData :: MsbNegIn => {
507
+ ClockData :: MsbNegIn | ClockData :: LsbNegIn => {
506
508
value_cs_asserted |= 1 ;
507
509
}
508
- ClockData :: MsbPosIn => {
509
- value_cs_asserted &= !( 1 ) ;
510
- }
511
- _ => {
512
- unimplemented ! ( )
510
+ ClockData :: MsbPosIn | ClockData :: LsbPosIn => {
511
+ value_cs_asserted &= !1 ;
513
512
}
514
513
}
515
514
@@ -555,17 +554,18 @@ where
555
554
556
555
// deassert the chip select pin
557
556
let mut value_cs_deasserted: u8 = lock. value | self . cs_mask ( ) ;
557
+
558
+ // drive pin 0, the clock pin according to the CPOL setting
559
+ // Reference: https://github.com/ftdi-rs/ftdi-embedded-hal/pull/69
558
560
match self . pol . clk {
559
- ClockData :: MsbNegIn => {
561
+ ClockData :: MsbNegIn | ClockData :: LsbNegIn => {
560
562
value_cs_deasserted |= 1 ;
561
563
}
562
- ClockData :: MsbPosIn => {
563
- value_cs_deasserted &= !( 1 ) ;
564
- }
565
- _ => {
566
- unimplemented ! ( )
564
+ ClockData :: MsbPosIn | ClockData :: LsbPosIn => {
565
+ value_cs_deasserted &= !1 ;
567
566
}
568
567
}
568
+
569
569
lock. ft . send (
570
570
MpsseCmdBuilder :: new ( )
571
571
. set_gpio_lower ( value_cs_deasserted, direction)
0 commit comments