73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
# halfile to connect a moveoff.comp for axis gui examples
|
|
# This halfile modifies the connections made in core_sim.hal
|
|
# to add a moveoff component and addfs its functions
|
|
|
|
# This halfile must follow core_sim.hal
|
|
|
|
# moveoff offsetting component (use names=mv is required):
|
|
loadrt moveoff names=mv
|
|
# addf the moveoff funcs in correct sequence:
|
|
addf mv.write-outputs servo-thread 3
|
|
addf mv.read-inputs servo-thread 1
|
|
|
|
# modify connections set in core_sim.hal
|
|
unlinkp joint.0.motor-pos-cmd
|
|
unlinkp joint.1.motor-pos-cmd
|
|
unlinkp joint.2.motor-pos-cmd
|
|
|
|
unlinkp joint.0.motor-pos-fb
|
|
unlinkp joint.1.motor-pos-fb
|
|
unlinkp joint.2.motor-pos-fb
|
|
|
|
# connect motor-pos-cmd pins to the component:
|
|
net Xpos joint.0.motor-pos-cmd => mv.pos-0
|
|
net Ypos joint.1.motor-pos-cmd => mv.pos-1
|
|
net Zpos joint.2.motor-pos-cmd => mv.pos-2
|
|
|
|
# generated positions with offsets ADDED are
|
|
# 'short circuited' to the feedback input pins:
|
|
net mx:plus mv.pos-plusoffset-0 => mv.fb-0
|
|
net my:plus mv.pos-plusoffset-1 => mv.fb-1
|
|
net mz:plus mv.pos-plusoffset-2 => mv.fb-2
|
|
|
|
# synthesized feedback values with offsets SUBTRACTED
|
|
# are sent back to motion:
|
|
net mx:fb mv.fb-minusoffset-0 => joint.0.motor-pos-fb
|
|
net my:fb mv.fb-minusoffset-1 => joint.1.motor-pos-fb
|
|
net mz:fb mv.fb-minusoffset-2 => joint.2.motor-pos-fb
|
|
|
|
# example setting global inputs from ini file:
|
|
setp mv.epsilon [MOVEOFF]EPSILON
|
|
setp mv.waypoint-sample-secs [MOVEOFF]WAYPOINT_SAMPLE_SECS
|
|
setp mv.waypoint-threshold [MOVEOFF]WAYPOINT_THRESHOLD
|
|
|
|
# offset rates from ini file:
|
|
setp mv.offset-vel-0 [MOVEOFF_0]MAX_VELOCITY
|
|
setp mv.offset-vel-1 [MOVEOFF_1]MAX_VELOCITY
|
|
setp mv.offset-vel-2 [MOVEOFF_2]MAX_VELOCITY
|
|
|
|
# offset accels from ini file:
|
|
setp mv.offset-accel-0 [MOVEOFF_0]MAX_ACCELERATION
|
|
setp mv.offset-accel-1 [MOVEOFF_1]MAX_ACCELERATION
|
|
setp mv.offset-accel-2 [MOVEOFF_2]MAX_ACCELERATION
|
|
|
|
# offset min, max limits
|
|
setp mv.offset-min-0 [MOVEOFF_0]MIN_LIMIT
|
|
setp mv.offset-min-1 [MOVEOFF_1]MIN_LIMIT
|
|
setp mv.offset-min-2 [MOVEOFF_2]MIN_LIMIT
|
|
|
|
setp mv.offset-max-0 [MOVEOFF_0]MAX_LIMIT
|
|
setp mv.offset-max-1 [MOVEOFF_1]MAX_LIMIT
|
|
setp mv.offset-max-2 [MOVEOFF_2]MAX_LIMIT
|
|
|
|
# overall enable for the component:
|
|
# 1 ==> enabled as soon as apply-offsets asserted
|
|
# 0 ==> external control of move-enable required
|
|
setp mv.move-enable 0
|
|
|
|
# offset values (set as required with your gui)
|
|
setp mv.offset-in-0 0
|
|
setp mv.offset-in-1 0
|
|
setp mv.offset-in-2 0
|
|
|