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

# oneshot(9)

one-shot pulse generator

## NAME

oneshot - one-shot pulse generator

## SYNOPSIS

**loadrt oneshot \[count=*N*\|names=*name1*\[,*name2...*\]\]**

## DESCRIPTION

creates a variable-length output pulse when the input changes  state. This function needs to run in a thread which supports floating point (typically the servo thread). This means that the pulse length has to be a multiple of that thread period, typically 1mS.  For a similar function that can run in the base thread, and which offers higher  resolution, see "edge".

## FUNCTIONS

- **oneshot.***N* (requires a floating-point thread)

  Produce output pulses from input edges

## PINS

- **oneshot.*N*.in bit in**

  Trigger input

- **oneshot.*N*.reset bit in**

  Reset

- **oneshot.*N*.out bit out**

  Active high pulse

- **oneshot.*N*.out-not bit out**

  Active low pulse

- **oneshot.*N*.width float in (default: *0*)**

  Pulse width in seconds

- **oneshot.*N*.time-left float out**

  Time left in current output pulse

## PARAMETERS

- **oneshot.*N*.retriggerable bit rw (default: *TRUE*)**

  Allow additional edges to extend pulse

- **oneshot.*N*.rising bit rw (default: *TRUE*)**

  Trigger on rising edge

- **oneshot.*N*.falling bit rw (default: *FALSE*)**

  Trigger on falling edge

## AUTHOR

John Kasunich

## LICENSE

GPL
