Finally I got the blasted I2C EEPROM working…. turns out I had two faults;
- I was missing the 10mS delay at the end of the write! Thanks to Peter Ullrich for spotting that.
- I had made a mistake with the way I addressed the data, in a way that meant I could only write data to one patch in a bank, writing to the same bank would corrupt the other patches, what a muppet!
The downside is that at the moment it takes around half a second to write a patch to external EEPROM, there is a way around this which should drop it to around 20mS delay. I’ll be working on that in the next week or so, after I’ve tested it a few more times to make sure it’s rock solid.
I also need to add in a check for those who don’t have the external EEPROM so you don’t get stuck in a rutt and brick you GorF.
I think for future projects, I won’t be using I2C.