I haven't found it documented anywhere but did discover that it is simple.
The checksum is an unsigned char. You initialize the accumulator to 57 and
then subtract each byte of the command string from the accumulator. I
started working on a tripplite3003 driver (3003 is the Tripp Lite protocol)
but never got around to finishing. Here the code to calculate and send the
checksum byte that I added to the send_cmd function:
unsigned char checksum = 57;
for (i = 0; str[i]; i++) checksum -= (unsigned char)str[i];
ser_send_char(upsfd, checksum);
Paul C. Diem
PCDiem@FoxValley.net
-----Original Message-----
From: Kenneth Tindle [mailto:ktindle@uky.edu]
Sent: Wednesday, September 14, 2005 11:50 PM
To: Paul C. Diem
Subject: Re: [Nut-upsuser] Driver for Tripp Lite SmartPro SLT
Paul,
Do you have any idea what algorithm is used to compute the checksum? Or
is this a typical Tripp Lite top secret?
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.10.24/101 - Release Date: 9/13/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.10.24/101 - Release Date: 9/13/2005