aboutsummaryrefslogtreecommitdiffstats
path: root/octvc1/gsm
diff options
context:
space:
mode:
Diffstat (limited to 'octvc1/gsm')
-rw-r--r--octvc1/gsm/octvc1_gsm_api.h220
-rw-r--r--octvc1/gsm/octvc1_gsm_api_priv.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_api_priv_swap.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_api_swap.h113
-rw-r--r--octvc1/gsm/octvc1_gsm_base.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_default.h168
-rw-r--r--octvc1/gsm/octvc1_gsm_default_priv.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_evt.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_evt_priv.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_evt_priv_swap.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_evt_swap.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_id.h8
-rw-r--r--octvc1/gsm/octvc1_gsm_id_priv.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_rc.h22
-rw-r--r--octvc1/gsm/octvc1_gsm_rc_priv.h2
-rw-r--r--octvc1/gsm/octvc1_gsm_version.h8
16 files changed, 530 insertions, 29 deletions
diff --git a/octvc1/gsm/octvc1_gsm_api.h b/octvc1/gsm/octvc1_gsm_api.h
index f203c2e..80d5041 100644
--- a/octvc1/gsm/octvc1_gsm_api.h
+++ b/octvc1/gsm/octvc1_gsm_api.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Revision: $
@@ -109,6 +109,7 @@ $Revision: $
#define cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE 0
#define cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS 1
#define cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS 3
+#define cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_RX_BTS_MS 4
/*-------------------------------------------------------------------------------------
tOCTVC1_GSM_DIRECTION_ENUM : Sub Channel Direction.
@@ -118,6 +119,7 @@ $Revision: $
#define cOCTVC1_GSM_DIRECTION_ENUM_NONE cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE
#define cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS
#define cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS
+#define cOCTVC1_GSM_DIRECTION_ENUM_TX_RX_BTS_MS cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_RX_BTS_MS
/*-------------------------------------------------------------------------------------
tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM : Time slot number.
@@ -148,6 +150,36 @@ $Revision: $
#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_7 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_7
/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM : Time slot number.
+-------------------------------------------------------------------------------------*/
+#define tOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM tOCT_UINT8
+
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_0 0
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_1 1
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_2 2
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_3 3
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_4 4
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_5 5
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_6 6
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_7 7
+#define cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_ALL 0xFF
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM : Time slot number.
+-------------------------------------------------------------------------------------*/
+#define tOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM tOCT_UINT32
+
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_0 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_0
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_1 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_1
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_2 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_2
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_3 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_3
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_4 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_4
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_5 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_5
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_6 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_6
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_7 cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_7
+#define cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_ALL cOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_ALL
+
+/*-------------------------------------------------------------------------------------
tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM : Sub Channel number.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM tOCT_UINT8
@@ -505,6 +537,49 @@ typedef struct
} tOCTVC1_GSM_CIPHER_CONFIG;
/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_BUFF_ADDR
+ Buffer address
+
+ Members:
+ BuffAddr_TCHFS
+ Range: [0..2147483647]
+ Default: 0
+ Adress of Real Pointer
+ BuffAddr_RACH
+ Range: [0..2147483647]
+ Default: 0
+ Adress of Real Pointer
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCT_UINT32 BuffAddr_TCHFS;
+ tOCT_UINT32 BuffAddr_RACH;
+
+} tOCTVC1_GSM_BUFF_ADDR;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_STUB_CHANNEL_ID
+
+ Members:
+ byTimeslotNb
+ Default: cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_0
+ Timeslot number.
+ bySubChannelNb
+ Default: cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0
+ Sub-Channel number.
+ CHANNEL_TYPE
+ Default: cOCTVC1_GSM_SAPI_ENUM_TCHF
+ CHANNEL_TYPE.
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM byTimeslotNb;
+ tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM bySubChannelNb;
+ tOCTVC1_GSM_SAPI_ENUM CHANNEL_TYPE;
+
+} tOCTVC1_GSM_STUB_CHANNEL_ID;
+
+/*-------------------------------------------------------------------------------------
tOCTVC1_GSM_LOGICAL_CHANNEL_ID
Members:
@@ -2253,6 +2328,149 @@ typedef struct
} tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP;
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+ LchId
+ Unique Logical channel identifier
+ ulResetFlag
+ Reset timeslot stats
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+ tOCTVC1_GSM_LOGICAL_CHANNEL_ID LchId;
+ tOCT_BOOL32 ulResetFlag;
+
+} tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+ LchId
+ Unique Logical channel identifier
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+ tOCTVC1_GSM_LOGICAL_CHANNEL_ID LchId;
+
+} tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+
+} tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+ BuffADDR
+ Buf Address pointer
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+ tOCTVC1_GSM_BUFF_ADDR BuffADDR;
+
+} tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+ STUB_CHANNEL_ID
+ Unique channel_identifier
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+ tOCTVC1_GSM_STUB_CHANNEL_ID STUB_CHANNEL_ID;
+
+} tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP
+
+ Members:
+ Header
+ OCTVC1 Message Header
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+
+} tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD
+
+ Members:
+ Header
+ OCTVC1 Message Header
+ TrxId
+ Unique TRX identifier
+ byTimeslotNb
+ Timeslot number.
+ bySubChannelNb
+ Sub-Channel number.
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+ tOCTVC1_GSM_TRX_ID TrxId;
+ tOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM byTimeslotNb;
+ tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM bySubChannelNb;
+
+} tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD;
+
+/*-------------------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP
+
+ Members:
+ Header
+ OCTVC1 Message Header
+-------------------------------------------------------------------------------------*/
+typedef struct
+{
+ tOCTVC1_MSG_HEADER Header;
+
+} tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP;
+
/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/
#include "octvc1_gsm_evt.h"
diff --git a/octvc1/gsm/octvc1_gsm_api_priv.h b/octvc1/gsm/octvc1_gsm_api_priv.h
index cde4789..33f4aa0 100644
--- a/octvc1/gsm/octvc1_gsm_api_priv.h
+++ b/octvc1/gsm/octvc1_gsm_api_priv.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_api_priv_swap.h b/octvc1/gsm/octvc1_gsm_api_priv_swap.h
index 9fb0eb4..64c2e2f 100644
--- a/octvc1/gsm/octvc1_gsm_api_priv_swap.h
+++ b/octvc1/gsm/octvc1_gsm_api_priv_swap.h
@@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
diff --git a/octvc1/gsm/octvc1_gsm_api_swap.h b/octvc1/gsm/octvc1_gsm_api_swap.h
index 5d5f80d..b10a8e6 100644
--- a/octvc1/gsm/octvc1_gsm_api_swap.h
+++ b/octvc1/gsm/octvc1_gsm_api_swap.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __OCTVC1_GSM_API_SWAP_H__
@@ -60,6 +60,18 @@ extern "C" {
#endif /* _OCT_ENDIAN_TYPE_LE_ */
+#define mOCTVC1_GSM_ID_TIMESLOT_NB_STUB_ENUM_SWAP( pType ) /* tOCT_UINT8 */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_SWAP( pType ){ \
+ *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); }
+#else
+
+#define mOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_SWAP( pType )
+
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+
#define mOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_SWAP( pType ) /* tOCT_UINT8 */
#if defined( _OCT_ENDIAN_TYPE_LE_ )
@@ -255,6 +267,27 @@ extern "C" {
#endif /* _OCT_ENDIAN_TYPE_LE_ */
#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_BUFF_ADDR_SWAP( _f_pParms ){ tOCTVC1_GSM_BUFF_ADDR * pOCTVC1_GSM_BUFF_ADDR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_BUFF_ADDR)\
+ ((tOCTVC1_GSM_BUFF_ADDR *)pOCTVC1_GSM_BUFF_ADDR)->BuffAddr_TCHFS = \
+ mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_BUFF_ADDR *)pOCTVC1_GSM_BUFF_ADDR)->BuffAddr_TCHFS); \
+ ((tOCTVC1_GSM_BUFF_ADDR *)pOCTVC1_GSM_BUFF_ADDR)->BuffAddr_RACH = \
+ mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_BUFF_ADDR *)pOCTVC1_GSM_BUFF_ADDR)->BuffAddr_RACH); \
+}
+#else
+#define mOCTVC1_GSM_BUFF_ADDR_SWAP( pOCTVC1_GSM_BUFF_ADDR )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_STUB_CHANNEL_ID_SWAP( _f_pParms ){ tOCTVC1_GSM_STUB_CHANNEL_ID * pOCTVC1_GSM_STUB_CHANNEL_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_STUB_CHANNEL_ID)\
+ { mOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_SWAP( &((tOCTVC1_GSM_STUB_CHANNEL_ID *)pOCTVC1_GSM_STUB_CHANNEL_ID)->byTimeslotNb ); } \
+ { mOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_SWAP( &((tOCTVC1_GSM_STUB_CHANNEL_ID *)pOCTVC1_GSM_STUB_CHANNEL_ID)->bySubChannelNb ); } \
+ { mOCTVC1_GSM_SAPI_ENUM_SWAP( &((tOCTVC1_GSM_STUB_CHANNEL_ID *)pOCTVC1_GSM_STUB_CHANNEL_ID)->CHANNEL_TYPE ); } \
+}
+#else
+#define mOCTVC1_GSM_STUB_CHANNEL_ID_SWAP( pOCTVC1_GSM_STUB_CHANNEL_ID )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_ID * pOCTVC1_GSM_LOGICAL_CHANNEL_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_ID)\
{ mOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->byTimeslotNb ); } \
{ mOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->bySubChannelNb ); } \
@@ -1273,6 +1306,84 @@ extern "C" {
#define mOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP )
#endif /* _OCT_ENDIAN_TYPE_LE_ */
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)->TrxId ); } \
+ { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)->LchId ); } \
+ ((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)->ulResetFlag = \
+ mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)->ulResetFlag); \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP)->TrxId ); } \
+ { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP)->LchId ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_RSP )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD * pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD)->TrxId ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP * pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP)->TrxId ); } \
+ { mOCTVC1_GSM_BUFF_ADDR_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP)->BuffADDR ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_RSP )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD * pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD)->TrxId ); } \
+ { mOCTVC1_GSM_STUB_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD)->STUB_CHANNEL_ID ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP * pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP)->Header ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_RSP )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD * pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)->Header ); } \
+ { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)->TrxId ); } \
+ { mOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)->byTimeslotNb ); } \
+ { mOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)->bySubChannelNb ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
+#if defined( _OCT_ENDIAN_TYPE_LE_ )
+#define mOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP * pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP)\
+ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP)->Header ); } \
+}
+#else
+#define mOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_RSP )
+#endif /* _OCT_ENDIAN_TYPE_LE_ */
+
#ifdef __cplusplus
}
diff --git a/octvc1/gsm/octvc1_gsm_base.h b/octvc1/gsm/octvc1_gsm_base.h
index a608501..003500a 100644
--- a/octvc1/gsm/octvc1_gsm_base.h
+++ b/octvc1/gsm/octvc1_gsm_base.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_default.h b/octvc1/gsm/octvc1_gsm_default.h
index 75e18f2..792dc97 100644
--- a/octvc1/gsm/octvc1_gsm_default.h
+++ b/octvc1/gsm/octvc1_gsm_default.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
@@ -2399,5 +2399,171 @@ extern const tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *
}
+/*--------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD
+----------------------------------------------------------------------------*/
+#ifdef OCTVC1_OPT_DECLARE_DEFAULTS
+
+const tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD buf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD =
+{
+ { /* Header */
+ ((sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD)<<cOCTVC1_MSG_LENGTH_BIT_OFFSET)&cOCTVC1_MSG_LENGTH_BIT_MASK), /* ulLength */
+ 0, /* ulTransactionId */
+ ((cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CID<<cOCTVC1_MSG_ID_BIT_OFFSET)&cOCTVC1_MSG_ID_BIT_MASK), /* ul_Type_R_CmdId */
+ 0, /* ulSessionId */
+ 0, /* ulReturnCode */
+ 0 /* ulUserInfo */
+ },
+ { /* TrxId */
+ 0, /* byTrxId */
+ { /* abyPad */
+ 0, /* abyPad[0] */
+ 0, /* abyPad[1] */
+ 0 /* abyPad[2] */
+ }
+ },
+ { /* LchId */
+ cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_0, /* byTimeslotNb */
+ cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0, /* bySubChannelNb */
+ 0, /* bySAPI */
+ 0 /* byDirection */
+ },
+ 0 /* ulResetFlag */
+};
+
+const tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD =
+ &buf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD;
+
+#else /* OCTVC1_OPT_DECLARE_DEFAULTS */
+extern const tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD;
+#endif /* OCTVC1_OPT_DECLARE_DEFAULTS */
+
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD_DEF(pSt) \
+ { \
+ *pSt = *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CMD; \
+ }
+
+
+/*--------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD
+----------------------------------------------------------------------------*/
+#ifdef OCTVC1_OPT_DECLARE_DEFAULTS
+
+const tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD buf_tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD =
+{
+ { /* Header */
+ ((sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD)<<cOCTVC1_MSG_LENGTH_BIT_OFFSET)&cOCTVC1_MSG_LENGTH_BIT_MASK), /* ulLength */
+ 0, /* ulTransactionId */
+ ((cOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CID<<cOCTVC1_MSG_ID_BIT_OFFSET)&cOCTVC1_MSG_ID_BIT_MASK), /* ul_Type_R_CmdId */
+ 0, /* ulSessionId */
+ 0, /* ulReturnCode */
+ 0 /* ulUserInfo */
+ },
+ { /* TrxId */
+ 0, /* byTrxId */
+ { /* abyPad */
+ 0, /* abyPad[0] */
+ 0, /* abyPad[1] */
+ 0 /* abyPad[2] */
+ }
+ }
+};
+
+const tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD =
+ &buf_tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD;
+
+#else /* OCTVC1_OPT_DECLARE_DEFAULTS */
+extern const tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD;
+#endif /* OCTVC1_OPT_DECLARE_DEFAULTS */
+
+#define mOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD_DEF(pSt) \
+ { \
+ *pSt = *g_pOctDef_tOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CMD; \
+ }
+
+
+/*--------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD
+----------------------------------------------------------------------------*/
+#ifdef OCTVC1_OPT_DECLARE_DEFAULTS
+
+const tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD buf_tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD =
+{
+ { /* Header */
+ ((sizeof(tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD)<<cOCTVC1_MSG_LENGTH_BIT_OFFSET)&cOCTVC1_MSG_LENGTH_BIT_MASK), /* ulLength */
+ 0, /* ulTransactionId */
+ ((cOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CID<<cOCTVC1_MSG_ID_BIT_OFFSET)&cOCTVC1_MSG_ID_BIT_MASK), /* ul_Type_R_CmdId */
+ 0, /* ulSessionId */
+ 0, /* ulReturnCode */
+ 0 /* ulUserInfo */
+ },
+ { /* TrxId */
+ 0, /* byTrxId */
+ { /* abyPad */
+ 0, /* abyPad[0] */
+ 0, /* abyPad[1] */
+ 0 /* abyPad[2] */
+ }
+ },
+ { /* STUB_CHANNEL_ID */
+ cOCTVC1_GSM_TIMESLOT_NB_STUB_ENUM_0, /* byTimeslotNb */
+ cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0, /* bySubChannelNb */
+ cOCTVC1_GSM_SAPI_ENUM_TCHF /* CHANNEL_TYPE */
+ }
+};
+
+const tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD =
+ &buf_tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD;
+
+#else /* OCTVC1_OPT_DECLARE_DEFAULTS */
+extern const tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD;
+#endif /* OCTVC1_OPT_DECLARE_DEFAULTS */
+
+#define mOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD_DEF(pSt) \
+ { \
+ *pSt = *g_pOctDef_tOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CMD; \
+ }
+
+
+/*--------------------------------------------------------------------------
+ tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD
+----------------------------------------------------------------------------*/
+#ifdef OCTVC1_OPT_DECLARE_DEFAULTS
+
+const tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD buf_tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD =
+{
+ { /* Header */
+ ((sizeof(tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD)<<cOCTVC1_MSG_LENGTH_BIT_OFFSET)&cOCTVC1_MSG_LENGTH_BIT_MASK), /* ulLength */
+ 0, /* ulTransactionId */
+ ((cOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CID<<cOCTVC1_MSG_ID_BIT_OFFSET)&cOCTVC1_MSG_ID_BIT_MASK), /* ul_Type_R_CmdId */
+ 0, /* ulSessionId */
+ 0, /* ulReturnCode */
+ 0 /* ulUserInfo */
+ },
+ { /* TrxId */
+ 0, /* byTrxId */
+ { /* abyPad */
+ 0, /* abyPad[0] */
+ 0, /* abyPad[1] */
+ 0 /* abyPad[2] */
+ }
+ },
+ 0, /* byTimeslotNb */
+ 0 /* bySubChannelNb */
+};
+
+const tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD =
+ &buf_tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD;
+
+#else /* OCTVC1_OPT_DECLARE_DEFAULTS */
+extern const tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD *g_pOctDef_tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD;
+#endif /* OCTVC1_OPT_DECLARE_DEFAULTS */
+
+#define mOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD_DEF(pSt) \
+ { \
+ *pSt = *g_pOctDef_tOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CMD; \
+ }
+
+
#endif /* __OCTVC1_GSM_DEFAULT_H__ */
diff --git a/octvc1/gsm/octvc1_gsm_default_priv.h b/octvc1/gsm/octvc1_gsm_default_priv.h
index 530f4db..421b890 100644
--- a/octvc1/gsm/octvc1_gsm_default_priv.h
+++ b/octvc1/gsm/octvc1_gsm_default_priv.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_evt.h b/octvc1/gsm/octvc1_gsm_evt.h
index 475ec0e..4f2a6ba 100644
--- a/octvc1/gsm/octvc1_gsm_evt.h
+++ b/octvc1/gsm/octvc1_gsm_evt.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_evt_priv.h b/octvc1/gsm/octvc1_gsm_evt_priv.h
index 0f7f995..53ff07c 100644
--- a/octvc1/gsm/octvc1_gsm_evt_priv.h
+++ b/octvc1/gsm/octvc1_gsm_evt_priv.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_evt_priv_swap.h b/octvc1/gsm/octvc1_gsm_evt_priv_swap.h
index b56b2f4..bc4bf15 100644
--- a/octvc1/gsm/octvc1_gsm_evt_priv_swap.h
+++ b/octvc1/gsm/octvc1_gsm_evt_priv_swap.h
@@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
diff --git a/octvc1/gsm/octvc1_gsm_evt_swap.h b/octvc1/gsm/octvc1_gsm_evt_swap.h
index 5724c43..f33a35b 100644
--- a/octvc1/gsm/octvc1_gsm_evt_swap.h
+++ b/octvc1/gsm/octvc1_gsm_evt_swap.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __OCTVC1_GSM_EVT_SWAP_H__
diff --git a/octvc1/gsm/octvc1_gsm_id.h b/octvc1/gsm/octvc1_gsm_id.h
index 648e062..aa2eee0 100644
--- a/octvc1/gsm/octvc1_gsm_id.h
+++ b/octvc1/gsm/octvc1_gsm_id.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
@@ -69,8 +69,12 @@ $Octasic_Revision: $
#define cOCTVC1_GSM_MSG_TAP_FILTER_MODIFY_CID ( 0x020 + cOCTVC1_GSM_CID_BASE )
#define cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID ( 0x035 + cOCTVC1_GSM_CID_BASE )
#define cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID ( 0x036 + cOCTVC1_GSM_CID_BASE )
+#define cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_CMU_LOOPBACK_TEST_CID ( 0x037 + cOCTVC1_GSM_CID_BASE )
+#define cOCTVC1_GSM_MSG_TRX_REQUEST_STUBB_LOOPBACK_TEST_CID ( 0x038 + cOCTVC1_GSM_CID_BASE )
+#define cOCTVC1_GSM_MSG_TRX_START_STUBB_LOOPBACK_TEST_CID ( 0x039 + cOCTVC1_GSM_CID_BASE )
+#define cOCTVC1_GSM_MSG_TRX_STOP_STUBB_LOOPBACK_TEST_CID ( 0x03a + cOCTVC1_GSM_CID_BASE )
-#define cOCTVC1_GSM_CID_MAX (( 0x036 + 1 ) & 0xFFF)
+#define cOCTVC1_GSM_CID_MAX (( 0x03a + 1 ) & 0xFFF)
/****************************************************************************
Event IDs
diff --git a/octvc1/gsm/octvc1_gsm_id_priv.h b/octvc1/gsm/octvc1_gsm_id_priv.h
index 151d2d5..3b6e99f 100644
--- a/octvc1/gsm/octvc1_gsm_id_priv.h
+++ b/octvc1/gsm/octvc1_gsm_id_priv.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_rc.h b/octvc1/gsm/octvc1_gsm_rc.h
index b8d83aa..5d0652d 100644
--- a/octvc1/gsm/octvc1_gsm_rc.h
+++ b/octvc1/gsm/octvc1_gsm_rc.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
@@ -95,15 +95,17 @@ $Octasic_Revision: $
#define cOCTVC1_GSM_RC_RF_CONFIG_INVALID_RX_GAIN_DB ( 0x1 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
#define cOCTVC1_GSM_RC_RF_CONFIG_INVALID_TX_ATTND_B ( 0x2 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
#define cOCTVC1_GSM_RC_TRX_CONFIG_INVALID_US_TSC ( 0x3 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_FRAME_NUMBER ( 0x4 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_DATA_LENGTH ( 0x5 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_FRAME_NUMBER ( 0x6 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_DATA_LENGTH ( 0x7 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_TAP_FILTER_PHYSICAL_CHANNEL_INVALID_ENTRY_CNT ( 0x8 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_TAP_FILTER_LOGICAL_CHANNEL_INVALID_ENTRY_CNT ( 0x9 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_TAP_FILTER_STATS_INVALID_TAP_ID_CNT ( 0xA + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_MODULE_DATA_RF_UPLINK_INPUT_HEADER_INVALID_FRAME_NUMBER ( 0xB + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
-#define cOCTVC1_GSM_RC_TRX_LOGICAL_CHANNEL_EMPTY_FRAME_REQUEST_INVALID_FRAME_NUMBER ( 0xC + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_BUFF_ADDR_INVALID_BUFF_ADDR__TCHFS ( 0x4 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_BUFF_ADDR_INVALID_BUFF_ADDR__RACH ( 0x5 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_FRAME_NUMBER ( 0x6 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_DATA_LENGTH ( 0x7 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_FRAME_NUMBER ( 0x8 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_DATA_LENGTH ( 0x9 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_TAP_FILTER_PHYSICAL_CHANNEL_INVALID_ENTRY_CNT ( 0xA + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_TAP_FILTER_LOGICAL_CHANNEL_INVALID_ENTRY_CNT ( 0xB + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_TAP_FILTER_STATS_INVALID_TAP_ID_CNT ( 0xC + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_MODULE_DATA_RF_UPLINK_INPUT_HEADER_INVALID_FRAME_NUMBER ( 0xD + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
+#define cOCTVC1_GSM_RC_TRX_LOGICAL_CHANNEL_EMPTY_FRAME_REQUEST_INVALID_FRAME_NUMBER ( 0xE + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE )
#endif /* OCTVC1_GSM_RC_H__ */
diff --git a/octvc1/gsm/octvc1_gsm_rc_priv.h b/octvc1/gsm/octvc1_gsm_rc_priv.h
index b685dd2..7cf221e 100644
--- a/octvc1/gsm/octvc1_gsm_rc_priv.h
+++ b/octvc1/gsm/octvc1_gsm_rc_priv.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
diff --git a/octvc1/gsm/octvc1_gsm_version.h b/octvc1/gsm/octvc1_gsm_version.h
index d6ad502..b5b1627 100644
--- a/octvc1/gsm/octvc1_gsm_version.h
+++ b/octvc1/gsm/octvc1_gsm_version.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Release: OCTSDR Software Development Kit OCTSDR_GSM-02.03.00-B560 (2015/08/07)
+Release: OCTSDR Software Development Kit OCTSDR_GSM-02.04.00-B662 (2015/10/28)
$Octasic_Revision: $
@@ -35,10 +35,10 @@ $Octasic_Revision: $
bit[17:11]: Bug fix version
bit[10:0]: Build number
*/
-#define cOCTVC1_GSM_VERSION_MAJOR 1
-#define cOCTVC1_GSM_VERSION_MINOR 3
+#define cOCTVC1_GSM_VERSION_MAJOR 2
+#define cOCTVC1_GSM_VERSION_MINOR 4
#define cOCTVC1_GSM_VERSION_MAINTENANCE 0
-#define cOCTVC1_GSM_VERSION_BUILD 560
+#define cOCTVC1_GSM_VERSION_BUILD 662
#define cOCTVC1_GSM_VERSION_ID ( (cOCTVC1_GSM_VERSION_MAJOR << 25) + \
(cOCTVC1_GSM_VERSION_MINOR << 18) + \