def SPI_SRAM_23K256_Init(ftdic): # Write Status byte to disable HOLD function cmd = [ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x01, 0x00, 0x01, 0x01, ftdi.SET_BITS_LOW, 0x08, 0x0B] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data( ftdic, cmdstring, len(cmdstring) ) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret # Read Status bytes cmd = [ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x01, 0x00, 0x05, 0xFF, ftdi.SET_BITS_LOW, 0x08, 0x0B] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data( ftdic, cmdstring, len(cmdstring) ) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret, "\n" ret, data = ftdi.read_data(ftdic, 4) st = "" for i in range(ret): st += '0x%02X,' % ord(data[i]) if (DEBUG_LEVEL > 0): print "Status Byte = 0x%02X" % ord(data[3]), "\n"
def SPI_SRAM_23K256_Init(ftdic): # Write Status byte to disable HOLD function cmd = [ ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x01, 0x00, 0x01, 0x01, ftdi.SET_BITS_LOW, 0x08, 0x0B ] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data(ftdic, cmdstring, len(cmdstring)) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret # Read Status bytes cmd = [ ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x01, 0x00, 0x05, 0xFF, ftdi.SET_BITS_LOW, 0x08, 0x0B ] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data(ftdic, cmdstring, len(cmdstring)) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret, "\n" ret, data = ftdi.read_data(ftdic, 4) st = "" for i in range(ret): st += '0x%02X,' % ord(data[i]) if (DEBUG_LEVEL > 0): print "Status Byte = 0x%02X" % ord(data[3]), "\n"
def SPI_SRAM_23K256_Read_Byte(ftdic, address): cmd = [ ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x03, 0x00, 0x03, int(0x00FF & (address >> 8)), int(0x00FF & address), 0xFF, ftdi.SET_BITS_LOW, 0x08, 0x0B ] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data(ftdic, cmdstring, len(cmdstring)) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret, "\n" ret, data = ftdi.read_data(ftdic, 4) if (DEBUG_LEVEL > 1): st = "" for i in range(ret): st += '0x%02X,' % ord(data[i]) print "Received:", st, "ret=", ret, "\n" if (DEBUG_LEVEL > 0): print "Data at address 0x%04X" % address, "= 0x%02X" % ord( data[3]), "\n" return ord(data[3])
def __readOne(self): """ read 1 char from usb """ err, buf = ftdi.read_data(globals.ftdi_context, 0x1) if err < 0: logging.error("Can't read data (%d, %s)" % (err, ftdi.get_error_string(globals.ftdi_context))) self.close() raise FtdiError("Can't read data (%d, %s)" % (err, ftdi.get_error_string(globals.ftdi_context))) if err: #c = unichr(ord(buf) % 0x80) # Clear bit 7 c = chr(ord(buf) & 0x07f) return err, c else: return err, None
def SPI_SRAM_23K256_Write_Byte(ftdic, address, databyte): cmd = [ftdi.SET_BITS_LOW, 0x00, 0x0B, 0x34, 0x03, 0x00, 0x02, int(0x00FF & (address >> 8)), int(0x00FF & address), int(databyte), ftdi.SET_BITS_LOW, 0x08, 0x0B] cmdstring = "" cmdstringview = "" for i in range(len(cmd)): cmdstring += chr(cmd[i]) cmdstringview += '0x%02X,' % (cmd[i]) ret = ftdi.write_data( ftdic, cmdstring, len(cmdstring) ) if (DEBUG_LEVEL > 1): print "\nSending:", cmdstringview, "ret=", ret, "\n" ret, data = ftdi.read_data(ftdic, 4) if (DEBUG_LEVEL > 1): st = "" for i in range(ret): st += '0x%02X,' % ord(data[i]) print "Received:", st, "ret=", ret, "\n" if (DEBUG_LEVEL > 0): print "Data written to address 0x%04X" % address, "= 0x%02X" % int(databyte), "\n"