-
Notifications
You must be signed in to change notification settings - Fork 70
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
Compatibility across all firmware versions #41
Comments
I have an AirCurve 10 S on the way so I should be able to help with getting the differential. Not sure what version of the firmware it has on it, but I'm hoping it's the same version as the one on my AirSense 10 AutoSet, because then I think that would help me diff through the parameter data in the firmware for differences. |
@nbritton that would be awesome! Let me know and I'll add it to my Google Sheets |
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here is a direct comparisons between the 401 firmware and the 306 firmware on where relevant offsets might be located at:
https://docs.google.com/spreadsheets/d/1qbU6NUodvUV6fAwwDyLvVt8z9bPQDE-5WTuzRmKDYVc/edit?usp=sharing
About to do a pull request to share the code. The original can be found on my fork and could be used for other firmware:
https://github.com/dblunk88/airbreak/blob/master/offset_locator.py
Usage:
First do a xxd on the 401 firmware and whatever firmware you are trying to compare it with, like so:
"xxd file.bin > file.hex"
Then run the program as so:
"python list_offset_diff.py hexfile1 hexfile2"
Since this Github is primarily focused on programming for 401, hexfile1 should be the xxd of the 401 firmware
Output will be a CSV which can be imported easily into Excel (to easily CTRL+F).
It only lists the offset if they are different (so if the offset isn't listed, it is implied to be the same).
There may be multiple matching offsets, since this is a list of ALL matching offsets. If there is no match, then that does not mean that it is completely lost, it is just not found in sectors split by 0-F's and a tighter search may be the recommended action (could just be 1 value that has changed in the entire block).
This should make compatibility easier between all versions :)
Note: It's not very efficient. Bring some time and coffee. If there is a high demand (doubt it, since this technically could be run once and it should mostly suffice), then I could see if I can build in a SQLite search via query (which should speed things up a LOT).
The text was updated successfully, but these errors were encountered: