for(uint8_t i=0; i< 8; i++) {
calib_settings.offset_res[i] = eeprom_read(i);
}
- calib_settings.gain_res = eeprom_read(8);
- calib_settings.current = eeprom_read(9);
+ calib_settings.nominal_offset = eeprom_read(8);
+ calib_settings.gain_current = eeprom_read(10)<<16 | eeprom_read(9);
}
/******************
extern volatile uint8_t measurement_active;
struct calib_t {
- uint16_t offset_res[8];
- uint16_t gain_res;
- uint16_t current;
+ uint16_t offset_res[8]; //precise offset in Milliohm minus nominal value
+ uint16_t nominal_offset; //approximate offset resistor, in Ohm, 100 as default
+ uint32_t gain_current; //gain times current in nA (about 20E6)
};