Tibbit #43-1 operates according to a set of configurable parameters referred to as settings. The Tibbit keeps several sets of settings values, as explained below.
User settings stored in the PIC microcontroller's RAM serve as the immediate ("current") operating parameters of the Tibbit. Any change made to these settings has an instant effect on the Tibbit's operation.
The Tibbit's interface protocol provides several S ("set") commands for altering the value of individual RAM settings. For example, the SM command allows for selecting the sampling mode (single-ended or differential).
EEPROM (post-reset) settings
The settings stored in the PIC microcontroller's EEPROM define the post-reset operating parameters of the Tibbit. Every time the Tibbit emerges from reset (reboot), it copies the values of all settings from the EEPROM into the RAM. Therefore, the EEPROM settings can be thought of as "post-reset" settings, because they are applied after every reset of the Tibbit.
The Tibbit's interface protocol provides several commands for copying settings between the RAM and the EEPROM, as well as for initializing the settings to their factory defaults. All such commands operate on all settings as a group.
The group of EEPROM settings is protected by a single checksum covering the values of all settings in the group. The checksum is verified before copying the EEPROM settings into the RAM.
If the checksum verification fails, not a single setting value is copied. In addition:
- If the copying was being performed after the Tibbit was reset (reboot), then the Tibbit's factory defaults are copied into the RAM settings instead.
- If the copying was being performed during the FE ("fetch EEPROM settings") command execution, then the Tibbit will return the F ("fail") reply code.
In either case, the values of the EEPROM settings are not repaired and will require a manual reinitialization with the SF ("set factory values") command.
Most default values are hard-coded into the PIC microcontroller's firmware. The default ADC calibration parameters, on the contrary, are individually programmed into each Tibbit during their production. These calibration parameters are stored in the EEPROM, but are kept separate from the EEPROM settings described above.
As with anything stored in the EEPROM, default calibration values may get corrupted. These default calibration values are not checksum-protected, their corruption is undetectable, and there is no remedy if such corruption occurs.
Factory defaults can be copied simultaneously into the RAM and EEPROM settings using the SF ("set factory values") command. Factory defaults are also loaded into the RAM after the Tibbit is reset (rebooted) if the checksum verification of the EEPROM settings fails.