> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oryx.mechatronstudio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Use cases

> What Oryx Signal Studio is used for in practice.

Oryx Signal Studio solves one concrete problem: **defining a waveform precisely
and then generating it**, without writing code for every test. These are the
uses the app covers with what it already ships.

## Automotive diagnostics and test bench

This is the case that shaped the editor's signal generator.

* Build the **crankshaft sensor (CKP)** signal with a 60-2, 36-2, 36-1 or custom
  tone wheel, and the **camshaft sensor (CMP)** pulse synchronized by angle.
* Send it to an ESP32 and use the **Cycles (RPM)** control so that one full pass
  of the signal is one engine revolution: you sweep the range without redrawing
  anything.
* Feed an ECU or a control unit on the bench with that, and see how it responds
  without an engine.

See [CKP / CMP generator](/en/generators/ckp-cmp) and
[Connect the device](/en/device/connect).

## Teaching and learning serial protocols

The editor reads a channel's cells as bits and shows the interpreted frame
**under the drawing**, field by field and with errors marked.

* Draw a CAN frame by hand and see where the SOF, the ID, the DLC, the CRC and
  the ACK fall; remove a stuff bit and watch the error appear.
* Write a UART character with the wrong parity and see the parity error flagged
  on the exact bit.
* Build an I2C transfer with its START, address, R/W, ACK and STOP, and see what
  happens when the final NACK is missing.
* Read a Modbus RTU, ASCII or TCP frame with the function code and the exception
  translated.

See [Protocols](/en/protocols/introduction).

## Stimulus for firmware and hardware testing

* Generate the exact pattern a driver, a decoder or a state machine expects, and
  repeat it endlessly from the ESP32.
* Reproduce an edge case —one extra short pulse, an edge shifted by half a step—
  using the per-channel **offset** and **grid subdivision**.
* Keep several channels at a fixed phase relationship: clock, data and enable on
  the same timeline.

See [Digital editing](/en/editor/digital-editing) and
[Channels](/en/editor/channels).

## Documenting a signal

* Label stretches with a name and a color (`CLK`, `DATA`, `SYNC`) and leave them
  visible.
* Number the steps —all of them, only the high ones or only the low ones— and
  count them one by one or per continuous run.
* Mark count dividers and repetition dividers so it reads where each cycle
  starts.
* Export the `.txt`, which comes out aligned in columns and **in the language
  you were working in**: whoever opens it later reads the same words you saw on
  screen.

See [Numbers and labels](/en/editor/numbers-and-labels).

## Custom analog waveforms

* Build a curve with connection points and chords: ramps, rounded peaks,
  vertical edges, plateaus.
* Control how much every break is rounded with a radius of its own per corner.
* Check that the signal **closes the loop**: the app warns you before exporting
  if the last point does not sit at the same height as the first, because every
  cycle would then start with an abrupt jump.
* Export it as **segments**, not samples: a file of dozens of lines instead of
  tens of thousands.

See [Analog editing](/en/editor/analog-editing) and
[Analog format](/en/export/analog-format).

## Reusing patterns across projects

**Templates** store whole channels or a stretch of pulses and are inserted
folded into a single pulse, so you can keep building the signal around them
without the pattern taking over the screen. Double-click unfolds them when you
need to edit.

See [Templates](/en/editor/templates).

## What it does *not* do

<Warning>
  So you do not waste time looking for what is not there:

  * It does not measure or capture signals: it is not an oscilloscope or a logic
    analyzer. Everything you see is what you drew.
  * It does not simulate circuits or components.
  * It does not import capture files (`.vcd`, `.csv`, `.sr`) for viewing.
  * It does not generate microcontroller code beyond the examples in the export
    help.
  * It does not run on phones or tablets: below 1280×720 it is blocked with a
    notice.
</Warning>
