UltimaSerial DI-710, DI-718, DI-148 and DI-158 Protocols

Windaq add-ons
Windaq Add-ons


Data logger
UltimaSerial

Spectrogram
UltimaWaterfall

 

Ultimaserial XChart
XChart

 



UltimaMeter

Ultimaserial Classroom
Lessons

 

The following info are provided absolutely "AS IS". 

Warning: All commands to 710s are case sensitive, please do not try commands that you don't know, or it may totally ruin the device!

For USB models, the device can be accessed via the virtual COM port it connected to. For Ethernet models, the device can be accessed via port 10001 using TCP connection.

All commands should be started with a NULL (0x00) character.

Here are the commands we discovered

Commands Parameter(s) Functions
A 0

1

2

5

7

Returns "DATAQ"

Returns Device name

Returns firmware revision

Returns SD operation flag (1 for scanning, 0 for not)

Returns device description

B 0...7 Baud rate selection, where 0 =4800, 1=9600, 2=19200, 3=38400, 4=57600, 5=115200, 6=230400, 7=460800. 
C 01...10 Set the number of channels
D XX (the letter X) Read digital input if not scanning
D 00...FF Set digital output
d 00...FF Set digital port direction for corresponding bits (1 for input, 0 for output)
F 0000....FFFF Set DAC0 output value
f 0000....FFFF Set DAC1 output value
L variable length The first two digits are the offset in scanlist, then 4 sets of scan configurations.

For example

L030030FFF5680344040 will change the scanlist to 

[unchanged, unchanged, unchanged, 0x0030, 0xFF56, 0x8034, 0x4040, unchanged....]

Each member of the scanlist is defined as 

[000:Diff1:Gain4:Mux8]

Where a digital channel is enabled when Diff1=1, and Mux8=8. There is NO digital channel available in DI-148/158

M 0000....FFFF 16-bit sample rate divisor

For DI-148/158, throughput rate = 14745600/divisor

For DI-710, throughput rate = NumberOfChannel*(14400/TimerScaler)/(NumberOfChannel+divisor)

N 0 Returns serial number  + two digits to indicate PGA model
S 0

1

Stop scanning

Start scanning

T 0 Stop scanning
X 00...FF TimerScaler for DI-71x's main 14400Hz clock.
O 0 Read the real-time clock
s 0

3

Stop recording to SD

Start recording to SD

I yymm Update UTC Year/Month. No change is made to the clock yet
J ddhh Update UTC Day/Hour. No change is made to the clock yet
K mmss Update UTC Min/Sec, and apply all changes to the clock
F X (the letter X) Format SD
e 00000000....FFFFFFFF Specify an absolute address on SD 
m 0 Read 512 bytes from the SD, starting at the absolute address specified by e command
Others Please do not try commands that you don't know, or it may totally ruin the device!

A few of the above commands are used in this tech note

The data stream from DI-710 is like the following, which has three analog channels and a digital channel

Logical Channel Word Count Byte Count B7 B6 B5 B4 B3 B2 B1 B0
1 (analog) 1 1 AD6 AD5 AD4 AD3 AD2 AD1 AD0 0
2 AD13 AD12 AD11 AD10 AD9 AD8 AD7 1
2 (analog) 2 3 AD6 AD5 AD4 AD3 AD2 AD1 AD0 1
4 AD13 AD12 AD11 AD10 AD9 AD8 AD7 1
3 (analog) 3 5 AD6 AD5 AD4 AD3 AD2 AD1 AD0 1
6 AD13 AD12 AD11 AD10 AD9 AD8 AD7 1
4 (digital) 4 7 DI0 0 0 0 0 D1 D0 1
8 DI7 DI6 D5 D4 D3 D2 D1 1

The data stream from DI-148/158 is like the following. There is NO digital channel available in DI-148/158

Logical Channel Word Count Byte Count B7 B6 B5 B4 B3 B2 B1 B0
1 (analog) 1 1 AD4 AD3 AD2 AD1 AD0 D1 D0 0
2 AD11 AD10 AD9 AD8 AD7 AD6 AD5 1
2 (analog) 2 3 AD4 AD3 AD2 AD1 AD0 D1 D0 1
4 AD11 AD10 AD9 AD8 AD7 AD6 AD5 1
3 (analog) 3 5 AD4 AD3 AD2 AD1 AD0 D1 D0 1
6 AD11 AD10 AD9 AD8 AD7 AD6 AD5 1
4 (analog) 4 7 AD4 AD3 AD2 AD1 AD0 D1 D0 1
8 AD11 AD10 AD9 AD8 AD7 AD6 AD5 1

Note: The readings from analog channels are nor calibrated.