---
name: "sim_axis_hardware"
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/sim_axis_hardware"
---

# sim\_axis\_hardware(9)

A component to simulate home and limit switches

## NAME

sim\_axis\_hardware - A component to simulate home and limit switches

## SYNOPSIS

**loadrt sim\_axis\_hardware \[count=*N*\|names=*name1*\[,*name2...*\]\]**

## DESCRIPTION

This component creates simulated home and limit switches based on the current position.\
 It currently can supply simulation for X, tandem X, Y, tandem Y, Z, U, V, and A axes.

## FUNCTIONS

- **sim-axis-hardware.***N***.update** (requires a floating-point thread)

  ## PINS

- **sim-axis-hardware.*N*.Xcurrent-pos float in**

  The current position on the axis - eg connect to joint.0.motor-pos-fb

- **sim-axis-hardware.*N*.X2current-pos float in**

  - **sim-axis-hardware.*N*.Ycurrent-pos float in**

  - **sim-axis-hardware.*N*.Y2current-pos float in**

  - **sim-axis-hardware.*N*.Zcurrent-pos float in**

  - **sim-axis-hardware.*N*.Acurrent-pos float in**

  - **sim-axis-hardware.*N*.Ucurrent-pos float in**

  - **sim-axis-hardware.*N*.Vcurrent-pos float in**

  - **sim-axis-hardware.*N*.Xhomesw-pos float in (default: *1*)**

  The position of the home switch

- **sim-axis-hardware.*N*.X2homesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Yhomesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Y2homesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Zhomesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Ahomesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Uhomesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Vhomesw-pos float in (default: *1*)**

  - **sim-axis-hardware.*N*.Xmaxsw-upper float in**

  The upper range of the maximum limit switch, above this is false.

- **sim-axis-hardware.*N*.X2maxsw-upper float in**

  - **sim-axis-hardware.*N*.Ymaxsw-upper float in**

  - **sim-axis-hardware.*N*.Y2maxsw-upper float in**

  - **sim-axis-hardware.*N*.Zmaxsw-upper float in**

  - **sim-axis-hardware.*N*.Amaxsw-upper float in**

  - **sim-axis-hardware.*N*.Umaxsw-upper float in**

  - **sim-axis-hardware.*N*.Vmaxsw-upper float in**

  - **sim-axis-hardware.*N*.Xmaxsw-lower float in**

  The lower range of the maximum limit switch, below this is false.

- **sim-axis-hardware.*N*.X2maxsw-lower float in**

  - **sim-axis-hardware.*N*.Ymaxsw-lower float in**

  - **sim-axis-hardware.*N*.Y2maxsw-lower float in**

  - **sim-axis-hardware.*N*.Zmaxsw-lower float in**

  - **sim-axis-hardware.*N*.Amaxsw-lower float in**

  - **sim-axis-hardware.*N*.Umaxsw-lower float in**

  - **sim-axis-hardware.*N*.Vmaxsw-lower float in**

  - **sim-axis-hardware.*N*.Xminsw-upper float in**

  The upper range of the minimum limit switch, above this is false.

- **sim-axis-hardware.*N*.X2minsw-upper float in**

  - **sim-axis-hardware.*N*.Yminsw-upper float in**

  - **sim-axis-hardware.*N*.Y2minsw-upper float in**

  - **sim-axis-hardware.*N*.Zminsw-upper float in**

  - **sim-axis-hardware.*N*.Aminsw-upper float in**

  - **sim-axis-hardware.*N*.Uminsw-upper float in**

  - **sim-axis-hardware.*N*.Vminsw-upper float in**

  - **sim-axis-hardware.*N*.Xminsw-lower float in**

  The lower range of the minimum limit switch, below this is false.

- **sim-axis-hardware.*N*.X2minsw-lower float in**

  - **sim-axis-hardware.*N*.Yminsw-lower float in**

  - **sim-axis-hardware.*N*.Y2minsw-lower float in**

  - **sim-axis-hardware.*N*.Zminsw-lower float in**

  - **sim-axis-hardware.*N*.Aminsw-lower float in**

  - **sim-axis-hardware.*N*.Uminsw-lower float in**

  - **sim-axis-hardware.*N*.Vminsw-lower float in**

  - **sim-axis-hardware.*N*.Xhomesw-hyst float in (default: *.025*)**

  range that home switch will be true +- half this to the home position

