Bruce Cran wrote: > On Thu, 04 Nov 2010 19:49:24 +0200 > Alexander Motin <[email protected]> wrote: > >> This will round period down. You will get 30 minutes instead of 59. In >> this case rounding up IMHO more appropriate. I agree that previous >> rounding up was over aggressive. I would prefer something like: >> sc = (t - 1) / (30 * 60) + 241; >> or at least >> sc = (t + 15 * 60) / (30 * 60) + 240; >> This will also make previous range unneeded. >> >> Range "t <= (240 * 5)" probably also should be corrected to round up >> or at least closest. >> > > Of course rounding up is more suitable. Would the following patch be > ok: > > Index: camcontrol.c > =================================================================== > --- camcontrol.c (revision 214793) > +++ camcontrol.c (working copy) > @@ -4312,18 +4312,16 @@ > cmd = ATA_SLEEP; > t = -1; > } > + > if (t < 0) > sc = 0; > else if (t <= (240 * 5)) > - sc = t / 5; > - else if (t == (252 * 5)) > + sc = (t + 4) / 5; > + else if (t <= (252 * 5)) > /* special encoding for 21 minutes */ > sc = 252; > - else if (t < (30 * 60)) > - /* no encoding exists for 22-29 minutes, so set to 30 > mins */ > - sc = 241; > else if (t <= (11 * 30 * 60)) > - sc = t / (30 * 60) + 240; > + sc = (t - 1) / (30 * 60) + 241; > else > sc = 253;
It seems so. Thank you. -- Alexander Motin _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "[email protected]"
