-
Kicad-to-HAL: Annotation Stripping
Kicad insists on annotating every component with a numeric suffix that can change depending on the sequence of components encountered during the annotation process. HAL, on the other hand, identifies multiple components using a numeric value as a suffix or embedded within the reference. HAL also has singleton components without a numeric value.
A Moby Hack™ merges the two systems: Kicad will annotate each of its components, then Kicad-to-HAL can strip the annotation from the reference to form the HAL identifier.
A Kicad component with a
StripAnnofield containing a “1” will trigger the stripping:
Kicad Symbol Properties – HM2_5I25 The
StripAnnodigit (generally) appears to the right of the component name. A Kicad component without aStripAnnofield or with the field containing anything other than “1” will pass its reference field directly into the HAL component.The Kicad reference for the
HM2_5I25component (center right) ishm2_5i25.0.0and its stripped HAL reference ishm2_5i25.0:addf hm2_5i25.0.read servo-thread
The THREAD component (center bottom) is a singleton, because there will be only one component with a given thread name:

Kicad symbol – THREAD The Kicad reference appends a zero to make
servo-thread.0:
Kicad-to-HAL Demo Schematic The stripped HAL reference, as used in
addfstatements, is justservo-thread:addf and2.0 servo-thread addf constant.0 servo-thread addf constant.1 servo-thread addf not.0 servo-thread addf timedelay.0 servo-thread addf toggle.0 servo-thread
Every Kicad symbol must have a reference ending with a period so Kicad-to-HAL can strip the trailing annotation value.