From 4fddaf6db08a17caa9012114e80d7494186e28b1 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Mon, 14 Dec 2020 11:24:54 +0100 Subject: [PATCH] Allow negative default values --- dynamixel/model/h42_20_s300_r.py | 2 +- dynamixel/model/h42_20_s300_r_a.py | 2 +- dynamixel/model/h54_100_s500_r.py | 2 +- dynamixel/model/h54_100_s500_r_a.py | 2 +- dynamixel/model/h54_200_s500_r.py | 2 +- dynamixel/model/h54_200_s500_r_a.py | 2 +- dynamixel/model/l42_10_s300_r.py | 2 +- dynamixel/model/l54_30_s400_r.py | 2 +- dynamixel/model/l54_30_s500_r.py | 2 +- dynamixel/model/l54_50_s290_r.py | 2 +- dynamixel/model/l54_50_s500_r.py | 2 +- dynamixel/model/m42_10_s260_r.py | 2 +- dynamixel/model/m42_10_s260_r_a.py | 2 +- dynamixel/model/m54_40_s250_r.py | 2 +- dynamixel/model/m54_40_s250_r_a.py | 2 +- dynamixel/model/m54_60_s250_r.py | 2 +- dynamixel/model/m54_60_s250_r_a.py | 2 +- dynamixel/model/ph42_020_s300_r.py | 2 +- dynamixel/model/ph54_100_s500_r.py | 2 +- dynamixel/model/ph54_200_s500_r.py | 2 +- dynamixel/model/pm42_010_s260_r.py | 2 +- dynamixel/model/pm54_040_s250_r.py | 2 +- dynamixel/model/pm54_060_s250_r.py | 2 +- tools/html2py.py | 6 +++++- 24 files changed, 28 insertions(+), 24 deletions(-) diff --git a/dynamixel/model/h42_20_s300_r.py b/dynamixel/model/h42_20_s300_r.py index 27543df..e2a93bd 100644 --- a/dynamixel/model/h42_20_s300_r.py +++ b/dynamixel/model/h42_20_s300_r.py @@ -21,7 +21,7 @@ class H42_20_S300_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=465), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=10300), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=151875), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-151875), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/h42_20_s300_r_a.py b/dynamixel/model/h42_20_s300_r_a.py index 6b9af01..2ad325a 100644 --- a/dynamixel/model/h42_20_s300_r_a.py +++ b/dynamixel/model/h42_20_s300_r_a.py @@ -24,7 +24,7 @@ class H42_20_S300_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10765), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2920), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=303454), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-303454), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/h54_100_s500_r.py b/dynamixel/model/h54_100_s500_r.py index 3513769..83ac1ba 100644 --- a/dynamixel/model/h54_100_s500_r.py +++ b/dynamixel/model/h54_100_s500_r.py @@ -21,7 +21,7 @@ class H54_100_S500_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=310), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=17000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=250961), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-250961), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/h54_100_s500_r_a.py b/dynamixel/model/h54_100_s500_r_a.py index 8ce2b33..752154d 100644 --- a/dynamixel/model/h54_100_s500_r_a.py +++ b/dynamixel/model/h54_100_s500_r_a.py @@ -24,7 +24,7 @@ class H54_100_S500_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10639), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2920), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=501433), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-501433), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/h54_200_s500_r.py b/dynamixel/model/h54_200_s500_r.py index 185e233..62e1df2 100644 --- a/dynamixel/model/h54_200_s500_r.py +++ b/dynamixel/model/h54_200_s500_r.py @@ -21,7 +21,7 @@ class H54_200_S500_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=620), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=17000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=250961), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-250961), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/h54_200_s500_r_a.py b/dynamixel/model/h54_200_s500_r_a.py index 3f33e20..fc7827d 100644 --- a/dynamixel/model/h54_200_s500_r_a.py +++ b/dynamixel/model/h54_200_s500_r_a.py @@ -24,7 +24,7 @@ class H54_200_S500_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=9982), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2900), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=501433), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-501433), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/l42_10_s300_r.py b/dynamixel/model/l42_10_s300_r.py index 6dada2b..8d37735 100644 --- a/dynamixel/model/l42_10_s300_r.py +++ b/dynamixel/model/l42_10_s300_r.py @@ -21,7 +21,7 @@ class L42_10_S300_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=987), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=None), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=2048), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-2047), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=30), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/l54_30_s400_r.py b/dynamixel/model/l54_30_s400_r.py index 18373b0..cd6a8e0 100644 --- a/dynamixel/model/l54_30_s400_r.py +++ b/dynamixel/model/l54_30_s400_r.py @@ -21,7 +21,7 @@ class L54_30_S400_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=100), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=9000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=144197), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-144197), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/l54_30_s500_r.py b/dynamixel/model/l54_30_s500_r.py index 8cdcd3b..46496dc 100644 --- a/dynamixel/model/l54_30_s500_r.py +++ b/dynamixel/model/l54_30_s500_r.py @@ -21,7 +21,7 @@ class L54_30_S500_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=100), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=9000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=180692), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-180692), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/l54_50_s290_r.py b/dynamixel/model/l54_50_s290_r.py index 0c7c060..71ef15c 100644 --- a/dynamixel/model/l54_50_s290_r.py +++ b/dynamixel/model/l54_50_s290_r.py @@ -21,7 +21,7 @@ class L54_50_S290_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=120), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=8000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=103846), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-103846), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/l54_50_s500_r.py b/dynamixel/model/l54_50_s500_r.py index 0aeac95..2e1c66e 100644 --- a/dynamixel/model/l54_50_s500_r.py +++ b/dynamixel/model/l54_50_s500_r.py @@ -21,7 +21,7 @@ class L54_50_S500_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=120), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=8000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=180692), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-180692), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/m42_10_s260_r.py b/dynamixel/model/m42_10_s260_r.py index 7038cff..091b34a 100644 --- a/dynamixel/model/m42_10_s260_r.py +++ b/dynamixel/model/m42_10_s260_r.py @@ -21,7 +21,7 @@ class M42_10_S260_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=300), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=8000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=131593), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-131593), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/m42_10_s260_r_a.py b/dynamixel/model/m42_10_s260_r_a.py index b11180e..777612b 100644 --- a/dynamixel/model/m42_10_s260_r_a.py +++ b/dynamixel/model/m42_10_s260_r_a.py @@ -24,7 +24,7 @@ class M42_10_S260_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10867), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2600), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=262931), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-262931), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/m54_40_s250_r.py b/dynamixel/model/m54_40_s250_r.py index 9e4b8a3..c61fb69 100644 --- a/dynamixel/model/m54_40_s250_r.py +++ b/dynamixel/model/m54_40_s250_r.py @@ -21,7 +21,7 @@ class M54_40_S250_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=120), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=8000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=125708), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-125708), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/m54_40_s250_r_a.py b/dynamixel/model/m54_40_s250_r_a.py index c17da62..8af7100 100644 --- a/dynamixel/model/m54_40_s250_r_a.py +++ b/dynamixel/model/m54_40_s250_r_a.py @@ -24,7 +24,7 @@ class M54_40_S250_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=11037), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2840), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=251173), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-251173), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/m54_60_s250_r.py b/dynamixel/model/m54_60_s250_r.py index 670c061..9f3b012 100644 --- a/dynamixel/model/m54_60_s250_r.py +++ b/dynamixel/model/m54_60_s250_r.py @@ -21,7 +21,7 @@ class M54_60_S250_R(Servo): 'torque_limit': RWRow(name='torque_limit', address=30, size=2, default=180), 'velocity_limit': RWRow(name='velocity_limit', address=32, size=4, default=8000), 'max_position_limit': RWRow(name='max_position_limit', address=36, size=4, default=125708), - 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=40, size=4, default=-125708), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(44, 48)], size=1), 'shutdown': RWRow(name='shutdown', address=48, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(49, 561, 2)], size=2) diff --git a/dynamixel/model/m54_60_s250_r_a.py b/dynamixel/model/m54_60_s250_r_a.py index 28c2c27..2f84cba 100644 --- a/dynamixel/model/m54_60_s250_r_a.py +++ b/dynamixel/model/m54_60_s250_r_a.py @@ -24,7 +24,7 @@ class M54_60_S250_R_A(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=11145), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2830), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=251173), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-251173), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/ph42_020_s300_r.py b/dynamixel/model/ph42_020_s300_r.py index fbb70f0..653ef4f 100644 --- a/dynamixel/model/ph42_020_s300_r.py +++ b/dynamixel/model/ph42_020_s300_r.py @@ -25,7 +25,7 @@ class PH42_020_S300_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10765), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2920), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=303454), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-303454), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/ph54_100_s500_r.py b/dynamixel/model/ph54_100_s500_r.py index d9e8a73..c62ad73 100644 --- a/dynamixel/model/ph54_100_s500_r.py +++ b/dynamixel/model/ph54_100_s500_r.py @@ -25,7 +25,7 @@ class PH54_100_S500_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10639), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2920), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=501433), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-501433), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/ph54_200_s500_r.py b/dynamixel/model/ph54_200_s500_r.py index 8aff141..a08eb9b 100644 --- a/dynamixel/model/ph54_200_s500_r.py +++ b/dynamixel/model/ph54_200_s500_r.py @@ -25,7 +25,7 @@ class PH54_200_S500_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=9982), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2900), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=501433), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-501433), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=52), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/pm42_010_s260_r.py b/dynamixel/model/pm42_010_s260_r.py index b82f5d9..19cb220 100644 --- a/dynamixel/model/pm42_010_s260_r.py +++ b/dynamixel/model/pm42_010_s260_r.py @@ -25,7 +25,7 @@ class PM42_010_S260_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=10867), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2600), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=262931), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-262931), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/pm54_040_s250_r.py b/dynamixel/model/pm54_040_s250_r.py index db44d55..aeaa22e 100644 --- a/dynamixel/model/pm54_040_s250_r.py +++ b/dynamixel/model/pm54_040_s250_r.py @@ -25,7 +25,7 @@ class PM54_040_S250_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=11037), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2840), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=251173), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-251173), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/dynamixel/model/pm54_060_s250_r.py b/dynamixel/model/pm54_060_s250_r.py index 19ba4c0..6a71a04 100644 --- a/dynamixel/model/pm54_060_s250_r.py +++ b/dynamixel/model/pm54_060_s250_r.py @@ -25,7 +25,7 @@ class PM54_060_S250_R(Servo): 'acceleration_limit': RWRow(name='acceleration_limit', address=40, size=4, default=11145), 'velocity_limit': RWRow(name='velocity_limit', address=44, size=4, default=2830), 'max_position_limit': RWRow(name='max_position_limit', address=48, size=4, default=251173), - 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=None), + 'min_position_limit': RWRow(name='min_position_limit', address=52, size=4, default=-251173), 'external_port_mode': IndirectRow(name='external_port_mode', addresses=[range(56, 60)], size=1), 'shutdown': RWRow(name='shutdown', address=63, size=1, default=58), 'indirect_address': IndirectRow(name='indirect_address', addresses=[range(168, 424, 2)], size=2) diff --git a/tools/html2py.py b/tools/html2py.py index 15bda5a..89171fc 100755 --- a/tools/html2py.py +++ b/tools/html2py.py @@ -86,13 +86,17 @@ class ParsedRow(Row): if not (m and address.isdigit()): raise ValueError((name, address, size, access, default, ranges, unit)) + def int_or_none(s): + if s.isdigit() or s[0] == '-' and s[1:].isdigit(): + return(int(s)) + return None super(ParsedRow, self).__init__( name=m.group(1), index=m.group(2), address=int(address), size=int(size), access=set(access), - default=int(default) if default.isdigit() else None, + default=int_or_none(default), ranges=ranges, unit=unit) -- GitLab