diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-08-14 09:02:38 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-08-14 09:02:38 +0000 |
commit | 354e9c4dc053ae170189fcb23deaf4258847631c (patch) | |
tree | aca2ca06b73e2a407fb9a1ca168775260565cd2c | |
parent | 7e08fd7340d1cdb0f51afdcc13ad342016768263 (diff) |
xpp: FXO: display signed voltage values (from xpp r6055)
This is only an issue with the displayed value. In case you wondered why
you have battery voltage of more than 220V.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@4484 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r-- | xpp/card_fxo.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/xpp/card_fxo.c b/xpp/card_fxo.c index 81906e2..68cf729 100644 --- a/xpp/card_fxo.c +++ b/xpp/card_fxo.c @@ -839,13 +839,14 @@ static void update_battery_voltage(xpd_t *xpd, byte data_low, xportno_t portno) struct FXO_priv_data *priv; enum polarity_state pol; int msec; + signed char volts = (signed char)data_low; priv = xpd->priv; BUG_ON(!priv); - priv->battery_voltage[portno] = data_low; + priv->battery_voltage[portno] = volts; if(xpd->ringing[portno]) goto ignore_reading; /* ring voltage create false alarms */ - if(abs((signed char)data_low) < BAT_THRESHOLD) { + if(abs(volts) < BAT_THRESHOLD) { /* * Check for battery voltage fluctuations */ @@ -855,7 +856,7 @@ static void update_battery_voltage(xpd_t *xpd, byte data_low, xportno_t portno) milliseconds = priv->nobattery_debounce[portno]++ * poll_battery_interval; if(milliseconds > BAT_DEBOUNCE) { - LINE_DBG(SIGNAL, xpd, portno, "BATTERY OFF voltage=%d\n", data_low); + LINE_DBG(SIGNAL, xpd, portno, "BATTERY OFF voltage=%d\n", volts); priv->battery[portno] = BATTERY_OFF; if(SPAN_REGISTERED(xpd)) zap_report_battery(xpd, portno); @@ -871,7 +872,7 @@ static void update_battery_voltage(xpd_t *xpd, byte data_low, xportno_t portno) } else { priv->nobattery_debounce[portno] = 0; if(priv->battery[portno] != BATTERY_ON) { - LINE_DBG(SIGNAL, xpd, portno, "BATTERY ON voltage=%d\n", data_low); + LINE_DBG(SIGNAL, xpd, portno, "BATTERY ON voltage=%d\n", volts); priv->battery[portno] = BATTERY_ON; if(SPAN_REGISTERED(xpd)) zap_report_battery(xpd, portno); @@ -893,9 +894,9 @@ static void update_battery_voltage(xpd_t *xpd, byte data_low, xportno_t portno) /* * Handle reverse polarity */ - if(data_low == 0) + if(volts == 0) pol = POL_UNKNOWN; - else if(IS_SET(data_low, 7)) + else if(volts < 0) pol = POL_NEGATIVE; else pol = POL_POSITIVE; |