> ## 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.

# How a signal is built

> Steps, channels, sub-steps and selection: the pieces you draw with.

Four ideas are enough to understand the whole editor.

## Step

The unit of time. A step is **a position on the timeline**, and on its own it
lasts nothing: you give it a duration at the end, when you export (the *Step
Time* field) or when you send the signal to the generator.

<Tip>
  This works in your favor: the same signal serves you at 5 µs per step or at
  5 ms per step, without redrawing it. You draw the *shape*, and pick the speed
  later.
</Tip>

## Channel

Every row of the timeline is a channel. You can change:

| Property             | What it does                                                    |
| -------------------- | --------------------------------------------------------------- |
| **Name**             | What it is called. *Channel 1*, *Channel 2*… by default         |
| **Color**            | Blue, red, green, yellow, orange or magenta                     |
| **Grid subdivision** | How many grid lines you see per step                            |
| **Offset**           | Shifts the drawn waveform left or right, in fractions of a step |
| **Hidden**           | Takes it off the screen without deleting its signal             |

<Note>
  **Offset and hiding are display-only.** The offset moves the drawn trace but not
  the data, and a hidden channel keeps its signal and can still be exported (there
  is a checkbox to include it). To really remove a signal, delete the channel.
</Note>

You can have up to **16 channels**. The screen draws **4 at a time** and you
reach the rest with the page arrows.

## Sub-step: splitting a step into pieces

A whole step can be **split** into 2, 3, 4… up to 99 pieces. Each piece is a
sub-step and is high or low on its own.

To split: select the steps and use **Division** (`D`).

It is good for two things:

<CardGroup cols={2}>
  <Card title="Writing protocol frames" icon="cpu">
    Every sub-step is one bit. Split a step into 8 and write a byte.
  </Card>

  <Card title="Gaining resolution where you need it" icon="zoom-in">
    A short pulse in the middle of a slow signal, without splitting everything.
  </Card>
</CardGroup>

<Note>
  **Every channel has its own grid.** You can have channel 1 split into thirds and
  channel 2 into quarters at the same time: they do not interfere, and on export
  each one keeps its own values.
</Note>

## Selection

A selection is **one channel and the cells chosen inside it**. It never crosses
channels.

It is what enables almost the whole bottom bar: copy, cut, paste, label, delete,
insert, toggle, invert, divide and offset. With no selection, those buttons are
off.

You select by dragging over the channel, or with the keyboard (`S` takes the
step at the center, `Shift + ← →` extends).

## Label

A **name and a color** over a stretch of steps, to write down what that part of
the signal is: `CLK`, `DATA`, `SYNC`. They are shown and hidden all together.

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

## And in analog

Analog mode uses the same steps and channels, but instead of high/low cells you
get:

* **Connection points**, pinned to the divider lines, at whatever height you
  pick (0 % floor, 100 % ceiling).
* **Chords**, stretched between every two points. Straight out of the box; you
  grab them and stretch them into the curve you are after.

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