Difference between revisions of "Lascar Electronics EL-USB-2"

From sigrok
Jump to navigation Jump to search
Line 26: Line 26:


=== Status structure ===
=== Status structure ===
  // 0x03 packet type?
 
  uint8_t unknown1;
{| border="0" width="95%" style="font-size: smaller" class="alternategrey sigroktable"
|-
  // 0x00 ?
! style="width: 3em;" | Offset
  uint8_t unknown2;
! style="width: 3em;" | Size
! Value
  // NULL-terminated device name, 15 chars max
 
  char device_name[16];
|-
| 0x00
  // 0-23
| 2
  uint8_t start_time_hour;
| unsigned little-endian, device type? 3=EL-USB-2, 9=EL-USB-CO
  // 0-59
 
  uint8_t start_time_minute;
|-
  // 0-59
| 0x02
  uint8_t start_time_second;
| 16
| NULL-terminated device name, 15 chars max
  // 1-31
 
  unit8_t start_date_day;
|-
  // 1-12
| 0x12
  unit8_t start_date_month;
| 1
  // year - 2000
| Start time, hour (0-23)
  unit8_t start_date_year;
 
|-
  uint32_t unknown3;
| 0x13
| 1
  // in seconds, little-endian
| Start time, minute (0-59)
  uint16_t samplerate;
 
|-
  // little-endian
| 0x14
  uint16_t num_stored_samples;
| 1
| Start time, second (0-59)
  // alarm condition enable bitfield (1=enable)
 
  // 0  temperature high
|-
  // 1 temperature low
| 0x15
  // 2  temperature high hold
| 1
  // 3  temperature low hold
| Start date, day (1-31)
  // 4  relative humidity high
 
  // 5  relative humidity low
|-
  // 6  relative humidity high hold
| 0x16
  // 7  relative humidity low hold
| 1
  uint8_t alarm_flags;
| Start date, month (1-12)
 
  03 (03=logging?), 33 02 (02=stop?)
|-
  uint8_t unknown4;
| 0x17
| 1
  // temp high alarm, (value + 40) * 2
| Start date, year (year - 2000)
  uint8_t alarm_temp_high;
 
|-
  // temp low alarm, (value + 40) * 2
| 0x18
  uint8_t alarm_temp_low;
| 4
| unknown
  // 00 00 00 3f, 00 00 80 3f
 
  uint32_t unknown6;
|-
| 0x1c
  // 00 00 20 c2
| 2
  uint32_t unknown7;
| unsigned, little-endian samplerate (seconds between samples)
 
  // 00 00
|-
  uint16_t unknown8;
| 0x1e
| 2
  // temperature unit, little-endian (0=C, 1=Fahrenheit)
| unsigned, little-endian number of stored samples
  uint16_t temp_unit;
 
|-
  // ASCII, not NULL-terminated
| 0x20
  char firmware_version[4]
| 1
| alarm conditions bitfield
  // little-endian, displayed in decimal
 
  uint16_t serial_number;
|-
| 0x21
  // 00 00
| 1
  uint16_t unknown13;
| current status? (2=stopped, 3=logging)
 
  // relative humidity high alarm, double value
|-
  uint8_t alarm_rh_high;
| 0x22
| 1
  // relative humidity log alarm, double value
| temperature alarm high (value + 40) * 2
  uint8_t alarm_rh_low;
 
|-
  // 00 00
| 0x23
  uint16_t unknown10;
| 1
| temperature alarm low (value + 40) * 2
  // 00 00 00 00
 
  uint32_t unknown11;
|-
| 0x24
| 4
| unknown (00 00 00 3f, 00 00 80 3f)
 
|-
| 0x28
| 4
| unknown (00 00 20 c2)
 
|-
| 0x2c
| 2
| unknown (00 00)
 
|-
| 0x2e
| 2
| unknown (possible temp unit, 00 00=C, 01 00=F)
 
|-
| 0x30
| 4
| firmware version (ASCII, not NULL-terminated
 
|-
| 0x24
| 2
| unsigned little-endian, serial number
 
|-
| 0x26
| 2
| unknown (00 00)
 
|-
| 0x28
| 1
| relative humidity alarm high (value * 2)
 
|-
| 0x29
| 1
| relative humidity alarm low (value * 2)
 
|-
| 0x2a
| 2
| unknown (00 00)
 
|-
| 0x2c
| 4
| unknown (00 00 00 00)
 
|}
The rest of the 128-byte payload is padded with 0xff.


== Resources ==
== Resources ==

Revision as of 15:24, 25 November 2012

EL-USB-2

The Lascar Electronics EL-USB-2 is a USB-based temperature and humidity logger.

See Lascar Electronics EL-USB-2/Info for more details (such as lsusb -vvv output) about the device.

Hardware

Photos

Protocol

Status structure

Offset Size Value
0x00 2 unsigned little-endian, device type? 3=EL-USB-2, 9=EL-USB-CO
0x02 16 NULL-terminated device name, 15 chars max
0x12 1 Start time, hour (0-23)
0x13 1 Start time, minute (0-59)
0x14 1 Start time, second (0-59)
0x15 1 Start date, day (1-31)
0x16 1 Start date, month (1-12)
0x17 1 Start date, year (year - 2000)
0x18 4 unknown
0x1c 2 unsigned, little-endian samplerate (seconds between samples)
0x1e 2 unsigned, little-endian number of stored samples
0x20 1 alarm conditions bitfield
0x21 1 current status? (2=stopped, 3=logging)
0x22 1 temperature alarm high (value + 40) * 2
0x23 1 temperature alarm low (value + 40) * 2
0x24 4 unknown (00 00 00 3f, 00 00 80 3f)
0x28 4 unknown (00 00 20 c2)
0x2c 2 unknown (00 00)
0x2e 2 unknown (possible temp unit, 00 00=C, 01 00=F)
0x30 4 firmware version (ASCII, not NULL-terminated
0x24 2 unsigned little-endian, serial number
0x26 2 unknown (00 00)
0x28 1 relative humidity alarm high (value * 2)
0x29 1 relative humidity alarm low (value * 2)
0x2a 2 unknown (00 00)
0x2c 4 unknown (00 00 00 00)

The rest of the 128-byte payload is padded with 0xff.

Resources

TODO.