Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve firmware settings integrity check #5

Closed
NameOfTheDragon opened this issue Oct 2, 2019 · 1 comment
Closed

Improve firmware settings integrity check #5

NameOfTheDragon opened this issue Oct 2, 2019 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@NameOfTheDragon
Copy link
Collaborator

On power-up, the firmware loads settings from EEPROM and performs an integrity check on the data. If the integrity check fails, then default settings are loaded.

In specific circumstances, EEPROM can be corrupted in a way that still allows it to pass integrity checks. In this situation, the device will behave erratically. Symptoms reported include the user needing to press the rocker switch repeatedly to get the dome/shutter to move.

The specific circumstances that lead to this corruption are when the user has upgraded to V3 firmware, downgraded to V2, then upgraded to V3 again. This happened a few times during alpha testing but should not be a problem post-release.

Workaround

  1. Download the EEClear.hex firmware image from the GitHub repository and drop it into C:\Nexdome-Firmware
  2. Open the driver SetupDialog and use the firmware update utility to uploed the EEClear.hex image. This will immediately clear the settings from EEPROM.
  3. Upload the normal operating firmware and continue to use the software as normal.

Proposed solution

Write the integrity check 'fingerprint' at the start of the settings instead of at the end. Then the 'fingerprint' will be the first thing to be overwritten instead of the last.

@NameOfTheDragon
Copy link
Collaborator Author

Issue moved to nexdome/Firmware #10 via ZenHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant