Skip to main content
Skip table of contents

UD Modbus (Old, Deprecated)

This page is for the deprecated Modbus map called UD Modbus, which applies to:

U3:  Hardware 1.30 (U3C), Firmware 1.05+

U6:  Firmware 1.00+ UE9:  Comm 1.48+, Control 1.97+

The registers listed below are supported to work as specified, but no new development is planned for UD Modbus.  The T-series devices use our current Modbus map which is active and fully-supported.

UD Modbus Software

The LJSocket page catalogs our experience connecting to Modbus software. We list of some of the quirks we’ve seen, e.g., a zero-based offset vs. one-based offset.

Examples of Modbus communication in LabVIEW are attached to the bottom of this page. These work for direct Modbus communication to the UE9, or Modbus communication over USB using LJSocket.

Modbus Support:

 

 

Device

Hardware Version

First Firmware

U3

1.2

Not Supported

U3

1.21

Not Supported

U3

1.3

Modbus Added in FW 1.05

U6

2

Modbus Added in FW 1.00

UE9

1.1

Modbus Added in Control 1.70, reworked in 1.97. Ethernet support in Comm 1.43 and USB support in Comm 1.48

UD Modbus Protocol

LabJack devices implement the Modbus TCP protocol. For USB devices such as the U3 and U6, use LJSocket to provide a TCP socket interface. Without LJSocket, there is no COTS software we know of that can communicate using Modbus TCP over the LabJack’s USB interface.

Only Modbus functions 3 (Read Multiple), 4 (Read One), 6 (Write One), and 16 (Write Multiple) are supported. In COTS software this often means specifying “Holding” registers.

On the U3/U6/UE9, when a Modbus command is sent by USB the low-level packet must have 2 zeros appended to the front.  This is how the U3/U6/UE9 knows that the packet (after the 2 zeros) is Modbus, and not the normal low-level protocol.  The response does not have anything added and is pure Modbus.  This is generally handled automatically at higher levels (e.g. LJSocket adds the zeros).  SkyMotes only speak Modbus, so commands should always be pure Modbus with no added zeros.

Ethernet Modbus packets on the UE9 are limited to 256 bytes.  USB Modbus packets on the UE9 are limited to 256 bytes, including the 2 zeros appended to the command.  USB Modbus packets on the U3 and U6 are limited to 64 bytes, including the 2 zeros appended to the command.  SkyMote Modbus packets over USB or Ethernet are limited to 64 bytes.

While the Modbus website goes into more detail, here are the bytes the LabJack devices expect:

Requests

 

 

 

 

 

Function Name

Read Reg.

Read Regs.

Write Reg

Write Regs.

 

Function Number

4

3

6

16

Description

Byte[0:1]

Trans ID

Trans ID

Trans ID

Trans ID

Send anything

Byte[2:3]

Protocol ID

Protocol ID

Protocol ID

Protocol ID

Always pass zero

Byte[4:5]

Length

Length

Length

Length

Number of bytes starting at byte 6

Byte 6

Unit ID

Unit ID

Unit ID

Unit ID

For U3, U6, and UE9 pass 0xff

Byte 7

4

3

6

16

Function #

Byte[8:9]

Address

Address

Address

Address

As it appears in the Modbus map

Byte[10:11]

Num Regs (n)

Num Regs (n)

Reg Value

Num Regs (n)

 

Byte 12

 

 

 

Byte Count (2*n)

 

Byte 13...

 

 

 

Reg Values...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Read Reg.

Read Regs.

Write Reg

Write Regs.

 

Responses

4

3

6

16

 

Byte[0:1]

Trans ID

Trans ID

Trans ID

Trans ID

Echo of sent value

Byte[2:3]

Protocol ID

Protocol ID

Protocol ID

Protocol ID

 

Byte[4:5]

Length

Length

Length

Length

Number of bytes starting at byte 6

Byte 6

Unit ID

Unit ID

Unit ID

Unit ID

 

Byte 7

4

3

6

16

 

Byte 8

Byte Count (2*n)

