The Mesa Electronics 5I25 FPGA card can implement a vast number of hardware I/O controllers, but I’ve only set up the few Kicad symbols required for my simple Sherline mill. The LinuxCNC hostmot2 doc gives the details.
hm2_5i25.0 component (upper right) carries the pins and functions pertaining to the card itself:
If you have two such cards, you’ll also have an
hm2_5i25.1 component. Kicad will annotate both with a zero, which
Kicad-to-HAL then strips off before attaching the pin names.
write functions must attach to the first and last positions of the
servo-thread component, respectively, to make the thing work correctly.
write_gpio functions are normally not connected; the
* prefix suppresses a
Kicad-to-HAL message about unconnected named pins. The code will strip the asterisk before connecting the pins, but that part is … lightly tested.
Similarly, the schematic shows the watchdog output connected to one of the on-card LEDs. I’m not sure how to test that and wouldn’t see it inside the PC case; it might work as described.
hm2_5i25.0.gpio.000 Kicad symbol (middle) collects all of the HAL pins related to a single 5I25 GPIO pin; edit the three-digit pin identifier to match the hardware pin. Although the
in names look backwards, they indicate the hardware direction: you write to the
out pin and read from the
The Sherline uses four stepgen blocks, so that’s the only other Kicad symbol on offer:
The nets connecting those three components come directly from the LinuxCNC
pncconf configuration utility. Fancier machines surely require more attention to the coefficient details.
true parameter to the
direction.invert_output pins flips the polarity of those signals. The pins are aliases of the corresponding GPIO
invert_output pin, with the key advantage of not requiring you to figure out which GPIO pin corresponds to the FPGA’s output pin for each axis.
The 5I25 card requires a pair of
loadrt components to load the drivers and configure the FPGA:
The one-page demo schematic uses the same 5I25 configuration as the Sherline, with the LEDs driven by gamepad buttons to provide something to look at:
I should force-fit an LED into the Sherline driver box just to have something easier to see.