static const rom struct {
unsigned char da;
unsigned char ee;
//pairs of data_array[da] and data_read_eeprom(ee) indexes
} X1[] = {
0,0x10,
1,0x20,
2,0x30,
3,0x70,
...
27,0x0122,
...
76,0x198
};
char if_equals(void){
short unsigned i;
for(i=0;i<sizeof(X1)/sizeof(X1[0]);i++)
if(data_array[X1[i].da] != data_read_eeprom(X1[i].ee)
return 0;
return 1;
}
...
if(if_equals() && lift_park_time == data_read_eeprom(0x0124))
data_array[10]=0x0002;
else
data_array[10] = 0x0006;