libftdi Archives

Subject: eeprom->chip problem

From: "Sniegowski, Dean" <Dean.Sniegowski@xxxxxxxxxx>
To: "libftdi@xxxxxxxxxxxxxxxxxxxxxxx" <libftdi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 19 Dec 2015 00:14:15 +0000
Hello I'm using a 4232H device with a 93x56 eeprom.

I was having a problem writing to the eeprom. My manufacturer, product, and 
serial strings are written to the wrong location.

My code looks like:

ftdi_eeprom_initdefaults(ftdi, "manufact1", "product2", "serial3" );
ftdi->eeprom->product_id = 0x6011;
ftdi->eeprom->vendor_id = 0x0403;
ftdi_eeprom_build(ftdi);
ftdi_write_eeprom(ftdi);


The problem is ftdi_eeprom_initdefaults zeroizes the ftdi->eeprom struct. This 
includes ftdi->eeprom->chip.

When ftdi_eeprom_build is called,   

 2581     if (eeprom->size == -1)
 2582     {
 2583         if ((eeprom->chip == 0x56) || (eeprom->chip == 0x66))
 2584             eeprom->size = 0x100;
 2585         else
 2586             eeprom->size = 0x80;
 2587     }

eeprom size is incorrect set to  0x80 instead to 0x100


It seems like ftdi_eeprom_initdefaults should set the eeprom->chip like 
ftdi_erase_eeprom() does it.

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx

Current Thread
  • eeprom->chip problem, Sniegowski, Dean <=