[svn-commits] kpfleming: branch 1.4 r3294 - in /branches/1.4: ./ wctdm24xxp/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Dec 4 12:13:04 CST 2007


Author: kpfleming
Date: Tue Dec  4 12:13:04 2007
New Revision: 3294

URL: http://svn.digium.com/view/zaptel?view=rev&rev=3294
Log:
the analog card drivers can now mark failed modules as 'broken', and ztscan can output that information

Modified:
    branches/1.4/wctdm.c
    branches/1.4/wctdm24xxp/base.c
    branches/1.4/zaptel.h
    branches/1.4/ztscan.c

Modified: branches/1.4/wctdm.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wctdm.c?view=diff&rev=3294&r1=3293&r2=3294
==============================================================================
--- branches/1.4/wctdm.c (original)
+++ branches/1.4/wctdm.c Tue Dec  4 12:13:04 2007
@@ -2061,6 +2061,7 @@
 static void wctdm_post_initialize(struct wctdm *wc)
 {
 	int x;
+
 	/* Finalize signalling  */
 	for (x = 0; x < NUM_CARDS; x++) {
 		if (wc->cardflag & (1 << x)) {
@@ -2068,6 +2069,8 @@
 				wc->chans[x].sigcap = ZT_SIG_FXSKS | ZT_SIG_FXSLS | ZT_SIG_SF | ZT_SIG_CLEAR;
 			else
 				wc->chans[x].sigcap = ZT_SIG_FXOKS | ZT_SIG_FXOLS | ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
+		} else if (!(wc->chans[x].sigcap == ZT_SIG_BROKEN)) {
+			wc->chans[x].sigcap = 0;
 		}
 	}
 }
