Hi,

On Mon, Oct 19, 2015 at 02:14:46PM +0200, Matthieu Gaillet wrote:
> The IC is a DTM0660 from Hong-Kong based cy named Dream Tech International 
> Ltd http://www.dreamtechintl.com.cn/en/ <http://www.dreamtechintl.com.cn/en/> 
> (mostly useless website)

Interesting, we haven't seen one of these yet, indeed.


> There is no IC Datasheet to find anywhere using google. However I found some 
> chinese document indexing website that had a reference to a document that I 
> managed to translate to get the interesting info.

Do you have a URL for that please?


> The protocol is a 15 bytes (!) continuous 2400 8N1 dataflow very close to the 
> FS9721 data structure
> This protocol looks quite unique, I didn’t found anything about it on the web.
> The decoding table is the following :
> • +======+==========+=============+=========+=========+============+
> • | Byte | Bits 7-4 |    Bit 3    |  Bit 2  |  Bit 1  |   Bit 0    |
> • +======+==========+=============+=========+=========+============+
> • |    0 | 0x1      | RS232       | Auto    | DC      | AC         |
> • +------+----------+-------------+---------+---------+------------+
> • |    1 | 0x2      | 4A          | 4F      | 4E      | - (minus)  |
> • +------+----------+-------------+---------+---------+------------+
> • |    2 | 0x3      | 4B          | 4G      | 4C      | 4D         |
> • +------+----------+-------------+---------+---------+------------+
> • |    3 | 0x4      | 3A          | 3F      | 3E      | DP1        |
> • +------+----------+-------------+---------+---------+------------+
> • |    4 | 0x5      | 3B          | 3G      | 3C      | 3D         |
> • +------+----------+-------------+---------+---------+------------+
> • |    5 | 0x6      | 2A          | 2F      | 2E      | DP2        |
> • +------+----------+-------------+---------+---------+------------+
> • |    6 | 0x7      | 2B          | 2G      | 2C      | 2D         |
> • +------+----------+-------------+---------+---------+------------+
> • |    7 | 0x8      | 1A          | 1F      | 1E      | DP3        |
> • +------+----------+-------------+---------+---------+------------+
> • |    8 | 0x9      | 1B          | 1G      | 1C      | 1D         |
> • +------+----------+-------------+---------+---------+------------+
> • |    9 | 0xa      | Diode       | k       | n       | u          |
> • +------+----------+-------------+---------+---------+------------+
> • |   10 | 0xb      | Beep        | M       |  %      | m          |
> • +------+----------+-------------+---------+---------+------------+
> • |   11 | 0xc      | Hold        | Rel     | Ohms    | Farads     |
> • +------+----------+-------------+---------+---------+------------+
> • |   12 | 0xd      | Low battery | Hz      | V       | A          |
> • +------+----------+-------------+---------+---------+------------+
> • |   13 | 0xe      | NVC (?)     | hFE     | Celcius | Fahrenheit |
> • +------+----------+-------------+---------+---------+------------+
> • |   14 | 0xf      | Max         | Min-Max | Min     | On (?)     |
> • +------+----------+-------------+---------+---------+------------+
> 
> Note that the digit lettering this one (NB the sigrok wiki refers to a 
> completely different lettering)

The individual flags in bytes 0-12 (RS232, Auto, DC, etc.) are exactly
the same as in the FS9721, though apparently the order is inverted (bits
3..0 instead of 0..3), assuming that's not just a typo in either our wiki
or the table above.

http://sigrok.org/wiki/Multimeter_ICs#Fortune_Semiconductor_FS9721_LP3

The LCD digit mapping might be different. Can you put the above table and
the digit-mapping in the wiki please (similar to the FS9721 docs above).
Oh, and an "lsusb -v" as well.

Please join us on IRC in #sigrok (Freenode) for a wiki account and/or
let us know which username you'd like here on the mailing list.

Please also upload a few photos (top/bottom, and PCB shots if possible)
to the wiki. Thanks!


> I guess that this enough to develop a new driver dtc0660 based on the FS9721.

Probably, but let's clarify a few other point first, just in case.

One thing to check is whether one of the other FS... ICs may have an
even more similar protocol. Doesn't look likely, though.

Another thing to check is the "lsusb -v" of the USB cable the DMM ships
with. We know about some cases where the cable actually alters the
protocol as transmitted by the (e.g. FS9721) multimeter IC, which might
or might not be an explanation of the differences to the FS9721.

It could of course also be the case that the DTM0660 just intentionally
emulates the FS9721 (or some other IC's) protocol, correctly or
incorrectly.

The length of 15 bytes (instead of the FS9721's 14 bytes) is also
interesting, they probably just needed a few more flags and ran out
of space in the 14 existing bytes.


> I’m ready to spend some time on it. Would somebody feel like helping me to 
> help me find my way in the project structure and to kickstart me ?

Probably best to join IRC for this, makes things a bit easier. But
here's the quick version:

*If* there's a need for another parser, you'd create dtm0660.c in src/dmm,
and hook it up in src/hardware/serial-dmm/*. Search for fs9721 there to
find the places where the parsers are used.

Then you'd just add one DMM() entry there for the Velleman DVM4100
referencing the parser etc.


Uwe.
-- 
http://hermann-uwe.de | http://randomprojects.org | http://sigrok.org

------------------------------------------------------------------------------
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to