Conversation
…fields A configuration lists in firmware_variable the properties its firmware version decides; save_configuration writes them in a firmware_variable block, which reading back ignores. The recordings carry the X-arm's current limiter range and digits, and a test checks each block against what the code gives. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since #1458 an X-arm's
current_limit_rangeandcurrent_limit_digitsare properties read off itsfirmware_version, sosave_configurationno longer writes them:dataclasses.asdicttakes fields only. A saved configuration then showsfirmware_versionbut not the limiter range the driver will enforce for it, and the recordings could not keep the range either -test_every_key_is_a_fieldrefuses a key nothing reads back.firmware_variable, aClassVar: never a field, fine on a frozen dataclasssave_configurationwrites them in afirmware_variableblock beside the fields, nested configurations included; reading back ignores the block and the values come from the codeXArmConfiguration.firmware_variable = ("current_limit_range", "current_limit_digits")device.left_arm; design.md P13 says what it isTests: master_tests - every
firmware_variableblock in a recording holds exactly what the code gives, nothing missing or extra;keys_no_field_readspasses the block and nothing else; a saved arm carries its block.🤖 Generated with Claude Code