@@ -2,10 +2,8 @@ extern crate embedded_hal;
22extern crate linux_embedded_hal as linux_hal;
33extern crate pscontroller_rs;
44
5- use linux_hal:: spidev:: { SpidevOptions , SPI_MODE_3 } ;
6- use linux_hal:: Pin ;
7- use linux_hal:: Spidev ;
8- use std:: io;
5+ use linux_hal:: spidev:: { SpiModeFlags , SpidevOptions } ;
6+ use linux_hal:: { CdevPin , SpidevBus } ;
97use std:: { thread, time} ;
108
119use pscontroller_rs:: PlayStationPort ;
@@ -16,14 +14,14 @@ const SPI_DEVICE: &str = "/dev/spidev0.0";
1614const SPI_SPEED : u32 = 100_000 ;
1715// If you need to use an alternate pin for cable select, uncomment the relevant bits
1816// and pass the pin into psp's new() function.
19- //const SPI_ENABLE_PIN: u64 = 4;
17+ //const SPI_ENABLE_PIN: u32 = 4;
2018
21- fn build_spi ( ) -> io :: Result < Spidev > {
22- let mut spi = Spidev :: open ( SPI_DEVICE ) ?;
19+ fn build_spi ( ) -> Result < SpidevBus , Box < dyn std :: error :: Error > > {
20+ let mut spi = SpidevBus :: open ( SPI_DEVICE ) ?;
2321 let opts = SpidevOptions :: new ( )
2422 . bits_per_word ( 8 )
2523 . max_speed_hz ( SPI_SPEED )
26- . mode ( SPI_MODE_3 )
24+ . mode ( SpiModeFlags :: SPI_MODE_3 )
2725 . build ( ) ;
2826 spi. configure ( & opts) ?;
2927
@@ -32,9 +30,7 @@ fn build_spi() -> io::Result<Spidev> {
3230
3331fn main ( ) {
3432 let spi = build_spi ( ) . unwrap ( ) ;
35- //let enable_pin = Pin::new(SPI_ENABLE_PIN);
36- //let mut psp = PlayStationPort::new(spi, Some(enable_pin));
37- let mut psp = PlayStationPort :: new ( spi, None :: < Pin > ) ;
33+ let mut psp: PlayStationPort < _ , CdevPin > = PlayStationPort :: new ( spi, None ) ;
3834 let mut command = [ 0u8 ; 32 ] ;
3935 let mut buffer = [ 0u8 ; 32 ] ;
4036
0 commit comments