- **sim-axis-hardware.*N*.X2homesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Yhomesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Y2homesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Zhomesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Ahomesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Uhomesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Vhomesw-hyst float in (default: *.025*)**

  - **sim-axis-hardware.*N*.Xhoming bit in**

  True is homing in progress

- **sim-axis-hardware.*N*.X2homing bit in**

  - **sim-axis-hardware.*N*.Yhoming bit in**

  - **sim-axis-hardware.*N*.Y2homing bit in**

  - **sim-axis-hardware.*N*.Zhoming bit in**

  - **sim-axis-hardware.*N*.Ahoming bit in**

  - **sim-axis-hardware.*N*.Uhoming bit in**

  - **sim-axis-hardware.*N*.Vhoming bit in**

  - **sim-axis-hardware.*N*.Xhomesw-out bit out**

  Home switch for the X axis

- **sim-axis-hardware.*N*.X2homesw-out bit out**

  - **sim-axis-hardware.*N*.Yhomesw-out bit out**

  - **sim-axis-hardware.*N*.Y2homesw-out bit out**

  - **sim-axis-hardware.*N*.Zhomesw-out bit out**

  - **sim-axis-hardware.*N*.Ahomesw-out bit out**

  - **sim-axis-hardware.*N*.Uhomesw-out bit out**

  - **sim-axis-hardware.*N*.Vhomesw-out bit out**

  - **sim-axis-hardware.*N*.homesw-all bit out**

  - **sim-axis-hardware.*N*.Xmaxsw-out bit out**

  Max limit switch

- **sim-axis-hardware.*N*.Xminsw-out bit out**

  min limit switch

- **sim-axis-hardware.*N*.Xbothsw-out bit out**

  True for both max and min limit switch

- **sim-axis-hardware.*N*.X2maxsw-out bit out**

  - **sim-axis-hardware.*N*.X2minsw-out bit out**

  - **sim-axis-hardware.*N*.X2bothsw-out bit out**

  - **sim-axis-hardware.*N*.Ymaxsw-out bit out**

  - **sim-axis-hardware.*N*.Yminsw-out bit out**

  - **sim-axis-hardware.*N*.Ybothsw-out bit out**

  - **sim-axis-hardware.*N*.Y2maxsw-out bit out**

  - **sim-axis-hardware.*N*.Y2minsw-out bit out**

  - **sim-axis-hardware.*N*.Y2bothsw-out bit out**

  - **sim-axis-hardware.*N*.Zmaxsw-out bit out**

  - **sim-axis-hardware.*N*.Zminsw-out bit out**

  - **sim-axis-hardware.*N*.Zbothsw-out bit out**

  - **sim-axis-hardware.*N*.Amaxsw-out bit out**

  - **sim-axis-hardware.*N*.Aminsw-out bit out**

  - **sim-axis-hardware.*N*.Abothsw-out bit out**

  - **sim-axis-hardware.*N*.Umaxsw-out bit out**

  - **sim-axis-hardware.*N*.Uminsw-out bit out**

  - **sim-axis-hardware.*N*.Ubothsw-out bit out**

  - **sim-axis-hardware.*N*.Vmaxsw-out bit out**

  - **sim-axis-hardware.*N*.Vminsw-out bit out**

  - **sim-axis-hardware.*N*.Vbothsw-out bit out**

  - **sim-axis-hardware.*N*.limitsw-all bit out**

  - **sim-axis-hardware.*N*.limitsw-homesw-all bit out**

  True for all limits and all home.

- **sim-axis-hardware.*N*.Xmaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Xminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Xbothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.X2maxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.X2minsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.X2bothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Ymaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Yminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Ybothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Y2maxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Y2minsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Y2bothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Zmaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Zminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Zbothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Amaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Aminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Abothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Umaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Uminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Ubothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Vmaxsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Vminsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.Vbothsw-homesw-out bit out**

  - **sim-axis-hardware.*N*.limit-offset float in (default: *.01*)**

  how much the limit switches are offset from inputted position. added to max, subtracted from min

## AUTHOR

Chris S Morley

## LICENSE

GPL
