summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-08-14 09:02:38 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-08-14 09:02:38 +0000
commit354e9c4dc053ae170189fcb23deaf4258847631c (patch)
treeaca2ca06b73e2a407fb9a1ca168775260565cd2c
parent7e08fd7340d1cdb0f51afdcc13ad342016768263 (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.c13
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;