diff options
| -rw-r--r-- | firmware/fx2/common/spi.c | 95 | ||||
| -rw-r--r-- | firmware/fx2/common/spi.h | 7 | ||||
| -rw-r--r-- | firmware/fx2/common/usrp_commands.h | 7 | ||||
| -rw-r--r-- | firmware/fx2/usrp1/usrp_main.c | 10 | 
4 files changed, 3 insertions, 116 deletions
diff --git a/firmware/fx2/common/spi.c b/firmware/fx2/common/spi.c index 0c4f63d5a..04a1d8477 100644 --- a/firmware/fx2/common/spi.c +++ b/firmware/fx2/common/spi.c @@ -97,18 +97,13 @@ count_bits8 (unsigned char v)  static void  write_byte_msb (unsigned char v); -unsigned char -transact_byte_msb (unsigned char v); -  static void  write_bytes_msb (const xdata unsigned char *buf, unsigned char len);  static void  read_bytes_msb (xdata unsigned char *buf, unsigned char len); -static void -transact_bytes_msb (xdata unsigned char *buf, unsigned char len); - +    // returns non-zero if successful, else 0  unsigned char  spi_read (unsigned char header_hi, unsigned char header_lo, @@ -219,93 +214,7 @@ spi_write (unsigned char header_hi, unsigned char header_lo,    return 1;		// success  } -unsigned char -spi_transact (unsigned char data0, unsigned char data1, -              unsigned char data2, unsigned char data3, -              unsigned char enables, xdata unsigned char *buf, -              unsigned char len) -{ -  if (count_bits8 (enables) > 1) -    return 0;		// error, too many enables set - -  if (len > 4) -    return 0; - -  setup_enables (enables); - -  buf[0] = data0; -  buf[1] = data1; -  buf[2] = data2;  -  buf[3] = data3;  - -  if (len != 0) -    transact_bytes_msb(buf, len); - -  disable_all (); -  return 1;		// success -} - -static unsigned char  -transact_byte_msb (unsigned char v) -{ -  v = (v << 1) | (v >> 7);	// rotate left (MSB into bottom bit) -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN;                 // read into bottom bit -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  v = (v << 1) | (v >> 7); -  bitS_OUT = v & 0x1; -  bitS_CLK = 1; -  v |= bitS_IN; -  bitS_CLK = 0; - -  return v; -} - -static void -transact_bytes_msb (xdata unsigned char *buf, unsigned char len) -{ -  while (len-- != 0){ -    *buf++ = transact_byte_msb (*buf); -  } -} +// ----------------------------------------------------------------  static void  write_byte_msb (unsigned char v) diff --git a/firmware/fx2/common/spi.h b/firmware/fx2/common/spi.h index 5342b82b8..12bc5e544 100644 --- a/firmware/fx2/common/spi.h +++ b/firmware/fx2/common/spi.h @@ -39,12 +39,5 @@ spi_write (unsigned char header_hi, unsigned char header_lo,  	   unsigned char enables, unsigned char format,  	   const xdata unsigned char *buf, unsigned char len); -// returns non-zero if successful, else 0 -unsigned char -spi_transact (unsigned char data0, unsigned char data1, -              unsigned char data2, unsigned char data3, -	      unsigned char enables, xdata unsigned char *buf, -              unsigned char len); -  #endif /* INCLUDED_SPI_H */ diff --git a/firmware/fx2/common/usrp_commands.h b/firmware/fx2/common/usrp_commands.h index 02778c7e3..20c28e264 100644 --- a/firmware/fx2/common/usrp_commands.h +++ b/firmware/fx2/common/usrp_commands.h @@ -54,13 +54,6 @@  							// wIndexL:	format  							// len: how much to read -#define	VRQ_SPI_TRANSACT		0x83		// wValueH:  OUT byte 0 -							// wValueL:  OUT byte 1 -							// wIndexH:  OUT byte 2 -							// wIndexL:  OUT byte 3  -							// wLengthH: enables  -							// wLengthL: transaction length -  // OUT commands  #define	VRQ_SET_LED			0x01		// wValueL off/on {0,1}; wIndexL: which {0,1} diff --git a/firmware/fx2/usrp1/usrp_main.c b/firmware/fx2/usrp1/usrp_main.c index 3eb8c001f..802516c0b 100644 --- a/firmware/fx2/usrp1/usrp_main.c +++ b/firmware/fx2/usrp1/usrp_main.c @@ -118,7 +118,7 @@ app_vendor_cmd (void)        EP0BCH = 0;        EP0BCL = wLengthL;        break; - +            case VRQ_SPI_READ:        if (!spi_read (wValueH, wValueL, wIndexH, wIndexL, EP0BUF, wLengthL))  	return 0; @@ -127,14 +127,6 @@ app_vendor_cmd (void)        EP0BCL = wLengthL;        break; -    case VRQ_SPI_TRANSACT: -      if (!spi_transact (wValueH, wValueL, wIndexH, wIndexL, wLengthH, EP0BUF, wLengthL)) -	return 0; - -      EP0BCH = 0; -      EP0BCL = wLengthL; -      break; -      default:        return 0;      }  | 
