Kicad-to-HAL: HALUI Elements

The LinuxCNC HALUI(*14*) “element” has such a lot of pins that I divided them amongst about 18 Kicad symbols, every amassing the pins associated with one serve as:

Gamepad Button common sense – HALUI elements


The Kicad references (halui.mode.100(*14*)) use sessions as separators, now not dashes, as a result of HALUI(*14*) runs automagically and has no thread purposes.

The logo title (HALUI_MODE(*14*)) serves as a novel identifier that are supposed to fit the reference stem. I used underscores only for beautiful, however it doesn’t make any distinction.

The entire Kicad symbols come with the StripAnno(*14*) box to take away the Kicad annotation, as described previous. The Kicad annotations now birth from 100, as a result of I’m in the middle of tinkering an automagic option to produce the correct start-from-zero HAL numbering with the whole lot correctly taken care of; that is very a lot a piece in development.

So the whole title of the resume(*14*) pin at the HALUI_PROGRAM(*14*) element wearing Kicad reference halui.program.100(*14*) is solely:


This corresponds to the outline of that pin within the HALUI(*14*) document, with no numeric identifier: there's most effective one HALUI(*14*).

The web connecting the gamepad button to that pin:

internet _Gamepad_Buttons_Program-Resume <= enter.0.btn-base4 => halui.program.resume


A couple of extra examples from the nets close to the AND2 gate:

internet _Gamepad_Buttons_E-Forestall-A <= enter.0.btn-top2 => and2.0.in0
internet _Gamepad_Buttons_E-Forestall-B <= enter.0.btn-base => and2.0.in1
internet _Gamepad_Buttons_E-Forestall-Reset <= enter.0.btn-base2 => halui.estop.reset
internet _Gamepad_Buttons_Machine-On <= enter.0.btn-pinkie => halui.device.on
internet _Gamepad_Buttons_Manual-Mode <= enter.0.btn-base3 => halui.mode.handbook 


Some HALUI(*14*) element references come with numbers and letters figuring out particular joints / axes / spindles, all of which you should edit as wanted and none(*18*) of which will have to be subjected to Kicad’s renumbering whims:

X Axis jogging schematic


The HAL instructions generating the nets connecting the AND2(*14*) gates to the HALUI(*14*) pins:

internet N_065 <= and2.14.out => halui.axis.x.minus halui.joint.0.minus
internet N_066 <= and2.15.out =>


The nets lack any particular title, so Kicad-to-HAL(*14*) replaces Kicad’s default gibberish with the following integer from an ascending collection. In case your HAL configuration calls for greater than three digits value of nameless nets, be happy to tweak the structure string.