@@ -2184,6 +2187,7 @@
 					printk("Module %d: Installed -- MANUAL FXS\n",x);
 				} else {
 					printk("Module %d: FAILED FXS (%s)\n", x, fxshonormode ? fxo_modes[_opermode].name : "FCC");
+					wc->chans[x].sigcap = ZT_SIG_BROKEN;
 				} 
 			} else if (!(ret = wctdm_init_voicedaa(wc, x, 0, 0, sane))) {
 				wc->cardflag |= (1 << x);

Modified: branches/1.4/wctdm24xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wctdm24xxp/base.c?view=diff&rev=3294&r1=3293&r2=3294
==============================================================================
--- branches/1.4/wctdm24xxp/base.c (original)
+++ branches/1.4/wctdm24xxp/base.c Tue Dec  4 12:13:04 2007
@@ -3093,8 +3093,9 @@
 static void wctdm_post_initialize(struct wctdm *wc)
 {
 	int x;
+
 	/* Finalize signalling  */
-	for (x=0;x<wc->cards;x++) {
+	for (x = 0; x <wc->cards; x++) {
 		if (wc->cardflag & (1 << x)) {
 			if (wc->modtype[x] == MOD_TYPE_FXO)
 				wc->chans[x].sigcap = ZT_SIG_FXSKS | ZT_SIG_FXSLS | ZT_SIG_SF | ZT_SIG_CLEAR;
@@ -3102,6 +3103,8 @@
 				wc->chans[x].sigcap = ZT_SIG_FXOKS | ZT_SIG_FXOLS | ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
 			else if (wc->modtype[x] == MOD_TYPE_QRV)
 				wc->chans[x].sigcap = ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
+		} else if (!(wc->chans[x].sigcap == ZT_SIG_BROKEN)) {
+			wc->chans[x].sigcap = 0;
 		}
 	}
 }
@@ -3946,6 +3949,7 @@
 					printk("Port %d: Installed -- MANUAL FXS\n",x + 1);
 				} else {
 					printk("Port %d: FAILED FXS (%s)\n", x + 1, fxshonormode ? fxo_modes[_opermode].name : "FCC");
+					wc->chans[x].sigcap = ZT_SIG_BROKEN;
 				} 
 			} else if (!(ret = wctdm_init_voicedaa(wc, x, 0, 0, sane))) {
 				wc->cardflag |= (1 << x);

Modified: branches/1.4/zaptel.h
URL: http://svn.digium.com/view/zaptel/branches/1.4/zaptel.h?view=diff&rev=3294&r1=3293&r2=3294
==============================================================================
--- branches/1.4/zaptel.h (original)
+++ branches/1.4/zaptel.h Tue Dec  4 12:13:04 2007
@@ -110,8 +110,10 @@
 #define ZT_CONFIG_NOTOPEN (1 << 16)
 
 /* Signalling types */
-#define __ZT_SIG_FXO	 (1 << 12)	/* Never use directly */
-#define __ZT_SIG_FXS	 (1 << 13)	/* Never use directly */
+#define ZT_SIG_BROKEN	(1 << 31)	/* The port is broken and/or failed initialization */
+
+#define __ZT_SIG_FXO	(1 << 12)	/* Never use directly */
+#define __ZT_SIG_FXS	(1 << 13)	/* Never use directly */
 
 #define ZT_SIG_NONE		(0)			/* Channel not configured */
 #define ZT_SIG_FXSLS	((1 << 0) | __ZT_SIG_FXS)	/* FXS, Loopstart */
@@ -126,18 +128,18 @@
 
 /* The following are all variations on clear channel */
 
-#define __ZT_SIG_DACS	 (1 << 16)
-
-#define ZT_SIG_CLEAR	 (1 << 7)					/* Clear channel */
+#define __ZT_SIG_DACS	(1 << 16)
+
+#define ZT_SIG_CLEAR	(1 << 7)					/* Clear channel */
 #define ZT_SIG_HDLCRAW	((1 << 8)  | ZT_SIG_CLEAR)	/* Raw unchecked HDLC */
 #define ZT_SIG_HDLCFCS	((1 << 9)  | ZT_SIG_HDLCRAW)	/* HDLC with FCS calculation */
 #define ZT_SIG_HDLCNET	((1 << 10) | ZT_SIG_HDLCFCS)	/* HDLC Network */
-#define ZT_SIG_SLAVE	 (1 << 11) 					/* Slave to another channel */
-#define	ZT_SIG_SF	 (1 << 14)			/* Single Freq. tone only, no sig bits */
-#define ZT_SIG_CAS	 (1 << 15)			/* Just get bits */
+#define ZT_SIG_SLAVE	(1 << 11) 					/* Slave to another channel */
+#define	ZT_SIG_SF	(1 << 14)			/* Single Freq. tone only, no sig bits */
+#define ZT_SIG_CAS	(1 << 15)			/* Just get bits */
 #define ZT_SIG_DACS	(__ZT_SIG_DACS | ZT_SIG_CLEAR)	/* Cross connect */
-#define ZT_SIG_EM_E1	 (1 << 17)			/* E1 E&M Variation */
-#define ZT_SIG_DACS_RBS	 ((1 << 18) | __ZT_SIG_DACS)	/* Cross connect w/ RBS */
+#define ZT_SIG_EM_E1	(1 << 17)			/* E1 E&M Variation */
+#define ZT_SIG_DACS_RBS	((1 << 18) | __ZT_SIG_DACS)	/* Cross connect w/ RBS */
 #define ZT_SIG_HARDHDLC	((1 << 19) | ZT_SIG_CLEAR)
 
 /* tone flag values */

Modified: branches/1.4/ztscan.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/ztscan.c?view=diff&rev=3294&r1=3293&r2=3294
==============================================================================
--- branches/1.4/ztscan.c (original)
+++ branches/1.4/ztscan.c Tue Dec  4 12:13:04 2007
@@ -149,7 +149,9 @@
 					continue;
 				};
 				fprintf(stdout, "port=%d,", y);
-				switch (params.sigcap & (__ZT_SIG_FXO | __ZT_SIG_FXS)) {
+				if (params.sigcap == ZT_SIG_BROKEN)
+					fprintf(stdout, "FXS FAILED");
+				else switch (params.sigcap & (__ZT_SIG_FXO | __ZT_SIG_FXS)) {
 				case __ZT_SIG_FXO:
 					fprintf(stdout, "FXO");
 					break;




More information about the svn-commits mailing list