From: Gerrit Renker Date: Sat, 12 Mar 2011 19:00:32 +0000 (+0100) Subject: Info screen: fix a bug in the random level code X-Git-Url: http://eden-feed.erg.abdn.ac.uk/cgi-bin/gitweb.cgi?p=wavemon.git;a=commitdiff_plain;h=cc8235c4b4ab30898fd60f3ad71b7899cf1bdd66 Info screen: fix a bug in the random level code The link quality was not converted back correctly, causing negative values, which then overran the maximum value. --- diff --git a/iw_if.c b/iw_if.c index ae5950a..2008c14 100644 --- a/iw_if.c +++ b/iw_if.c @@ -369,7 +369,6 @@ static int rand_wave(float *rlvl, float *step, float *rlvl_next, float range) static void iw_getstat_random(struct iw_stat *iw) { static float rnd_sig, snext, sstep = 1.0, rnd_noise, nnext, nstep = 1.0; - uint8_t smin = dbm_to_u8(conf.sig_min), smax = dbm_to_u8(conf.sig_max); rand_wave(&rnd_sig, &sstep, &snext, conf.sig_max - conf.sig_min); rand_wave(&rnd_noise, &nstep, &nnext, conf.noise_max - conf.noise_min); @@ -377,11 +376,12 @@ static void iw_getstat_random(struct iw_stat *iw) if (iw->range.max_qual.qual == 0) iw->range.max_qual.qual = WAVE_RAND_QUAL_MAX; - iw->stat.qual.level = smin + rnd_sig; - iw->stat.qual.noise = dbm_to_u8(conf.noise_min) + rnd_noise; - iw->stat.qual.qual = map_range(iw->stat.qual.level, smin, smax, - 0, iw->range.max_qual.qual); + iw->stat.qual.level = dbm_to_u8(conf.sig_min + rnd_sig); + iw->stat.qual.noise = dbm_to_u8(conf.noise_min + rnd_noise); iw->stat.qual.updated = IW_QUAL_DBM; + iw->stat.qual.qual = map_range(conf.sig_min + rnd_sig, + conf.sig_min, conf.sig_max, + 0, iw->range.max_qual.qual); } static void iw_getstat_real(struct iw_statistics *stat)