-
Notifications
You must be signed in to change notification settings - Fork 85
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
Check Firmware Compatibility #77
Comments
Ah I've just seen 68042b7 - perfect. The release process should be as follows:
|
Here's what we need to implement on the SDK side:
|
Definitely agree! I have verified that the Implementing the |
We need a device object so the compatibility check should happen in the construct function. Probably here. |
What scheme should we use to determine the compatibility between firmware and libsweep versions? As I see it, we could:
@daniel-j-h what do you think? |
How's the firmware versioned? Major version bump for protocol incompatibilities? If so I would add
in config.h.in similarly to the ABI versioning. Then in the
and implement a check for major protocol version equality. Maybe expose a function in the API to receive the firmware's firmware major and minor version, which you then can call in the firmware check - maybe not. Not sure if the firmware version could be interesting for users other than for doing a compatibility check. |
The It is possible that a firmware version would cause incompatibilities. For example, a firmware update could increase the wait time before performing a calibration routine... which might be incompatible with a timeout used in As for the protocol version... if existing parts of protocol are deleted or modified, there could be incompatibilities with |
From #70 (comment), quoting @dcyoung:
We should provide a way for the user to check if the sweep-sdk is compatible with the hardware device.
Or at least note it down in the readme and tag releases (i.e. git tag `vx.y.z)) and then provide changelog'ish summaries.
The text was updated successfully, but these errors were encountered: