In linuxcnc 2.6 and later, hal pins are available for a number ini items:
Code:
$ halcmd show pin ini*
Component Pins:
Owner Type Dir Value Name
68 float IN 0 ini.0.backlash
68 float IN 0.05 ini.0.ferror
68 float IN 50 ini.0.max_acceleration
68 float IN 40 ini.0.max_limit
68 float IN 5 ini.0.max_velocity
68 float IN 0.01 ini.0.min_ferror
68 float IN -40 ini.0.min_limit
...
68 float IN 1e+99 ini.traj_default_acceleration
68 float IN 5 ini.traj_default_velocity
68 float IN 1e+99 ini.traj_max_acceleration
68 float IN 1e+99 ini.traj_max_velocity
The updated patches in:
www.panix.com/~dgarrett/stuff/tptest.mbox
add:
1) additional hal pins for ini trajectory planner items
2) a sim configuration (configs/sim/tptest/tptest.ini)
for demonstration
The patchset applies to current git master (40b9751), to apply:
Code:
$ git am tptest.mbox
The new pins are:
Code:
$ halcmd show pin *blend*
Component Pins:
Owner Type Dir Value Name
62 bit IN TRUE ini.traj_arc_blend_enable
62 bit IN FALSE ini.traj_arc_blend_fallback_enable
62 float IN 4 ini.traj_arc_blend_gap_cycles
62 s32 IN 50 ini.traj_arc_blend_optimization_depth
62 float IN 100 ini.traj_arc_blend_ramp_freq
The demonstration example includes two ngcgui-compatilbe ngc
files for demonstration and uses an existing utility named
sim_pin to make it simple to change ini items (best to do while
stopped).
Using ini defaults, the examples timings are:
3dchips
4min 48 seconds with blend_enable=0
3min 24 seconds with blend_enable=1
contour
1min 6 seconds with blend_enable=0
0min 22 seconds with blend_enable=1
Thanks to Sam Sokolik for the timers and contraint checks used in the axis gui.
Additional examples would be worthwhile additions.