Provided by: linuxcnc-uspace_2.9.4-2ubuntu1_amd64 bug

NAME

       homecomp - homing module template

SYNOPSIS


       Custom Homing module loaded with [EMCMOT]HOMEMOD=homecomp

DESCRIPTION

       Example of a homing module buildable with halcompile.  Demonstrates required code for #includes, function
       definitions, etc.

       If  HOMING_BASE is #defined and points to a valid homing.c file, an example of a customized homing module
       is built.  This module creates input hal pins  joint.n.request-custom-homing  that  enable  an  alternate
       joint  homing  state  machine  for  requested joints.  A hal output pin joint.N.is_custom-homing verifies
       selection"

       The customized homing module utilizes many  of  the  base  homing  api  routines  from  homing.c  without
       modification but augments other base functions to add support for custom hal pins and custom joint homing
       state  machines.   A  user-built module will likely replace additional api functions or augment them with
       other customizations.

       If HOMING_BASE Is not #defined, an  actual homing scheme is not implemented but all  necessary  functions
       are included as skeleton code.   (All joints are effectively homed at all times and cannot be unhomed).

       See  the  source  code  file:  src/emc/motion/homing.c  for the baseline implementation that includes all
       functions for the default homemod module.

       To avoid updates that overwrite homecomp.comp, best practice is to rename the file and its component name
       (example: user_homecomp.comp, user_homecomp).

       The (renamed) component can be built and installed with halcompile and then substituted for  the  default
       homing module (homemod) using:

         $ linuxcnc -m user_homecomp someconfig.ini

       or by inifile setting: [EMCMOT]HOMEMOD=user_homecomp

       Note:If using a deb install:

       1) halcompile is provided by the package linuxcnc-dev

       2) This source file for BRANCHNAME (master,2.9,etc) is downloadable from github:

       https://github.com/LinuxCNC/linuxcnc/blob/BRANCHNAME/src/hal/components/homecomp.comp

PINS

       homecomp.N.is-module bit out (default: 1)

AUTHOR

       Dewey Garrett

LICENSE

       GPL

LinuxCNC Documentation                             2025-06-19                                        HOMECOMP(9)