Doh! Yeah your right, I didn't think the r value would ever be zero, but it would have been right to check anyway and saved me a lot of time. Just has a philosophical question, if I do get a value of 0 returned should I be setting the fan speed to 0 (which reflects what happens when the fan stops spinning) or to max value (which reflects what is happening when the interval between pulses is smaller than the unit measured)? In my case it seems the fan is spinning very, very fast so the interval between pulses is smaller than the units they are measuring so setting the fan speed to 0 does not reflect what is actually happening in the chassis. Thanks, Peter Wilsmore ASI SOLUTIONS Direct: 1300130 837 > -----Original Message----- > From: Philip Pokorny [mailto:ppokorny at penguincomputing.com] > > Could it be that you're dividing by zero? You don't check the value of > 'r' before the division to be sure that it's not zero. If there is a > fan failure and the current fan speed is 0, then perhaps r is returned > as 0 instead of it's max value. > > :v) > > -- > Philip Pokorny, Director of Engineering > Tel: 415-954-2823 Fax: 415-954-2899 Toll Free: 888-PENGUIN > PENGUIN COMPUTING, INC. > www.penguincomputing.com