mirror of https://github.com/rusefi/rusefi-1.git
I2C EEPROM support #3860
This commit is contained in:
parent
61ec6b3436
commit
7ce5f8655a
|
@ -302,8 +302,70 @@ void setIssue898() {
|
||||||
}
|
}
|
||||||
#endif /* EFI_UNIT_TEST */
|
#endif /* EFI_UNIT_TEST */
|
||||||
|
|
||||||
|
#if HW_FRANKENSO
|
||||||
|
|
||||||
|
static const I2CConfig i2cfg = {
|
||||||
|
OPMODE_I2C,
|
||||||
|
400000,
|
||||||
|
FAST_DUTY_CYCLE_2,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define EE_PAGE_SIZE 32
|
||||||
|
|
||||||
|
// todo: page_size + 2
|
||||||
|
// todo: CC_SECTION(".nocache")
|
||||||
|
static uint8_t write_buf[EE_PAGE_SIZE + 10];
|
||||||
|
|
||||||
|
#define EE_U2CD I2CD3
|
||||||
|
#define EEPROM_WRITE_TIME_MS 10 /* time to write one page in ms. Consult datasheet! */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://www.onsemi.com/pdf/datasheet/cat24c32-d.pdf
|
||||||
|
* CAT24C32
|
||||||
|
*/
|
||||||
|
static const I2CEepromFileConfig i2cee = {
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
EE_PAGE_SIZE,
|
||||||
|
4096,
|
||||||
|
TIME_MS2I(EEPROM_WRITE_TIME_MS),
|
||||||
|
&EE_U2CD,
|
||||||
|
0x50,
|
||||||
|
write_buf
|
||||||
|
};
|
||||||
|
|
||||||
|
extern EepromDevice eepdev_24xx;
|
||||||
|
static I2CEepromFileStream ifile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set engine_type 61
|
||||||
|
*/
|
||||||
void setEepromTestConfiguration() {
|
void setEepromTestConfiguration() {
|
||||||
|
// i2cStart(&EE_U2CD, &i2cfg);
|
||||||
|
// efiSetPadMode("I2C", GPIOA_8, PAL_MODE_ALTERNATE(4));
|
||||||
|
// efiSetPadMode("I2C", GPIOC_9, PAL_MODE_ALTERNATE(4));
|
||||||
|
|
||||||
|
|
||||||
|
addConsoleActionI("ee_read",
|
||||||
|
[](int value) {
|
||||||
|
EepromFileOpen((EepromFileStream *)&ifile, (EepromFileConfig *)&i2cee, &eepdev_24xx);
|
||||||
|
|
||||||
|
ifile.vmt->setposition(&ifile, 0);
|
||||||
|
// chFileStreamSeek(&ifile, 0);
|
||||||
|
int v2;
|
||||||
|
streamRead(&ifile, (uint8_t *)&v2, 4);
|
||||||
|
efiPrintf("EE has %d", v2);
|
||||||
|
|
||||||
|
v2 += 3;
|
||||||
|
ifile.vmt->setposition(&ifile, 0);
|
||||||
|
streamWrite(&ifile, (uint8_t *)&v2, 4);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif //HW_FRANKENSO
|
||||||
|
|
||||||
// F407 discovery
|
// F407 discovery
|
||||||
void setL9779TestConfiguration() {
|
void setL9779TestConfiguration() {
|
||||||
|
|
Loading…
Reference in New Issue