@@ -501,15 +501,14 @@ where
501501 // assert the chip select pin
502502 let mut value_cs_asserted: u8 = lock. value & !self . cs_mask ( ) ;
503503
504+ // drive pin 0, the clock pin according to the CPOL setting
505+ // Reference: https://github.com/ftdi-rs/ftdi-embedded-hal/pull/69
504506 match self . pol . clk {
505- ClockData :: MsbNegIn => {
507+ ClockData :: MsbNegIn | ClockData :: LsbNegIn => {
506508 value_cs_asserted |= 1 ;
507509 }
508- ClockData :: MsbPosIn => {
509- value_cs_asserted &= !( 1 ) ;
510- }
511- _ => {
512- unimplemented ! ( )
510+ ClockData :: MsbPosIn | ClockData :: LsbPosIn => {
511+ value_cs_asserted &= !1 ;
513512 }
514513 }
515514
@@ -555,17 +554,18 @@ where
555554
556555 // deassert the chip select pin
557556 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
558560 match self . pol . clk {
559- ClockData :: MsbNegIn => {
561+ ClockData :: MsbNegIn | ClockData :: LsbNegIn => {
560562 value_cs_deasserted |= 1 ;
561563 }
562- ClockData :: MsbPosIn => {
563- value_cs_deasserted &= !( 1 ) ;
564- }
565- _ => {
566- unimplemented ! ( )
564+ ClockData :: MsbPosIn | ClockData :: LsbPosIn => {
565+ value_cs_deasserted &= !1 ;
567566 }
568567 }
568+
569569 lock. ft . send (
570570 MpsseCmdBuilder :: new ( )
571571 . set_gpio_lower ( value_cs_deasserted, direction)
0 commit comments