---
name: "corexy_by_hal"
section: "9"
platform: "linux"
package: "linuxcnc-uspace"
version: "1:2.9.4-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/corexy_by_hal"
---

# corexy\_by\_hal(9)

CoreXY kinematics

## NAME

corexy\_by\_hal - CoreXY kinematics

## SYNOPSIS

**loadrt corexy\_by\_hal \[count=*N*\|names=*name1*\[,*name2...*\]\]**

## DESCRIPTION

Implement **CoreXY** forward and inverse transformations **in HAL**.  This component provides an alternative method for implementing **CoreXY** kinematics.

In the INI file, use:

**\[KINS\]KINEMATICS=trivkins coordinates=xyz kinstype=both**

This component accepts two joint (**j0,j1**) motor position commands for a trivkins coordinates=xyz configuration and computes equivalent **CoreXY** motor commands for two motors identified as **alpha,beta**.  Similarly, the component accepts feedback values for the **alpha,beta** motor controllers and converts to equivalent joint (**j0,j1**) motor position feedback values.

Notes:

1\) Using **trivkins** with this module allows home switches to trigger according to the **Cartesian x,y** positions

2\) Joint pin names are based on **coordinates=xyz** and the corresponding joint number assignments used by **trivkins** so **j0==x, j1==y** (man trivkins for more information)

3\) **CoreXY** kinematics can also be implemented using the kinematics module named **corexykins** with home switches triggered by the  **j0,j1 motor** positions. (man kins for more information)

## FUNCTIONS

- **corexy-by-hal.***N* (requires a floating-point thread)

  ## PINS

- **corexy-by-hal.*N*.alpha-fb float in**

  typ: feedback from alpha motor controller

- **corexy-by-hal.*N*.beta-fb float in**

  typ: feedback from beta  motor controller

- **corexy-by-hal.*N*.j0-motor-pos-cmd float in**

  typ: from joint.0.motor-pos-cmd

- **corexy-by-hal.*N*.j1-motor-pos-cmd float in**

  typ: from joint.1.motor-pos-cmd

- **corexy-by-hal.*N*.j0-motor-pos-fb float out**

  typ: to joint.0.motor-pos-fb

- **corexy-by-hal.*N*.j1-motor-pos-fb float out**

  typ: to joint.1.motor-pos-fb

- **corexy-by-hal.*N*.alpha-cmd float out**

  typ: command to alpha motor

- **corexy-by-hal.*N*.beta-cmd float out**

  typ: command to beta ts motor

## AUTHOR

Dewey Garrett based on forum post from nbremond

## LICENSE

GPL
