Returned to office right now... :-(
Now I will take a look to your corrections.
. best regards
_ Elio Corbolante.
At 23:54 2009/02/05 +0100, Kjell Claesson wrote:
onsdag 04 februari 2009 23:24:11 skrev Arjen de Korte:
Hi Arjen,
(Sorry for the bottom quote of original mail)
As I put it in the trunk I feel that I have to fix some of the code.
Send a copy of the mail to Elio. I have made some changes to the code,
as you suggested. But I leave it up to Elio to check it out.
I don't want to make to may changes. But it is in the trunk now.
regards
/Kjell
P.S. Made some comments in the rest of the mail.
> Citeren Arnaud Quette <[email protected]>:
> > Author: keyson-guest
> > Date: Wed Feb 4 15:03:36 2009
> > New Revision: 1765
> >
> > Log:
> > - Added mocrodowell.c/h into drivers/. add man/microdowell.8. Adjusted
> > drivers/Makefile.am and man/makefile.am. Adjusted the code for 2.4.0 in
> > the microdowell.c.
>
> Besides the things already mentioned by others and the obvious
>
> formatting issue, just a couple of nits to pick:
> > 93 static char *ErrMessages[] = {
>
> [...]
>
> > 187 }
Not done anything about this as....
>
> Consider returning the error message through something like
>
> > 124 case ERR_NO_ERROR:
> > 125 return "OK";
>
> instead of doing this indirectly through an index in an array of error
> strings. This makes sure these don't get out of sync.
>
..it depends on how this is handled.
Leave this to Elio
I will check it out
> > 547 dstate_setinfo("ups.StatusUPS", "%08lX",
> > ups.StatusUPS) ;
> > 548 dstate_setinfo("ups.ShortStatus", "%04X",
> > ups.ShortStatus) ;
>
> Don't 'invent' new variables without discussing this on the
> development mailinglist. Since these are probably useful only for
> debugging purposes, they shouldn't be exposed to the server/clients
> anyway.
Changed this to debug statements.
OK
>
> > 629 dstate_setinfo("ups.realpower", "%d",
> > (int)((float)(p[4]*256 + p[5]) * 0.6)) ;
>
> This suggests a fixed relationship between apparent and active power.
> This might be the case for the nominal values, but this is not true in
> the general case. So don't export 'ups.realpower' unless it is truly
> measured (which is not the case here).
Made a comment that it is calculated. Can this be measured?
Yes, the relation between the VA and W is fixed as in the most UPS
sold on the market:
Very few UPS have a cos phi of 1.0.
This particular line of UPSs has a cos phi of 0.6 and the calculation
of the VA value is made integrating the current measurement (10
samples for a half sine) so the result is very near to an RMS value.
The output in W is 0.6 * VA
>
> > 645 poll_interval = 2;
>
> Any particular reason to hardcode this? This might surprise people
> that attempt to override this value, so unless there is a real good
> reason to do this, it will be confusing.
I leave it in. Have you any good reason to have it hardcoded Elio?
No, there were no particular reason.
It can be any value but I thought that 2 seconds was reasonable.
>
> > 899 dstate_setinfo("ups.StatusUPS", "%08lX",
> > ups.StatusUPS) ;
> > 900 dstate_setinfo("ups.ShortStatus", "%04X",
> > ups.ShortStatus) ;
> > 905 dstate_setinfo("ups.time", "%02d:%02d:%02d",
> > p[6], p[7], p[8]) ;
>
> The above is a waste of effort. By the time upsdrv_shutdown() runs,
> the server won't be listening anymore.
>
Changed the status to debug messages. And removed the ups.time her,
as the daemon would not get it anyway.
The UPS timer countinue to work by itself even if the computer is
turned off: if you need, you can program/enable up to 6 weekly
schedules in the UPS and it will turn ON/OFF without requiring any
attached computer to it!!!
> > 958 addvar(VAR_VALUE, "ups.delay.shutdown", "Override
> > shutdown delay (120s)");
> > 959 addvar(VAR_VALUE, "ups.delay.start",
"Override restart
> > delay (10s)");
>
> This doesn't work without using getval() somewhere in the driver.
Fixed this and moved some code. This can now be set from ups.conf.
And as before changed during runtime.
OK
> > 971 ioctl(upsfd, TIOCMBIC, &rts_bit);
> > 972 ioctl(upsfd, TIOCMBIC, &dtr_bit);
>
> We have library functions in serial.c to handle this. Use them.
Unfortunately (even for the debugging functions) when I wrote the
driver (if I remember correctly) there were NO official documentation
on the OFFICIAL functions to be used in the developement of the drivers.
. best regards
_ Elio Corbolante.
Elio Corbolante
e-mail: [email protected]
[email protected]
Microdowell S.p.A.
Via dei Boschi, 2
33040 - Pradamano (UD) - Italia
Tel. +39-0432-671758
Tel. +39-0432-640142 (Assistenza Tecnica)
Fax. +39-0432-671760
<http://www.microdowell.com/>http://www.microdowell.com
_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev