Difference between revisions of "Lascar Electronics EL-USB-2"
Jump to navigation
Jump to search
Line 57: | Line 57: | ||
uint16_t num_stored_samples; | uint16_t num_stored_samples; | ||
// | // alarm condition enable bitfield (1=enable) | ||
// 0 temperature high | |||
// 1 temperature low | |||
// 2 temperature high hold | |||
// 3 temperature low hold | |||
// 4 relative humidity high | |||
// 5 relative humidity low | |||
// 6 relative humidity high hold | |||
// 7 relative humidity low hold | |||
uint8_t alarm_flags; | |||
03 (03=logging?), 33 02 (02=stop?) | |||
uint16_t unknown4; | uint16_t unknown4; | ||
Revision as of 02:10, 25 November 2012
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
- Silicon Labs C8051F321 8051-based USB microcontroller
- Microchip 24LC256 32kB EEPROM
- Sensiron SHT11 Temperature/humidity sensor
Photos
Protocol
Status structure
// 0x03 packet type? uint8_t unknown1; // 0x00 ? uint8_t unknown2; // NULL-terminated device name, 15 chars max char device_name[16]; // 0-23 uint8_t start_time_hour; // 0-59 uint8_t start_time_minute; // 0-59 uint8_t start_time_second; // 1-31 unit8_t start_date_day; // 1-12 unit8_t start_date_month; // year - 2000 unit8_t start_date_year; uint32_t unknown3; // in seconds, little-endian uint16_t samplerate; // little-endian uint16_t num_stored_samples; // alarm condition enable bitfield (1=enable) // 0 temperature high // 1 temperature low // 2 temperature high hold // 3 temperature low hold // 4 relative humidity high // 5 relative humidity low // 6 relative humidity high hold // 7 relative humidity low hold uint8_t alarm_flags; 03 (03=logging?), 33 02 (02=stop?) uint16_t unknown4; // temp high alarm, (value + 40) * 2 uint8_5 alarm_temp_high; // temp low alarm, (value + 40) * 2 uint8_5 alarm_temp_low; // 00 00 00 3f, 00 00 80 3f uint32_t unknown6; // 00 00 20 c2 uint32_t unknown7; // 00 00 uint16_t unknown8; // 00 00, 01 00 (01 00 = fahrenheit?) uint32_t unknown12; // ASCII, not NULL-terminated char firmware_version[4] // little-endian, displayed in decimal uint16_t serial_number; // 00 00 uint16_t unknown13; // relative humidity high alarm, double value uint8_t alarm_rh_high; // relative humidity log alarm, double value uint8_t alarm_rh_low; // 00 00 uint16_t unknown10; // 00 00 00 00 uint32_t unknown11;
Resources
TODO.