# DDCSV

For DDCSV standalone controllers.

## What the file looks like

The file starts with comments naming the project, the machine and the tools, then:

```
G21 G90 G17
G94
G54
```

Millimetres are `G21`; a profile that outputs inches writes `G20` instead. The spindle starts with
`M3 S{rpm}` followed by a dwell (`G4 P` seconds) for the spin-up time in your profile, unless spindle
control is set to none. Cutting moves are straight lines only — `G00` for rapids and `G01` for cuts,
never arcs — and every line is 80 characters or fewer.

The file ends with:

```
G00 Z{safe}
M5
M30
```

## Tool changes

- **One file per tool** works: run the files in order and change the tool between them.
- **M6 and pause** is not available on DDCSV, and the profile refuses it. Neither DDCSV manual says what
  the controller does with `T`, `M6` or `M0`, so the file might not stop for the change, and the next
  tool's passes would run with the old bit in the spindle.
- **M6 with G43** is not available on DDCSV, and the profile refuses it.

## Before the first run

DDCSV firmware is particular about format, so the file is written its way: two-digit `G00` and
`G01`, every axis on every line, and comments after a semicolon rather than in brackets.

**Let the file set the speeds.** Out of the box a DDCSV controller ignores the feed rates and spindle
speed in the file: it runs every cutting move at its own default feed (parameter #76, 1500 mm/min) and
the spindle at its own default speed (#221, 12000 rpm). Set parameter **#15 to 0** and parameter
**#220 to 0** so it uses the file's feeds and spindle speed. Check this before the first run: a plunge
at the default feed can break a small bit.

**At the end of the file** the `M30` line makes the controller raise Z to its own safe height
(parameter #82) and move X and Y home. If your clamps stand taller than that height, raise #82 first.

Set X and Y zero at the front-left corner of the piece and Z zero on the top of the stock, and run
the first file with the tool well above the work and a hand on the feed hold.
