Difference between revisions of "Colead SL-5868P"
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 02:26, 8 October 2012
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
- Nuvoton W78E052D 8-bit microcontroller
- Holtek HT1621B LCD driver
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 |