[...]

> I can now see what is in "buffer" and it looks like just a few leading
> characters might just be missing!
>
> So now I am at a loss of how to resolve this problem!

This could be due to some data remaining in the buffers. The megatec
driver doesn't flush the buffers, so if the UPS sends something it doesn't
expect, this may cause a problem in the synchronisation if a command is
not understood by the UPS.

> I'm not the greatest C programmer. I can read it and it makes sense but
> writing it is a real plod!

Add

        ser_flush_io(upsfd);

on lines 258, 278, 309 and 333. Basically, this will flush whatever is in
the in- and output buffers before sending a command to the UPS. It is safe
(but not always needed) to do so before every ser_send_pace() function.

Best regards, Arjen
-- 
Eindhoven - The Netherlands
Key fingerprint - 66 4E 03 2C 9D B5 CB 9B  7A FE 7E C1 EE 88 BC 57


_______________________________________________
Nut-upsuser mailing list
Nut-upsuser@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser

Reply via email to