From 8f77de5ebd4e408db26cb476cd69040cddbe5edd Mon Sep 17 00:00:00 2001 From: Jim Dixon Date: Tue, 13 Jun 2006 23:46:41 +0000 Subject: Allowed proper tx/rx signal exclusivity for simplex repeater modes on 2 wire interfaces git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33973 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_rpt.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'apps') diff --git a/apps/app_rpt.c b/apps/app_rpt.c index 2ca6fa418..7ea1e147b 100644 --- a/apps/app_rpt.c +++ b/apps/app_rpt.c @@ -21,7 +21,7 @@ /*! \file * * \brief Radio Repeater / Remote Base program - * version 0.47 05/23/06 + * version 0.48 06/13/06 * * \author Jim Dixon, WB6NIL * @@ -123,12 +123,10 @@ /* Un-comment the following to include support for MDC-1200 digital tone signalling protocol (using KA6SQG's GPL'ed implementation) */ -/* file must be downloaded separately, not part of Asterisk distribution */ /* #include "mdc_decode.c" */ /* Un-comment the following to include support for notch filters in the rx audio stream (using Tony Fisher's mknotch (mkfilter) implementation) */ -/* file must be downloaded separately, not part of Asterisk distribution */ /* #include "rpt_notch.c" */ /* maximum digits in DTMF buffer, and seconds after * for DTMF command timeout */ @@ -244,7 +242,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/say.h" #include "asterisk/localtime.h" -static char *tdesc = "Radio Repeater / Remote Base version 0.47 05/23/2006"; +static char *tdesc = "Radio Repeater / Remote Base version 0.48 06/13/2006"; static char *app = "Rpt"; @@ -6831,17 +6829,23 @@ char tmpstr[300]; /* if RX key */ if (f->subclass == AST_CONTROL_RADIO_KEY) { - if (debug == 7) printf("@@@@ rx key\n"); - myrpt->keyed = 1; + if ((!lasttx) || (myrpt->p.duplex > 1)) + { + if (debug == 7) printf("@@@@ rx key\n"); + myrpt->keyed = 1; + } } /* if RX un-key */ if (f->subclass == AST_CONTROL_RADIO_UNKEY) { - if (debug == 7) printf("@@@@ rx un-key\n"); - if(myrpt->keyed) { - rpt_telemetry(myrpt,UNKEY,NULL); + if ((!lasttx) || (myrpt->p.duplex > 1)) + { + if (debug == 7) printf("@@@@ rx un-key\n"); + if(myrpt->keyed) { + rpt_telemetry(myrpt,UNKEY,NULL); + } + myrpt->keyed = 0; } - myrpt->keyed = 0; } } ast_frfree(f); -- cgit v1.2.3