Hi Tim,
thanks for your impressive decoding work. Did you compare this with
drivers/tripplite.c in the NUT sources? The protocol seems to be
similar, except that yours appears to send binary data, whereas the
NUT driver sends hex-encoded data.
Does the NUT "tripplite" driver work with your UPS?
If not, it should be relatively easy for you to write a driver that
would work. You could start by modifying the existing "tripplite"
driver.
I noticed that you gave the checksums in your decoded protocol as
(0xB1 - (N[1] + N[2])), (0xB7 - (H[1] + H[2] + H[3])) etc. I noticed
that the formula simplifies if you include the command letter in the
checksum, e.g.
0xB1 = 0xFF - 'N'
0xB7 = 0xFF - 'H'
etc, so you get:
checksum = (0xFF - ('N' + N[1] + N[2]))
checksum = (0xFF - ('H' + H[1] + H[2] + H[3]))
and so on, which is a nicer formula. -- Peter
Arnaud Quette wrote:>
> Hi Tim,
> the best place for such a doc is the NUT development mailing list
(cc'ed in
> the present mail). If it's worth, then it will be put in the protocol
> section...
> Thanks for your contribution, as it might be useful to some NUT developers.
>
> --
> Tim Steiner wrote:
> Hello,
>
> Not sure if this is the appropriate place to send
> this, but thought it might be of some help. I spent
> some time recently trying to figure out how to
> communicate with a Tripplite 500 directly through a
> serial port ( rather than using their software ).
> Anyway the attached document is what I had come up
> with and, after looking through the NUTS project,
> thought I should pass it along.
>
> Hope it helps
> ---
>
> Arnaud Quette
> --
> Linux / Unix Expert - MGE UPS SYSTEMS - R&D Dpt
> Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
> Debian Developer -
>
http://people.debian.org/~aquette/<http://people.debian.org/%7Eaquette/>
> OpenSource Developer - http://arnaud.quette.free.fr/