Skip to content

EEPROM emulation #2

@nopnop2002

Description

@nopnop2002

STM32 has EEPROM emulation.
So i change this code

[Current]
#if defined(ARDUINO_ARCH_STM32)
//FT81XMANIA TEAM (@lightcalamar)
///////////////////////////////////////////////////////////////////////////////////////////////////////

AT24Cxx eep(i2c_address, 32);
if (eep.read(0) != 0x7c) {
self_calibrate();
for (int i = 0; i < 24; i++)
eep.write(1 + i, GDTR.rd(REG_TOUCH_TRANSFORM_A + i));
eep.write(0, 0x7c); // is written!
} else {
for (int i = 0; i < 24; i++)
GDTR.wr(REG_TOUCH_TRANSFORM_A + i, eep.read(1 + i));
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
//FT81XMANIA TEAM (@lightcalamar)
#endif

[Edit]
#if defined(__STM32F1__)
uint16 Status;
uint16_t Data;
Status = EEPROM.read(0x10,&Data);
Serial.print("Data.EEPROM[10]=");
Serial.println(Data,HEX);
if (Data != 0x7c) {
self_calibrate();
for (int i = 0; i < 24; i++) {
Data = GDTR.rd(REG_TOUCH_TRANSFORM_A + i);
Serial.print("Data.rd[" + String(i) + "=");
Serial.println(Data, HEX);
EEPROM.write(0x20 + i, Data);
}
EEPROM.write(0x10, 0x7c); // is written!
} else {
for (int i = 0; i < 24; i++) {
Status=EEPROM.read(0x20+i,&Data);
Serial.print("Data.EEPROM[=" + String(i) + "]=");
Serial.println(Data,HEX);
GDTR.wr(REG_TOUCH_TRANSFORM_A + i, Data);
}
}
#endif

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions