FreeCalypso > hg > fc-rfcal-tools
changeset 102:80281b67511f
fc-rfcal-txband: fixed bug in the corner case when
the target power level is above the highest basis point
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 12 Aug 2017 08:47:09 +0000 |
parents | b0618796d28d |
children | 16aab86384a7 |
files | autocal/txlevels.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/autocal/txlevels.c Fri Aug 11 03:20:43 2017 +0000 +++ b/autocal/txlevels.c Sat Aug 12 08:47:09 2017 +0000 @@ -22,7 +22,7 @@ double target_dbm; vout_t *pslope; { - vout_t target_vout; + vout_t target_vout, slope; unsigned n; int apc_delta; @@ -30,9 +30,13 @@ for (n = 0; n < num_basis_points - 1; n++) if (target_vout < tx_basis[n+1].vout) break; + if (n == num_basis_points - 1) + slope = tx_basis[n-1].slope; + else + slope = tx_basis[n].slope; if (pslope) - *pslope = tx_basis[n].slope; - apc_delta = (target_vout - tx_basis[n].vout) / tx_basis[n].slope; + *pslope = slope; + apc_delta = (target_vout - tx_basis[n].vout) / slope; return tx_basis[n].apc + apc_delta; }