Product specifications
Diamond 36kW Manual Dynatronix, Inc.
198-1600-00 Rev F Page 109 of 146
B.1.3 Command Format
Example Command: @00.0e3#2,NN.NNtext1,NNtext2,CRCcrlf
command
field
field description for example above
delimiter
text
@AA.a
Sync character (@) and unit address, AA = Unit ID (0 to 99; 0 is a global
ID), a = Channel ID (0 is global channel ID)
e3
Command character (e in this example) and Type – 0=read, 1=set,
2=activate, 3=ack, 4=nak
#2,
Number of fields character (#) and number of fields (2) after the comma (2
in this example), excluding the CRC field
NN.NN,
Command fields (values shown are just for example)
text1
NN,
Command fields (values shown are just for example)
text2
CRC
CRC value in ASCII decimal, (value shown as 54321 in examples), see
CRC Calculation below. Calculate from all preceding chars including @
and the comma before the CRC. The CRC value can be 1 to 5 digits.
crlf
Carriage return and Line feed (0x0D 0x0A)
B.1.4 Formatting Rules
1. The protocol is a master/slave format where the Diamond controller is the slave and the device
talking to the Diamond controller is the master or host. The master (host) always initiates a
command and then waits for a response from the slave.
2. ASCII based, no control characters (except CR-LF terminator), only standard alpha-numeric-
punctuation characters.
3. Numbers are numeric only (decimal) and can have a decimal point (period).
4. The "@" is the sync character and is the first character of any message. A “@” received in the
middle of a command will cause the Diamond controller to discard all previous characters
received since the previous “@” and restart the parser for a new message (any time an “@” is
received it is considered the beginning of a message, even if the last message was not
completed).
5. All data fields are delimited by at least a comma “,”.
6. Delimiters can contain alpha-numeric-punctuation text (not period "." or "@") and require a
comma "," at the end.
7. Delimiters can have any desired text, except as noted above, between the field number and
the comma but cannot start with a numeric (0-9) value (ie. Step6Volts is a valid delimiter).
8. Special case delimiters are used to name waveforms. To name a waveform the delimiter of
the ‘waveform index’ field would have a “:” (colon) after the waveform index value and then the
text for the waveform name (i.e. 1:SawTooth, would name waveform 1 as “SawTooth” when
sent as the waveform index field). See the documentation for the “w” waveform command for
details.










