feat: add siheng_servo SDK for D-AIS48025A servo driver - #11
Merged
Conversation
Add Python SDK for Shanghai Siheng D-AIS48025A low-voltage servo driver, controlled via USB-RS485 using Modbus RTU protocol. Includes: - SihengServo client (speed/position/torque control, status monitoring) - LiftController for lift mechanism (up/down/stop/positioning) - PyQt5 GUI with speed slider, jog, emergency stop - Auto-scan tool to detect driver communication parameters - Modbus debug GUI for register probing - Complete register address table (HXX_YY -> 0xXXYY mapping) - 6 exception types, context manager support
2 tasks
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.
Summary
Add Python SDK for Shanghai Siheng D-AIS48025A low-voltage servo driver, controlled via USB-RS485 using Modbus RTU protocol.
Hardware
Files (13 files, +4666 lines)
SDK package (
siheng_servo_sdk/siheng_servo/)__init__.py- package exportsconstants.py- register address table (HXX_YY -> 0xXXYY)exceptions.py- 6 custom exception typesclient.py-SihengServocore client (speed/position/torque control, status)lift.py-LiftControllerfor lift mechanism (up/down/stop/positioning)gui.py- PyQt5 GUI (speed slider, jog, emergency stop)Tools & docs
setup.py- pip install config (entry point:siheng-gui)example.py- 6 usage examplesREADME.md- full documentationsiheng_servo_gui.py- standalone GUIsiheng_auto_scan.py- auto-scan driver comm paramsmodbus_debug_gui.py- Modbus register probing toolstepper_motor_gui.py- generic stepper motor GUIKey features
servo.run(500)/servo.stop()/servo.emergency_stop()lift.up()/lift.down()/lift.move_to_height(50)Test plan