Difference between revisions of "UNI-T UT372"
(→Protocol: Extra time digit) |
|||
Line 32: | Line 32: | ||
The packet is processed to turn it into a valid hex string - any character with an ASCII value above 0x39 is shifted up by 7 characters, putting it into the range 'A' to 'F'. | The packet is processed to turn it into a valid hex string - any character with an ASCII value above 0x39 is shifted up by 7 characters, putting it into the range 'A' to 'F'. | ||
The first character seems to be ignored. The next 5 pairs of characters represent the RPM (least significant digit first). The next | The first character seems to be ignored. The next 5 pairs of characters represent the RPM (least significant digit first). The next 5 pairs of characters represent the time (least significant digit first). The remaining characters are unknown at this point. | ||
Each pair of characters, when interpreted as a single hex byte, is a bitfield representing the on/off state of segments on the display. A look-up table is provided below. Setting the most significant bit indicates that a decimal point is placed after that digit. | Each pair of characters, when interpreted as a single hex byte, is a bitfield representing the on/off state of segments on the display. A look-up table is provided below. Setting the most significant bit indicates that a decimal point is placed after that digit. |
Revision as of 22:12, 1 March 2015
Status | in progress |
---|---|
Connectivity | USB |
Website | uni-trend.com |
The UNI-T UT372 is a digital tachometer with USB connectivity.
Hardware
- Silicon Labs C8051F313 MCU
- Holtek HT1621B LCD controller
- WCH CH9325 USB UART interface
The unit includes a built in laser pointer for aiming at a reflective target, and a tripod fitting to allow stable mounting.
Photos
Protocol
The MCU transmits serial data to the CH9325 at 2400 baud. A packet is 27 bytes of ASCII data ending in CR, LF.
The packet is processed to turn it into a valid hex string - any character with an ASCII value above 0x39 is shifted up by 7 characters, putting it into the range 'A' to 'F'.
The first character seems to be ignored. The next 5 pairs of characters represent the RPM (least significant digit first). The next 5 pairs of characters represent the time (least significant digit first). The remaining characters are unknown at this point.
Each pair of characters, when interpreted as a single hex byte, is a bitfield representing the on/off state of segments on the display. A look-up table is provided below. Setting the most significant bit indicates that a decimal point is placed after that digit.
String | Hex Byte | Character |
---|---|---|
"7;" | 0x7B | 0 |
"60" | 0x60 | 1 |
"5>" | 0x5E | 2 |
"7<" | 0x7C | 3 |
"65" | 0x65 | 4 |
"3=" | 0x3D | 5 |
"3?" | 0x3F | 6 |
"70" | 0x70 | 7 |
"7?" | 0x7F | 8 |
"7=" | 0x7D | 9 |
"0;" | 0x0B | L |