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

Figure out checksums in System section #13

Closed
davidlang42 opened this issue Feb 14, 2023 · 2 comments
Closed

Figure out checksums in System section #13

davidlang42 opened this issue Feb 14, 2023 · 2 comments
Labels
system Part of the System settings

Comments

@davidlang42
Copy link
Owner

The system section consists of sub-sections:

  • Common
  • Compressor
  • VLink
  • Favorites
  • SwitchAssign
    Before each of these is 2 bytes of padding (always "0000000 00000001") and after each is 2 bytes which appears to be a checksum (because it changes when the settings in that section change).

This ticket is to:

  • determine how these check sums work (or if they arent check sums, what are they?)
  • implement checking the sum in the from_bytes() method and writing the checksum in the to_bytes() method and remove the struct fields so they aren't stored
  • update to_structured_json()/from_structured_json() to make a nested collections of these sub-sections (very similar to LiveSet::to/from_structured_json)
@davidlang42 davidlang42 added the system Part of the System settings label Jul 23, 2023
@davidlang42
Copy link
Owner Author

For what its worth, the RD300NX keyboard seems happy to load an RDS file with incorrect checksums (both the System ones being discussed here and the LiveSet ones which are already working correctly).

@davidlang42
Copy link
Owner Author

Still not fully understood, but good enough to confidently read and write system settings. 9534de9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
system Part of the System settings
Projects
None yet
Development

No branches or pull requests

1 participant