Byte Count (2*n)

Address

Address

 

Byte 9

Reg Data

Reg Data

 

 

 

Byte 10

....

....

Reg Value

Num Regs (n)

 

Byte 11

 

 

 

 

 

If developing your own software, functions 3 (Read Multiple Registers) and 16 (Write Multiple Registers) are all that is needed, so here is more detail about those:

Read Multiple Registers (function #3)

Command [# Bytes = 12]

Bytes 0-1: 0-65535 (Transaction ID, echoed by device)

Bytes 2-3: 0 (Protocol ID)

Byte 4: 0 (MSB of Length)

Byte 5: 6 (LSB of Length)

Byte 6: 0-254 (Unit ID, echoed on U3/U6/UE9, 0 for SkyMote bridge, 1-254 for mote)

Byte 7: 3 (function #)

Bytes 8 & 9: 0-65535 (MSB and LSB, respectively, of starting register address)

Byte 10: 0 (MSB of #Registers)

Byte 11: 1-27 or 1-123 (LSB of #Registers, # of registers to read)

Response [# Bytes = 9 + 2*#Registers, max is 64 or 256]

Bytes 0-3: Echo of command bytes 0-3 (Transaction ID and Protocol ID)

Byte 4: 0 (MSB of Length)

Byte 5: 3 + 2*#Registers (LSB of Length)

Byte 6: Unit ID

Byte 7: 3 (function #)

Bytes 8: 2-54 or 2-246 (2*#Registers)

Bytes 9+: Data

Write Multiple Registers (function #16)

Command [# Bytes = 13 + 2*#Registers, max is 62/64 or 254/256]

Bytes 0-1: 0-65535 (Transaction ID, echoed by device)

Bytes 2-3: 0 (Protocol ID)

Byte 4: 0 (MSB of Length)

Byte 5: 7 + 2*#Registers (LSB of Length)

Byte 6: 0-254 (Unit ID, echoed on U3/U6/UE9, 0 for SkyMote bridge, 1-254 for mote)

Byte 7: 16 (function #)

Bytes 8 & 9: 0-65535 (MSB and LSB, respectively, of starting register address)

Byte 10: 0 (MSB of #Registers)

Byte 11: 1-24/25 or 1-120/121 (LSB of #Registers, # of registers to write)

Bytes 12: 2-48/50 or 2-240/242 (2*#Registers)

Bytes 13+: Data

Response [# Bytes = 12]

Bytes 0-3: Echo of command bytes 0-3 (Transaction ID and Protocol ID)

Byte 4: 0 (MSB of Length)

Byte 5: 6 (LSB of Length)

Byte 6: Unit ID

Byte 7: 16 (function #)

Bytes 8 & 9: 0-65535 (MSB and LSB, respectively, of starting register address)

Byte 10: 0 (MSB of #Registers)

Byte 11: 1-24/25 or 1-120/121 (LSB of #Registers, # of registers to write)

Note: "Length" is number of bytes after the "Length" parameter. From the Modbus spec.

Examples

Here is an example LabJackPython session that communicates with a U6 connected over USB. Debugging is turned on to show the bytes sent and received. These are done directly over USB, not through LJSocket, so the outgoing packets have 2 extra zeros in front that tell the USB device this is a Modbus packet.

Read AIN0 - python

import u6 d = u6.U6() d.debug = True d.readRegister(0) # Sent: [0x0, 0x0, 0xa6, 0x3f, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2] # Response: [0xa6, 0x3f, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3, 0x4, 0xb8, 0xf5, 0x70, 0x0] # -0.00011703372001647949

The Python code reads from register 0, which the map below states is AIN0. Here’s how to read from AIN1:

Read AIN1 - python

d.readRegister(2) # Sent: [0x0, 0x0, 0xa6, 0x40, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3, 0x0, 0x2, 0x0, 0x2] # Response: [0xa6, 0x40, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3, 0x4, 0x40, 0x9d, 0x94, 0xfc] # 4.9244365692138672

AIN1 is at register 2 because each analog input takes 2 registers (32-bits). The Modbus map below lists how many registers each address requires in the “Min Regs” column. Here’s how to read AIN0, AIN1, AIN2, and AIN3 at the same time:

Read AIN0 through AIN3 - python

d.readRegister(0, numReg = 8) Sent: [0x0, 0x0, 0xa6, 0x41, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x8] # Response: [0xa6, 0x41, 0x0, 0x0, 0x0, 0x13, 0x0, 0x3, 0x10, 0xb8, 0xee, 0xe0, 0x0, 0x40, 0x9d, 0xa7, 0xbe, 0x3f, 0x3, 0x84, 0x62, 0x3f, 0x16, 0x24, 0xe8] [-0.00011390447616577148, 4.9267263412475586, 0.51373875141143799, 0.58650064468383789]

Because the addresses (0, 2, 6, and 8) are all consecutive, we can request 8 registers starting at address 0. The four floating point values are returned as a sequence of 16 bytes, and LabJackPython (and other Modbus software) knows how to recombine them.

Here’s how to set DAC0 to 3.7 V.

Set DAC0 to 3.7V - python

d.writeRegister(5000, 3.7) # Sent: [0x0, 0x0, 0xa6, 0x42, 0x0, 0x0, 0x0, 0xb, 0x0, 0x10, 0x13, 0x88, 0x0, 0x2, 0x4, 0x40, 0x6c, 0xcc, 0xcd] # Response: [0xa6, 0x42, 0x0, 0x0, 0x0, 0x6, 0x0, 0x10, 0x13, 0x88, 0x0, 0x2] # 3.7000000000000002

We’ve wired DAC0 to AIN1 so that we can read it back:

Read AIN1 - python

d.readRegister(2) # Sent: [0x0, 0x0, 0xa6, 0x43, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3, 0x0, 0x2, 0x0, 0x2] # Response: [0xa6, 0x43, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3, 0x4, 0x40, 0x6c, 0x5d, 0x37] # 3.6931893825531006

UD Modbus Map

In the columns marked “Read” and “Write”, we indicate the progress we’ve made with the following legend:

  • x means that the register is fully implemented and tested to the satisfaction of our team.

  • n means that the register is implemented, but not fully tested to the satisfaction of our team.

  • f means that the register won’t throw an error, but isn’t implemented. This is most commonly used for features that devices don’t offer. For example, the UE9/U6 doesn’t have FIOs that can become Analog, so the FIO Analog registers don’t do anything on the UE9/U6.

  • If the space is blank, then it means it isn’t implemented, and will throw a Modbus error if you try to access it.
    The “Min Regs” column indicates if you need to read more than one register. Each register is 16 bits. For example, AIN readings are 32-bit floating point numbers, and so they must be read in increments of 2 16-bit registers.

Registers with (number:number) indicate that multiple addresses are used to access the available channels. To get the address for a specific channel, multiply the channel number by the number of registers ("Min Regs" column) and add the base address listed in the "Address" column.

A couple examples:

1) "DIO State (0:22)" indicates that up to 23 addresses can be used to access the states of the DIO lines. The address for DIO5 will be 5*1+6000 = 6005.

2) For AIN3 we have 3*2+0 = 6.

 

 

 

 

 

Supported         

 

 

 

 

 

U3 FW 1.28 

UE9 Ctrl 2.04 

U6 Ctrl 1.06 

Address

Description

Min
Regs

Data
Type

More Info

Read

Write

Read

Write

Read

Write

0

Analog Inputs (0:254)

2

single

 

x

 

x

 

x

 

1000

AIN Res (0:254)

1

u16

 

x

f

x

x

x

x

1500

AIN Range (0:254)

1

u16

 

x

f

x

x

x

x

2000

AIN Settling (0:254)

1

u16

 

x

f

x

x

x

x

2500

AIN Options (0:254)

1

u16

 

x

f

x

 

x

x

3000

AIN Neg Chn (0:254)

1

u16

 

x

x

x

 

x

x

 

 

 

 

 

 

 

 

 

 

 

5000

DAC Values (0:1)

2

single

 

x

 

x

x

x

x

 

 

 

 

 

 

 

 

 

 

 

6000

DIO State (0:22)

1

u16

 

x

x

x

x

x

x

6100

DIO Direction (0:22)

1

u16

 

x

n

x

x

x

n

6200

Power Switch State

1

u16

 

 

 

 

 

 

 

6700

FIO States (Upper Byte is Mask)

1

u16

Masks are only

n

n

x

x

x

n

6701

EIO States (Upper Byte is Mask)

1

u16

meaningful

n

n

x

x

x

n

6702

CIO States (Upper Byte is Mask)

1

u16

when writing

n

n

x

x

x

n

6703

MIO States (Upper Byte is Mask)

1

u16

 

 

 

 

 

 

 

6750

FIO Directions (Upper Byte is Mask)

1

u16

 

n

n

x

x

x

n

6751

EIO Directions (Upper Byte is Mask)

1

u16

 

n

n

x

x

x

n

6752

CIO Directions (Upper Byte is Mask)

1

u16

 

n

n

x

x

x

n

6753

MIO Directions (Upper Byte is Mask)

1

u16

 

 

 

 

 

 

 

6800

Raw Single IO State

1

u16

 

n

n

x

x

n

n

6900

Raw Single IO Direction

1

u16

 

n

n

x

x

n

n

 

 

 

 

 

 

 

 

 

 

 

7000

Timer Clock (Long)

2

u32

 

x

x

x

x

x

x

7002

Timer Divisor (Long)

2

u32

 

x

x

x

x

x

x

7100

Timer Config (0:3)

2

u32

 

x

x

x

x

x

x

7200

Timers (Read/Reset) (0:3)

2

u32/i32

 

n

n

x

x

x

x

7300

Counters (Read/Reset) (0:1)

2

u32

 

n

n

x

x

n

n

 

 

 

 

 

 

 

 

 

 

 

8000

Stream Config

 

 

 

 

 

 

 

 

 

8200

Stream Start

 

 

 

 

 

 

 

 

 

8210

Stream Stop

 

 

 

 

 

 

 

 

 

8500

Stream Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9000

SHT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9100

I2C Options

8

 

R / W

 

 

x

x

 

 

9101

I2C Speed

 

 

 

 

 

x

x

 

 

9102

I2C SDA

 

 

 

 

 

x

x

 

 

9103

I2C SCL

 

 

 

 

 

x

x

 

 

9104

I2C Address

 

 

 

 

 

x

x

 

 

9105

I2C Num To Tx

 

 

 

 

 

x

x

 

 

9106

I2C Num To Rx

 

 

 

 

 

x

x

 

 

9107-9122

I2C Tx Data

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

9200

SPI

 

 

 

 

 

 

 

 

 

9300

UART

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10000

VBatt

 

 

 

 

 

 

 

 

 

10002

Temperature (C? K? F?)

 

 

 

 

 

 

 

 

 

10004

RH%

 

 

 

 

 

 

 

 

 

10006

Light (Lux? Cd?)

 

 

 

 

 

 

 

 

 

10008

Pressure (Unit?)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10800

Motion Detected?

 

 

 

 

 

 

 

 

 

10802

Motion Settings

 

 

 

 

 

 

 

 

 

10012

Sound (# Addresses?)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10800

Switch A

 

 

 

 

 

 

 

 

 

10810

Switch B

 

 

 

 

 

 

 

 

 

10900

Relay A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12000

RX LQI

 

single

 

 

 

 

 

 

 

12002

TX LQI

 

single

 

 

 

 

 

 

 

12004

Get Battery

 

single

 

 

 

 

 

 

 

12006

Get Temp

 

single

 

 

 

 

 

 

 

12008

Get Light

 

single

 

 

 

 

 

 

 

12010

Get Motion

 

single

 

 

 

 

 

 

 

12012

Get Sound

 

single

 

 

 

 

 

 

 

12014

Get RH%

 

single

 

 

 

 

 

 

 

12016

Get Pressure

 

single

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14000

TLB Check-In Report 1

24

 

 

 

 

 

 

 

 

14000

Status/Reserved

1

u16

bit 0 - Flashing

 

 

 

 

 

 

14001

RX LQI (Byte0), TX LQI (Byte1)

1

2 bytes

 

 

 

 

 

 

 

14002

Battery Voltage (V)

2

single

 

 

 

 

 

 

 

14004

Bump Count / Motion

1

u16

 

 

 

 

 

 

 

14005

# MMA Sample

1

u16

 

 

 

 

 

 

 

14006

Temperature (C)

2

single

 

 

 

 

 

 

 

14008

Light Current (Units?)

2

single

 

 

 

 

 

 

 

14010

Light Max

2

single

 

 

 

 

 

 

 

14012

Light Min

2

single

 

 

 

 

 

 

 

14014

Sound Current (Units?)

2

single

 

 

 

 

 

 

 

14016

Sound Max

2

single

 

 

 

 

 

 

 

14018

Sound Min

2

single

 

 

 

 

 

 

 

14020

RH %

2

single

 

 

 

 

 

 

 

14022

Reserved

2

reserved

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14030

TLB Check-In Report 2

23

 

 

 

 

 

 

 

 

14030

Status/Reserved

1

u16

 

 

 

 

 

 

 

14031

Temperature Max

2

single

 

 

 

 

 

 

 

14033

Temperature Min

2

single

 

 

 

 

 

 

 

14035

Temperature Average

2

single

 

 

 

 

 

 

 

14037

Light Average

2

single

 

 

 

 

 

 

 

14039

Sound Average

2

single

 

 

 

 

 

 

 

14041

RH % Max

2

single

 

 

 

 

 

 

 

14043

RH % Min

2

single

 

 

 

 

 

 

 

14045

RH % Average

2

single

 

 

 

 

 

 

 

14047

Reserved

6

reserved

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10700

Burst Settings

 

 

 

 

 

 

 

 

 

10701

Frequency Index

 

 

 

 

 

 

 

 

 

10702

Burst Num Samples

 

 

 

 

 

 

 

 

 

10703

Burst Channel 0

 

 

 

 

 

 

 

 

 

10704

Burst Channel 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35100

Buzz Duration

 

 

 

 

 

 

 

 

 

35101

Buzz 1

 

 

 

 

 

 

 

 

 

35102

Buzz 2

 

 

 

 

 

 

 

 

 

35103

Power

 

 

 

 

 

 

 

 

 

35104

Inten 1

 

 

 

 

 

 

 

 

 

35105

Inten 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40000

Script Settings

 

 

 

 

 

 

 

 

 

40100

Script Debug

 

 

 

 

 

 

 

 

 

40200

Script Stop

 

 

 

 

 

 

 

 

 

40300

Script GO

 

 

 

 

 

 

 

 

 

41004-41999

Script RAM

 

 

 

 

 

 

 

 

 

42004-42999

Script App

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50000

General Config

 

 

 

 

 

 

 

 

 

50000

PANID

 

u16

 

 

 

 

 

 

 

50001

Channel Mask

1

 

Bridge only, bit 0 = chan 11, bit 16 = chan 26

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50100

Sleeping Mote Config

 

 

 

 

 

 

 

 

 

50100

Process Interval

2

u16

 

 

 

 

 

 

 

50102

Sleep Time / Check In Time (ms)

2

u16

 

 

 

 

 

 

 

50104

Sleep Options

2

u16

 

 

 

 

 

 

 

50106

numChildCommFailures

2

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50120

Network Password

8

 

byte 0 = Options, bytes 1-15 = Password

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50400

Spontaneous config

1

 

First bit = 0(off), 1(on)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50500

Pin Offset

1

 

 

x

x

x

f

x

x

50501

Num Timers Enabled

1

 

 

x

x

x

x

x

x

50502

Counter Mask

1

 

 

x

x

x

x

x

x

 

 

 

 

 

 

 

 

 

 

 

50590

FIO Analog

1

 

Bitmask (1=Analog, 0=digital)

x

x

 

 

f

f

50591

EIO Analog

1

 

Bitmask (1=Analog, 0=digital)

x

x

 

 

f

f

 

 

 

 

 

 

 

 

 

 

 

50800

SWDT Settings

6

 

 

 

 

x

x

 

 

50801

SWDT Time

 

 

 

 

 

x

x

 

 

50802

DIO Response A

 

 

 

 

 

x

x

 

 

50803

DIO Response B

 

 

 

 

 

x

x

 

 

50804

DAC0 Response

 

 

 

 

 

x

x

 

 

50805

DAC1 Response

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

55000

Detailed Error

1

 

 

 

 

x

 

 

 

55900

Reserved

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ethernet Processor
(56000-56999)

 

 

 

 

 

 

 

 

 

 

56000

Firmware Version

1

u16

 

 

 

 

 

 

 

56002

Buffer Status

12

u32

 

 

 

 

 

 

 

56004

NumEthRX

 

u32

 

 

 

 

 

 

 

56006

NumEthTX

 

u32

 

 

 

 

 

 

 

56008

NumPIBRX

 

u32

 

 

 

 

 

 

 

56010

NumPIBTX

 

u32

 

 

 

 

 

 

 

56012

Num Mapped

 

u32

 

 

 

 

 

 

 

 

Eth Processor Last Error

 

u16

 

 

 

 

 

 

 

 

DM Overflows

 

u16

 

 

 

 

 

 

 

 

DM OVF During

 

u16

 

 

 

 

 

 

 

 

DM OVF During

 

u16

 

 

 

 

 

 

 

 

Num iPIB TOs

 

u16

 

 

 

 

 

 

 

 

Nun oPIB TOs

 

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56100

Settings (Read only)

12

u32

 

 

 

 

 

 

 

56102

Current IP

 

u32

 

 

 

 

 

 

 

56104

Current Subnet

 

u32

 

 

 

 

 

 

 

56106

Current Gateway

 

u32

 

 

 

 

 

 

 

56108

Current DNS

 

u32

 

 

 

 

 

 

 

56110

Current Alt DNS

 

u32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56150

Settings

12

u32

 

 

 

 

 

 

 

56152

Default IP

 

u32

 

 

 

 

 

 

 

56154

Default Subnet

 

u32

 

 

 

 

 

 

 

56156

Default Gateway

 

u32

 

 

 

 

 

 

 

56158

Reserved

 

u32

 

 

 

 

 

 

 

56160

Reserved

 

u32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56200

MAC (802.3, 6-byte)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56900

Flash Lock Key

 

 

 

 

 

 

 

 

 

56902

Flash Erase

2

 

 

 

 

 

 

 

 

56904

Flash Pointer

 

 

 

 

 

 

 

 

 

56906

Flash Write

18

 

 

 

 

 

 

 

 

56908

Flash Read

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56998

W = Enter flash mode / R = BL Version

 

 

 

 

 

 

 

 

 

56999

Restart (4C4A)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

USB Processor
(57000-57999)

 

 

 

 

 

 

 

 

 

 

57000

USB Processor Firmware Version

1

2 bytes

[ MSB, LSB]

 

 

 

 

 

 

57001

USB Proc. Buffer Status

1

u16

 

 

 

 

 

 

 

57002

NumUSBRX

2

u32

 

 

 

 

 

 

 

57004

NumUSBTX

2

u32

 

 

 

 

 

 

 

57006

NumPIBRX

2

u32

 

 

 

 

 

 

 

57008

NumPIBTX

2

u32

 

 

 

 

 

 

 

57010

USB Processor Last Error

1

u16

 

 

 

 

 

 

 

57011

DM Overflows

1

u16

 

 

 

 

 

 

 

57012

DM OVF During PIB TRNX

1

u16

 

 

 

 

 

 

 

57013

DM OVF During USB TRNX

1

u16

 

 

 

 

 

 

 

57014

Num PIB TOs

1

u16

 

 

 

 

 

 

 

57015

Nun USB TOs

1

u16

 

 

 

 

 

 

 

57016

Num Spontaneous Sent

2

u32

 

 

 

 

 

 

 

57018

Num Spontaneous Dropped

2

u32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57020

Error History (last 16 errors)

 

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57050

VUSB

2

single

 

 

 

 

 

 

 

57052

VJack

2

single

 

 

 

 

 

 

 

57054

VST

2

single

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57998

W = Enter flash mode / R = BL Version

 

u16

 

 

 

 

 

 

 

57999

Restart (4C4A)

 

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

58000

Device Name (USB String Format)

 

 

Writing Byte 0 erases

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59000

Flash Lock Key

2

 

 

 

 

 

 

 

 

59020

0xAA55

1

 

 

 

 

 

 

 

 

59021

0xC33C

1

 

 

 

 

 

 

 

 

59022

Address to Write

2

 

 

 

 

 

 

 

 

59024

Start of 32 bytes of data

1-40

 

(16 registers long)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59074

0xAA55

 

 

 

 

 

 

 

 

 

59075

0xC33C

 

 

 

 

 

 

 

 

 

59076

Block to Erase

 

 

2 registers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59080

Start of Image

 

 

 

 

 

 

 

 

 

59082

Length of Image (Bytes)

 

 

 

 

 

 

 

 

 

59084

Start of 20-byte checksum

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59100

Read Address

2

 

 

 

 

 

 

 

 

59120

Data from flash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59198

Change mode (0=norm, 1=flash)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59200

Num Known Devices

2

u32

 

 

 

 

 

 

 

59202

Device 0 ID

1

u16

 

 

 

 

 

 

 

59329

Device 127 ID

1

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59400

Network Channel

1

u16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59410

Energy Scan

8

 

16 bytes, byte0 = chan11, takes 2212 ms

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59940

Wireless to UART ping test

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59950

AIN binary / Num Samples

 

 

 

 

 

 

 

 

 

59952

AIN Max / Range

 

 

 

 

 

 

 

 

 

59953

AIN Min / JN_Chn (0-3)

 

 

 

 

 

 

 

 

 

59954

AIN Avg /

 

 

 

 

 

 

 

 

 

59955

AIN Standard Deviation /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59980

Set Hardware Config

 

 

 

 

 

 

 

 

 

59988

Range Test Mode. Num Minutes

 

 

 

 

 

 

 

 

 

59989

Hi Power Mode. Num Minutes

 

 

 

 

 

 

 

 

 

59990

Rapid mode timeout (Minutes)

1

 

 

 

 

 

 

 

 

59999

Reset (0x4C4A)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60000-60999

User Mem

16

 

 

 

 

x

 

 

 

61000-61999

Calibration Data

16

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64000-64007

AES Key

 

 

 

n

 

x

x

 

 

64008-64009

IP Address for CloudDot

2

string

 

n

 

x

x

 

 

64010

Port for CloudDot

1

int

 

n

 

x

x

 

 

64016

Heartbeat

 

 

 

n

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

65000

Product ID

1

int

 

x

 

x

 

x

 

65001

Serial Number

2

int

 

x

 

x

 

x

 

65003

Local ID

1

int

 

x

 

x

 

x

 

65004

Hardware Version

1

int

 

x

 

x

 

x

 

65005

Hardware Options

1

int

 

x

 

x

 

x

 

65006

Firmware Version

1

spf

 

x

 

x

 

x

 

65007

Bootloader Version

1

spf

 

x

 

x

 

x

 

65008

Other Versions

1

spf

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65100

Product ID

2

 

 

 

 

 

 

 

 

65102

Firmware Version

1

 

 

 

 

 

 

 

 

65103

Unit ID

1

 

 

 

 

 

 

 

 

65104

MAC (805.15.4, 8-byte)

4

 

 

 

 

 

 

 

 

65108

Serial Number

2

 

 

 

 

 

 

 

 

65110

Device Name

16

 

 

 

 

 

 

 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.