OpenCores
URL https://opencores.org/ocsvn/usb_fpga_1_2/usb_fpga_1_2/trunk

Subversion Repositories usb_fpga_1_2

[/] [usb_fpga_1_2/] [trunk/] [include/] [ztex-eeprom.h] - Diff between revs 2 and 3

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 3
Line 28... Line 28...
 
 
/* *********************************************************************
/* *********************************************************************
   ***** global variables **********************************************
   ***** global variables **********************************************
   ********************************************************************* */
   ********************************************************************* */
xdata WORD eeprom_addr;
xdata WORD eeprom_addr;
xdata WORD eeprom_length;
 
xdata WORD eeprom_write_bytes;
xdata WORD eeprom_write_bytes;
xdata BYTE eeprom_write_checksum;
xdata BYTE eeprom_write_checksum;
 
 
 
 
/* *********************************************************************
/* *********************************************************************
   ***** i2c_waitWrite *************************************************
   ***** i2c_waitWrite *************************************************
   ********************************************************************* */
   ********************************************************************* */
/* Do the necessary steps after writing I2DAT register. Returns 1 on error. */
/* Do the necessary steps after writing I2DAT register. Returns 1 on error. */
BYTE i2c_waitWrite()
BYTE i2c_waitWrite()
Line 200... Line 200...
/* *********************************************************************
/* *********************************************************************
   ***** EP0 vendor request 0x38 ***************************************
   ***** EP0 vendor request 0x38 ***************************************
   ********************************************************************* */
   ********************************************************************* */
BYTE eeprom_read_ep0 () {
BYTE eeprom_read_ep0 () {
    BYTE i, b;
    BYTE i, b;
    b = ( eeprom_length > 64 ) ? 64 : eeprom_length;
    b = ep0_payload_transfer;
    i = eeprom_read(EP0BUF, eeprom_addr, b);
    i = eeprom_read(EP0BUF, eeprom_addr, b);
    eeprom_addr += b;
    eeprom_addr += b;
    eeprom_length -= b;
 
    return i;
    return i;
}
}
 
 
ADD_EP0_VENDOR_REQUEST((0x38,,                          // read from EEPROM
ADD_EP0_VENDOR_REQUEST((0x38,,                          // read from EEPROM
    eeprom_addr =  (SETUPDAT[3] << 8) | SETUPDAT[2];    // Address
    eeprom_addr =  (SETUPDAT[3] << 8) | SETUPDAT[2];    // Address
    eeprom_length =  (SETUPDAT[7] << 8) | SETUPDAT[6];  // size
 
    EP0BCH = 0;
    EP0BCH = 0;
    EP0BCL = eeprom_read_ep0();
    EP0BCL = eeprom_read_ep0();
,,
,,
    EP0BCH = 0;
    EP0BCH = 0;
    EP0BCL = eeprom_read_ep0();
    EP0BCL = eeprom_read_ep0();
Line 230... Line 228...
 
 
ADD_EP0_VENDOR_COMMAND((0x39,,                          // write to EEPROM
ADD_EP0_VENDOR_COMMAND((0x39,,                          // write to EEPROM
    eeprom_write_checksum = 0;
    eeprom_write_checksum = 0;
    eeprom_write_bytes = 0;
    eeprom_write_bytes = 0;
    eeprom_addr =  ( SETUPDAT[3] << 8) | SETUPDAT[2];   // Address
    eeprom_addr =  ( SETUPDAT[3] << 8) | SETUPDAT[2];   // Address
    EP0BCL = 1;
 
,,
,,
    eeprom_write_ep0(EP0BCL);
    eeprom_write_ep0(EP0BCL);
    ));;
    ));;
 
 
/* *********************************************************************
/* *********************************************************************

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.