@ -41,7 +41,7 @@
# define TDI 3
# define TCK 2
# define TMS 1
# define TRST 0
# define n TRST 0
/*
* 7 - BUSY ( pin 11 )
@ -61,11 +61,11 @@ wiggler_init( cable_t *cable )
return - 1 ;
if ( ( data = parport_get_data ( cable - > port ) ) < 0 ) {
if ( parport_set_data ( cable - > port , 1 < < TRST ) )
if ( parport_set_data ( cable - > port , 0 < < n TRST ) )
return - 1 ;
PARAM_TRST ( cable ) = 1 ;
} else
PARAM_TRST ( cable ) = ( data > > TRST) & 1 ;
PARAM_TRST ( cable ) = ( ( data > > n TRST) ^ 1 ) & 1 ;
return 0 ;
}
@ -76,16 +76,16 @@ wiggler_clock( cable_t *cable, int tms, int tdi )
tms = tms ? 1 : 0 ;
tdi = tdi ? 1 : 0 ;
parport_set_data ( cable - > port , ( PARAM_TRST ( cable ) << TRST) | ( 0 < < TCK ) | ( tms < < TMS ) | ( tdi < < TDI ) ) ;
parport_set_data ( cable - > port , ( ( PARAM_TRST ( cable ) ^ 1 ) << n TRST) | ( 0 < < TCK ) | ( tms < < TMS ) | ( tdi < < TDI ) ) ;
cable_wait ( ) ;
parport_set_data ( cable - > port , ( PARAM_TRST ( cable ) << TRST) | ( 1 < < TCK ) | ( tms < < TMS ) | ( tdi < < TDI ) ) ;
parport_set_data ( cable - > port , ( ( PARAM_TRST ( cable ) ^ 1 ) << n TRST) | ( 1 < < TCK ) | ( tms < < TMS ) | ( tdi < < TDI ) ) ;
cable_wait ( ) ;
}
static int
wiggler_get_tdo ( cable_t * cable )
{
parport_set_data ( cable - > port , ( PARAM_TRST ( cable ) << TRST) | ( 0 < < TCK ) ) ;
parport_set_data ( cable - > port , ( ( PARAM_TRST ( cable ) ^ 1 ) << n TRST) | ( 0 < < TCK ) ) ;
cable_wait ( ) ;
return ( parport_get_status ( cable - > port ) > > TDO ) & 1 ;
}
@ -95,7 +95,7 @@ wiggler_set_trst( cable_t *cable, int trst )
{
PARAM_TRST ( cable ) = trst ? 1 : 0 ;
parport_set_data ( cable - > port , PARAM_TRST ( cable ) << TRST ) ;
parport_set_data ( cable - > port , ( PARAM_TRST ( cable ) ^ 1 ) << n TRST ) ;
return PARAM_TRST ( cable ) ;
}