Difference between revisions of "Colead SL-5868P"

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


The meter sends two measurements per second. When a new measurement is ready, the device sends <code>0x10</code>. The PC responds with <code>0x20</code>, which causes the device to transmit a 10-byte structure containing configuration and measurement.
The meter sends two measurements per second. When a new measurement is ready, the device sends <code>0x10</code>. The PC responds with <code>0x20</code>, which causes the device to transmit a 10-byte structure containing configuration and measurement.
When the user presses the <code>Read</code> key on the keypad, the device sends all its stored measurements out via the serial port. This is preceded by two bogus measurement records as a marker, where all the digits are set to <code>0x0a</code> and byte 2 contains <code>0x09</code> in the first record, and <code>0x08</code> in the second record. The stored measurement records then follow; the entire sequence is typically repeated twice, including the marker.
When the user switches back to live measurement mode, another two bogus measurement records are sent. To mark the return to live mode, the second bogus record this time contains <code>0x07</code>. All following records are then live.


=== Commands ===
=== Commands ===
Line 67: Line 71:
| 2
| 2
|
|
| Configuration. The low nibble has the following meaning:
| '''Configuration. The low nibble has the following meaning:'''


|-
|-
Line 152: Line 156:
|
|
|
|
| The high nibble has the following meaning:
| '''The high nibble has the following meaning:'''


|-
|-
Line 167: Line 171:
| 3-7
| 3-7
|
|
| BCD-encoded value, one byte per digit 0x00-0x09. 0x0a means ignored digit. The last digit represents the decimal.
| '''BCD-encoded value, one byte per digit 0x00-0x09. 0x0a means ignored digit. The last digit represents the decimal.'''


|-
|-
| 8
| 8
|
|
| Measurement status
| '''Measurement status'''


|-
|-
Line 187: Line 191:
| 9
| 9
|
|
| Checksum: sum of bytes 0-8
| '''Checksum: sum of bytes 0-8'''


|}
|}

Revision as of 03:26, 8 October 2012

Colead SL-5868P.jpg

The Colead SL5868P is an inexpensive sound level meter with RS232 capability. It has Lp and Leq measurement modes, and can trigger alarm conditions based on a configured level.

It is rebranded under many names, but appears to generally have the SL-5868P model designation. It's available for under $100.

Hardware

Photos

Protocol

TODO: serialcomm

The meter sends two measurements per second. When a new measurement is ready, the device sends 0x10. The PC responds with 0x20, which causes the device to transmit a 10-byte structure containing configuration and measurement.

When the user presses the Read key on the keypad, the device sends all its stored measurements out via the serial port. This is preceded by two bogus measurement records as a marker, where all the digits are set to 0x0a and byte 2 contains 0x09 in the first record, and 0x08 in the second record. The stored measurement records then follow; the entire sequence is typically repeated twice, including the marker.

When the user switches back to live measurement mode, another two bogus measurement records are sent. To mark the return to live mode, the second bogus record this time contains 0x07. All following records are then live.

Commands

Command Direction Description
0x10 Device -> PC Measurement ready
0x20 PC -> Device Send measurement

Data structure

Byte Value Description
0 Always 0x08
1 Always 0x04
2 Configuration. The low nibble has the following meaning:
0000 Lp, Weighting A, Fast
0001 Lp, Weighting A, Slow
0010 Lp, Weighting C, Fast
0011 Lp, Weighting C, Slow
0100 Lp, Flat, Fast
0101 Lp, Flat, Slow
0110 Ln, Weighting A, Fast
0111 Ln, Weighting A, Slow
1000 Leq, Weighting A, Fast (10-second mean)
1001 Leq, Weighting A, Fast (mean over minutes)
1010 Leq, Weighting A, Slow (10-second mean)
1011 Leq, Weighting A, Slow (mean over minutes)
1100 Internal calibration mode, Fast
1101 Internal calibration mode, Slow
1110 Unused
1111 Unused
The high nibble has the following meaning:
0001 Normal measurement
0010 Max hold mode
3-7 BCD-encoded value, one byte per digit 0x00-0x09. 0x0a means ignored digit. The last digit represents the decimal.
8 Measurement status
0 Invalid
1 Valid
9 Checksum: sum of bytes 0-8