summaryrefslogtreecommitdiff
path: root/wl1271/TWD/Ctrl/CmdBldCmdIE.c
diff options
context:
space:
mode:
Diffstat (limited to 'wl1271/TWD/Ctrl/CmdBldCmdIE.c')
-rw-r--r--wl1271/TWD/Ctrl/CmdBldCmdIE.c1100
1 files changed, 0 insertions, 1100 deletions
diff --git a/wl1271/TWD/Ctrl/CmdBldCmdIE.c b/wl1271/TWD/Ctrl/CmdBldCmdIE.c
deleted file mode 100644
index f5edb52..0000000
--- a/wl1271/TWD/Ctrl/CmdBldCmdIE.c
+++ /dev/null
@@ -1,1100 +0,0 @@
-/*
- * CmdBldCmdIE.c
- *
- * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name Texas Instruments nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-/** \file CmdBldCmdIE.c
- * \brief Command builder. Command information elements
- *
- * \see CmdBldCmdIE.h
- */
-#define __FILE_ID__ FILE_ID_94
-#include "osApi.h"
-#include "tidef.h"
-#include "report.h"
-#include "TWDriver.h"
-#include "CmdQueue_api.h"
-#include "CmdBld.h"
-
-
-/* Local Macros */
-
-#define MAC_TO_VENDOR_PREAMBLE(mac) ((mac[0] << 16) | (mac[1] << 8) | mac[2])
-
-/*******************************************
- * Wlan hardware Test (BIT)
- * =================
- *
- * Tests description:
- * ==================
- * FCC = Continuous modulated transmission (should not emit carrier)
- * TELEC = Continuous unmodulated carrier transmission (carrier only)
- * PER_TX_STOP = Stops the TX test in progress (FCC or TELEC).
- * ReadRegister = Read a register value.
- * WriteRegister = Sets a register value.
-*
-* Rx PER test
-* ========
-* PerRxStart = Start or resume the PER measurement. This function will put the device in promiscuous mode, and resume counters update.
-* PerRxStop = Stop Rx PER measurements. This function stop counters update and make it is safe to read the PER test result.
-* PerRxGetResults = Get the last Rx PER test results.
-* PerRxClear = Clear the Rx PER test results.
- */
-
-enum
-{
-/* 0 */ TEST_MOD_QPSK,
-/* 1 */ TEST_MOD_CCK,
-/* 2 */ TEST_MOD_PBCC,
- TEST_MOD_NUMOF
-};
-
-enum
-{
-/* 0 */ TEST_MOD_LONG_PREAMBLE,
-/* 1 */ TEST_MOD_SHORT_PREAMBLE
-};
-
-enum
-{
-/* 0 */ TEST_BAND_2_4GHZ,
-/* 1 */ TEST_BAND_5GHZ,
-/* 2 */ TEST_BAND_4_9GHZ
-};
-
-
-enum
-{
- MOD_PBCC = 1,
- MOD_CCK,
- MOD_OFDM
-};
-
-
-#define TEST_MOD_MIN_GAP 200
-#define TEST_MOD_MIN_TX_BODYLEN 0
-#define TEST_MOD_MAX_TX_BODYLEN 2304
-
-#define TEST_RX_CAL_SAFE_TIME 5000 /*uSec*/
-
-#define TEST_MOD_IS_GAP_OK(gap) ((gap) >= TEST_MOD_MIN_GAP)
-
-#define TEST_MOD_IS_TX_BODYLEN_OK(len) \
- (INRANGE((len), TEST_MOD_MIN_TX_BODYLEN, TEST_MOD_MAX_TX_BODYLEN) && \
- (((len) & 3) == 0) )
-
-#define TEST_MOD_IS_PREAMBLE_OK(p) \
- INRANGE((p), TEST_MOD_LONG_PREAMBLE, TEST_MOD_SHORT_PREAMBLE)
-
-
-#define RESEARVED_SIZE_FOR_RESPONSE 4
-
-
-/****************************************************************************
- * cmdBld_CmdIeStartBss()
- ****************************************************************************
- * DESCRIPTION: Construct the StartBss command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeStartBss (TI_HANDLE hCmdBld, BSS_e BssType, void *fJoinCompleteCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- StartJoinRequest_t AcxCmd_StartBss;
- StartJoinRequest_t *pCmd = &AcxCmd_StartBss;
- TSsid *pSsid = &DB_BSS(hCmdBld).tSsid;
- TBssInfoParams *pBssInfoParams = &DB_BSS(hCmdBld);
- TI_UINT8 *BssId;
- TI_UINT8 *cmdBssId;
- EHwRateBitFiled HwBasicRatesBitmap;
- TI_UINT32 i;
-
- os_memoryZero (pCmdBld->hOs, (void *)pCmd, sizeof(StartJoinRequest_t));
-
- /*
- * Set RxCfg and RxFilterCfg values
- */
- pCmd->rxFilter.ConfigOptions = ENDIAN_HANDLE_LONG (DB_WLAN(hCmdBld).RxConfigOption);
- pCmd->rxFilter.FilterOptions = ENDIAN_HANDLE_LONG (DB_WLAN(hCmdBld).RxFilterOption);
- pCmd->beaconInterval = ENDIAN_HANDLE_WORD (DB_BSS(hCmdBld).BeaconInterval);
- pCmd->dtimInterval = DB_BSS(hCmdBld).DtimInterval;
- pCmd->channelNumber = DB_BSS(hCmdBld).RadioChannel;
- pCmd->bssType = BssType;
- /* Add radio band */
- pCmd->bssType |= DB_WLAN(hCmdBld).RadioBand << 4;
- /* Bits 0-2: Tx-Session-Count. bit 7: indicates if to flush the Tx queues */
- pCmd->ctrl = pBssInfoParams->Ctrl;
-
- /*
- * BasicRateSet
- * The wlan hardware uses pHwMboxCmd field to determine the rate at which to transmit
- * control frame responses (such as ACK or CTS frames)
- */
- cmdBld_ConvertAppRatesBitmap (pBssInfoParams->BasicRateSet, 0, &HwBasicRatesBitmap);
- pCmd->basicRateSet = ENDIAN_HANDLE_LONG(HwBasicRatesBitmap);
-
- /* BSS ID - reversed order (see wlan hardware spec) */
- BssId = DB_BSS(hCmdBld).BssId;
- cmdBssId = (TI_UINT8*)&pCmd->bssIdL;
- for (i = 0; i < MAC_ADDR_LEN; i++)
- cmdBssId[i] = BssId[MAC_ADDR_LEN - 1 - i];
-
- /* SSID string */
- pCmd->ssidLength = pSsid->len;
- os_memoryCopy (pCmdBld->hOs, (void *)pCmd->ssidStr, (void *)pSsid->str, pSsid->len);
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_START_JOIN,
- (TI_CHAR *)pCmd,
- sizeof(*pCmd),
- fJoinCompleteCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeEnableRx()
- ****************************************************************************
- * DESCRIPTION: Construct the EnableRx command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeEnableRx (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- TI_UINT8 aEnableRx_buf[4];
-
- aEnableRx_buf[0] = DB_DEFAULT_CHANNEL (hCmdBld);
- aEnableRx_buf[1] = 0; /* padding */
- aEnableRx_buf[2] = 0; /* padding */
- aEnableRx_buf[3] = 0; /* padding */
-
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_ENABLE_RX,
- (TI_CHAR *)aEnableRx_buf,
- sizeof(aEnableRx_buf),
- fCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeEnableTx()
- ****************************************************************************
- * DESCRIPTION: Construct the EnableTx command fileds and send it to the mailbox
- * Note: This Enable_TX command is used also for changing the serving
- * channel.
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeEnableTx (TI_HANDLE hCmdBld, TI_UINT8 channel, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- TI_UINT8 aEnableTx_buf[4];
-
- aEnableTx_buf[0] = channel;
- aEnableTx_buf[1] = 0; /* padding */
- aEnableTx_buf[2] = 0; /* padding */
- aEnableTx_buf[3] = 0; /* padding */
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_ENABLE_TX,
- (TI_CHAR *)aEnableTx_buf,
- sizeof(aEnableTx_buf),
- fCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeDisableRx()
- ****************************************************************************
- * DESCRIPTION: Construct the DisableRx command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeDisableRx (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_DISABLE_RX, NULL, 0, fCb, hCb, NULL);
-}
-
-/****************************************************************************
- * cmdBld_CmdIeDisableTx()
- ****************************************************************************
- * DESCRIPTION: Construct the DisableTx command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeDisableTx (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_DISABLE_TX, NULL, 0, fCb, hCb, NULL);
-}
-
-/****************************************************************************
- * cmdBld_CmdIeConfigureTemplateFrame()
- ****************************************************************************
- * DESCRIPTION: Generic function which sets the Fw with a template frame according
- * to the given template type.
- *
- * INPUTS: templateType - CMD_BEACON, CMD_PROBE_REQ, CMD_PROBE_RESP etc.
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeConfigureTemplateFrame (TI_HANDLE hCmdBld,
- TTemplateParams *pTemplate,
- TI_UINT16 uFrameSize,
- TemplateType_e eTemplateType,
- TI_UINT8 uIndex,
- void * fCb,
- TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- PktTemplate_t AcxCmd_PktTemplate;
- PktTemplate_t *pCmd = &AcxCmd_PktTemplate;
-
- /* If the frame size is too big - we truncate the frame template */
- if (uFrameSize > MAX_TEMPLATES_SIZE)
- {
- EReportSeverity eReportSeverity = (pTemplate == NULL) ? REPORT_SEVERITY_WARNING : REPORT_SEVERITY_ERROR;
-
- /* Report as error only if this is the actual template and not just a space holder */
- TRACE3(pCmdBld->hReport, eReportSeverity, "cmdBld_CmdIeConfigureTemplateFrame: Frame size (=%d) of CmdType (=%d) is bigger than MAX_TEMPLATES_SIZE(=%d) !!!\n", uFrameSize, eTemplateType, MAX_TEMPLATES_SIZE);
-
- /* Truncate length to the template size limit */
- uFrameSize = MAX_TEMPLATES_SIZE;
- }
- /* WLAN_OS_REPORT(("DloadTempl type =%d size=%d\n", eTemplateType, uFrameSize)); */
- /* if pTemplate is NULL than it means that we just want to reserve place in Fw, and there is no need to copy */
- if (pTemplate != NULL)
- {
- os_memoryCopy(pCmdBld->hOs, (void *)&pCmd->templateStart, (void *)(pTemplate->Buffer), uFrameSize);
- pCmd->templateTxAttribute.enabledRates = pTemplate->uRateMask;
- }
- pCmd->len = ENDIAN_HANDLE_WORD(uFrameSize);
- pCmd->index = uIndex;
- pCmd->templateType = eTemplateType;
- pCmd->templateTxAttribute.shortRetryLimit = 10;
- pCmd->templateTxAttribute.longRetryLimit = 10;
-
-#ifdef TI_DBG
- if (pCmdBld->uDbgTemplatesRateMask != 0)
- {
- pCmd->templateTxAttribute.enabledRates = pCmdBld->uDbgTemplatesRateMask;
- }
-#endif
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_SET_TEMPLATE,
- (TI_CHAR *)pCmd,
- sizeof (PktTemplate_t),
- fCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeSetKey()
- ****************************************************************************
- * DESCRIPTION: Construct the SetKey command fileds and send it to the mailbox
- *
- * INPUTS:
- * Action - add/remove key
- * MacAddr - relevant only for mapping keys
- * KeySize - key size
- * KeyType - default/mapping/TKIP
- * KeyId - relevant only for default keys
- * Key - key data
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeSetKey (TI_HANDLE hCmdBld,
- TI_UINT32 action,
- TI_UINT8 *pMacAddr,
- TI_UINT32 uKeySize,
- TI_UINT32 uKeyType,
- TI_UINT32 uKeyId,
- TI_UINT8 *pKey,
- TI_UINT32 uSecuritySeqNumLow,
- TI_UINT32 uSecuritySeqNumHigh,
- void *fCb,
- TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- SetKey_t AcxCmd_SetKey;
- SetKey_t *pCmd = &AcxCmd_SetKey;
-
- os_memoryZero (pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- MAC_COPY (pCmd->addr, pMacAddr);
-
- if (uKeySize > MAX_KEY_SIZE)
- {
- os_memoryCopy (pCmdBld->hOs, (void *)pCmd->key, (void *)pKey, MAX_KEY_SIZE);
- }
- else
- {
- os_memoryCopy (pCmdBld->hOs, (void *)pCmd->key, (void *)pKey, uKeySize);
- }
-
- pCmd->action = ENDIAN_HANDLE_WORD((TI_UINT16)action);
- pCmd->keySize = (TI_UINT8)uKeySize;
- pCmd->type = (TI_UINT8)uKeyType;
- pCmd->id = (TI_UINT8)uKeyId;
- pCmd->ssidProfile = 0;
-
- /*
- * Preserve TKIP/AES security sequence number after recovery.
- * If not in reconfig set to 0 so the FW will ignore it and keep its own number.
- * Note that our STA Tx is currently using only one sequence-counter
- * for all ACs (unlike the Rx which is separated per AC).
- */
- if (pCmdBld->bReconfigInProgress == TI_FALSE)
- {
- uSecuritySeqNumLow = uSecuritySeqNumHigh = 0;
- }
- pCmd->AcSeqNum16[0] = ENDIAN_HANDLE_WORD((TI_UINT16)uSecuritySeqNumLow);
- pCmd->AcSeqNum16[1] = 0;
- pCmd->AcSeqNum16[2] = 0;
- pCmd->AcSeqNum16[3] = 0;
-
- pCmd->AcSeqNum32[0] = ENDIAN_HANDLE_LONG(uSecuritySeqNumHigh);
- pCmd->AcSeqNum32[1] = 0;
- pCmd->AcSeqNum32[2] = 0;
- pCmd->AcSeqNum32[3] = 0;
-
-
-TRACE6(pCmdBld->hReport, REPORT_SEVERITY_INFORMATION, "Addr: %02x:%02x:%02x:%02x:%02x:%02x\n", pCmd->addr[0],pCmd->addr[1],pCmd->addr[2],pCmd->addr[3],pCmd->addr[4],pCmd->addr[5]);
-
-TRACE7(pCmdBld->hReport, REPORT_SEVERITY_INFORMATION, "Action=%x,keySize=0x%x,type=%x, id=%x, ssidProfile=%x, AcSeqNum16[0]=%x, AcSeqNum32[0]=%x\n", pCmd->action,pCmd->keySize, pCmd->type,pCmd->id,pCmd->ssidProfile,pCmd->AcSeqNum16[0],pCmd->AcSeqNum32[0] );
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_SET_KEYS, (char *)pCmd, sizeof(*pCmd), fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeStartScan ()
- ****************************************************************************
- * DESCRIPTION: Send SCAN Command
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeStartScan (TI_HANDLE hCmdBld, ScanParameters_t* pScanParams, void *fScanResponseCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_SCAN,
- (TI_CHAR *)pScanParams,
- sizeof(ScanParameters_t),
- fScanResponseCb,
- hCb,
- NULL);
-}
-
-/****************************************************************************
- * cmdBld_CmdIeStartSPSScan ()
- ****************************************************************************
- * DESCRIPTION: Send SPS SCAN Command
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeStartSPSScan (TI_HANDLE hCmdBld, ScheduledScanParameters_t* pScanParams, void* fScanResponseCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_SPS_SCAN,
- (TI_CHAR *)pScanParams,
- sizeof(ScheduledScanParameters_t),
- fScanResponseCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeStopScan ()
- ****************************************************************************
- * DESCRIPTION: Construct the STOP_SCAN command fields and send it to the
- * mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeStopScan (TI_HANDLE hCmdBld, void *fScanResponseCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- TRACE0(pCmdBld->hReport, REPORT_SEVERITY_INFORMATION, "cmdBld_CmdIeStopScan: -------------- \n");
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_STOP_SCAN, 0, 0, fScanResponseCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeStopSPSScan ()
- ****************************************************************************
- * DESCRIPTION: Construct the STOP_SPS_SCAN command fields and send it to the
- * mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeStopSPSScan (TI_HANDLE hCmdBld, void* fScanResponseCB, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- TRACE0(pCmdBld->hReport, REPORT_SEVERITY_INFORMATION, "cmdBld_CmdIeStopSPSScan: -------------- \n");
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_STOP_SPS_SCAN, 0, 0, fScanResponseCB, hCb, NULL);
-}
-
-
-TI_STATUS cmdBld_CmdIeSetSplitScanTimeOut (TI_HANDLE hCmdBld, TI_UINT32 uTimeOut, void *fCB, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- enhancedTriggerTO_t Cmd_enhancedTrigger;
- enhancedTriggerTO_t *pCmd = &Cmd_enhancedTrigger;
-
-TRACE1(pCmdBld->hReport, REPORT_SEVERITY_INFORMATION, "cmdBld_CmdIeSetSplitScanTimeOut: uTimeOut=%d -------------- \n", uTimeOut);
-
- pCmd->slicedScanTimeOut = uTimeOut;
-
- return cmdQueue_SendCommand(pCmdBld->hCmdQueue, CMD_TRIGGER_SCAN_TO, (char *)pCmd, sizeof(*pCmd), fCB, hCb, NULL);
-}
-
-/**
- * \fn cmdBld_CmdIeScanSsidList
- * \brief Sets SSID list for periodic scan
- *
- * Sets SSID list for periodic scan
- *
- * \param hCmdBld - handle to command builder object
- * \param pSsidList - command data
- * \param fScanResponseCB - command complete function callback
- * \param hCb - command complete callback handle
- * \return TI_OK on success, any other code on error
- * \sa cmdBld_CmdIePeriodicScanParams, cmdBld_CmdIeStartPeriodicScan, cmdBld_CmdIeStopPeriodicScan
- */
-TI_STATUS cmdBld_CmdIeScanSsidList (TI_HANDLE hCmdBld, ConnScanSSIDList_t *pSsidList,
- void* fScanResponseCB, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_CONNECTION_SCAN_SSID_CFG,
- (char *)pSsidList,
- sizeof(ConnScanSSIDList_t),
- fScanResponseCB,
- hCb,
- NULL);
-}
-
-/**
- * \fn cmdBld_CmdIePeriodicScanParams
- * \brief Sets periodic scan parameters
- *
- * Sets periodic scan parameters
- *
- * \param hCmdBld - handle to command builder object
- * \param pPeriodicScanParams - command data
- * \param fScanResponseCB - command complete function callback
- * \param hCb - command complete callback handle
- * \return TI_OK on success, any other code on error
- * \sa cmdBld_CmdIeScanSsidList, cmdBld_CmdIeStartPeriodicScan, cmdBld_CmdIeStopPeriodicScan
- */
-TI_STATUS cmdBld_CmdIePeriodicScanParams (TI_HANDLE hCmdBld, ConnScanParameters_t *pPeriodicScanParams,
- void* fScanResponseCB, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_CONNECTION_SCAN_CFG,
- (char *)pPeriodicScanParams,
- sizeof(ConnScanParameters_t),
- fScanResponseCB,
- hCb,
- NULL);
-}
-
-/**
- * \fn cmdBld_CmdIeStartPeriodicScan
- * \brief Starts a periodic scan operation
- *
- * Starts a periodic scan operation
- *
- * \param hCmdBld - handle to command builder object
- * \param pPeriodicScanStart - command data
- * \param fScanResponseCB - command complete function callback
- * \param hCb - command complete callback handle
- * \return TI_OK on success, any other code on error
- * \sa cmdBld_CmdIeScanSsidList, cmdBld_CmdIePeriodicScanParams, cmdBld_CmdIeStopPeriodicScan
- */
-TI_STATUS cmdBld_CmdIeStartPeriodicScan (TI_HANDLE hCmdBld, PeriodicScanTag* pPeriodicScanStart,
- void* fScanResponseCB, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_START_PERIODIC_SCAN,
- pPeriodicScanStart, sizeof (PeriodicScanTag),
- fScanResponseCB,
- hCb,
- NULL);
-}
-
-/**
- * \fn cmdBld_CmdIeStopPeriodicScan
- * \brief Stops an on-going periodic scan operation
- *
- * Stops an on-going periodic scan operation
- *
- * \param hCmdBld - handle to command builder object
- * \param fScanResponseCB - command complete function callback
- * \param hCb - command complete callback handle
- * \return TI_OK on success, any other code on error
- * \sa cmdBld_CmdIeScanSsidList, cmdBld_CmdIePeriodicScanParams, cmdBld_CmdIeStartPeriodicScan
- */
-TI_STATUS cmdBld_CmdIeStopPeriodicScan (TI_HANDLE hCmdBld,
- PeriodicScanTag* pPeriodicScanStop,
- void* fScanResponseCB,
- TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_STOP_PERIODIC_SCAN,
- pPeriodicScanStop,
- sizeof(pPeriodicScanStop),
- fScanResponseCB,
- hCb,
- NULL);
-}
-
-/****************************************************************************
- * cmdBld_CmdIeNoiseHistogram ()
- ****************************************************************************
- * DESCRIPTION: Send NOISE_HISTOGRAM Command
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeNoiseHistogram (TI_HANDLE hCmdBld, TNoiseHistogram *pNoiseHistParams, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- NoiseHistRequest_t AcxCmd_NoiseHistogram;
- NoiseHistRequest_t *pCmd = &AcxCmd_NoiseHistogram;
-
- os_memoryZero(pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- pCmd->mode = ENDIAN_HANDLE_WORD((TI_UINT16)pNoiseHistParams->cmd);
- pCmd->sampleIntervalUSec = ENDIAN_HANDLE_WORD(pNoiseHistParams->sampleInterval);
-
- os_memoryCopy (pCmdBld->hOs, (void *)&(pCmd->thresholds[0]), (void *)&(pNoiseHistParams->ranges[0]), MEASUREMENT_NOISE_HISTOGRAM_NUM_OF_RANGES);
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_NOISE_HIST, (TI_CHAR *)pCmd, sizeof(*pCmd), fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeSetPsMode()
- ****************************************************************************
- * DESCRIPTION: send Command for Power Management configuration
- * to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeSetPsMode (TI_HANDLE hCmdBld, TPowerSaveParams* powerSaveParams, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- PSModeParameters_t Cmd_PowerMgmtCnf;
- PSModeParameters_t * pCmd = &Cmd_PowerMgmtCnf;
-
- os_memoryZero(pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- if (powerSaveParams->ps802_11Enable)
- {
- pCmd->mode = 1;
- }
- else
- {
- pCmd->mode = 0;
- }
-
- pCmd->hangOverPeriod = powerSaveParams->hangOverPeriod;
- pCmd->needToSendNullData = powerSaveParams->needToSendNullData;
- pCmd->rateToTransmitNullData = ENDIAN_HANDLE_LONG(powerSaveParams->NullPktRateModulation);
- pCmd->numberOfRetries = powerSaveParams->numNullPktRetries;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_SET_PS_MODE, (TI_CHAR *)pCmd, sizeof(*pCmd), fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeSwitchChannel ()
- ****************************************************************************
- * DESCRIPTION: Send CMD_SWITCH_CHANNEL Command
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeSwitchChannel (TI_HANDLE hCmdBld, TSwitchChannelParams *pSwitchChannelCmd, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- ChannelSwitchParameters_t AcxCmd_SwitchChannel;
- ChannelSwitchParameters_t *pCmd = &AcxCmd_SwitchChannel;
-
- os_memoryZero (pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- pCmd->channel = pSwitchChannelCmd->channelNumber;
- pCmd->switchTime = pSwitchChannelCmd->switchTime;
- pCmd->txSuspend = pSwitchChannelCmd->txFlag;
- pCmd->flush = pSwitchChannelCmd->flush;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_CHANNEL_SWITCH, (TI_CHAR *)pCmd, sizeof(*pCmd), fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeSwitchChannelCancel ()
- ****************************************************************************
- * DESCRIPTION: Send CMD_SWITCH_CHANNEL_CANCEL Command
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeSwitchChannelCancel (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_STOP_CHANNEL_SWICTH, 0, 0, fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeFwDisconnect()
- ****************************************************************************
- * DESCRIPTION: Construct the Disconnect command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeFwDisconnect (TI_HANDLE hCmdBld, TI_UINT32 uConfigOptions, TI_UINT32 uFilterOptions, DisconnectType_e uDisconType, TI_UINT16 uDisconReason, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- DisconnectParameters_t AcxCmd_Disconnect;
-
- AcxCmd_Disconnect.rxFilter.ConfigOptions = ENDIAN_HANDLE_LONG(uConfigOptions);
- AcxCmd_Disconnect.rxFilter.FilterOptions = ENDIAN_HANDLE_LONG(uFilterOptions);
- AcxCmd_Disconnect.disconnectReason = ENDIAN_HANDLE_LONG(uDisconReason);
- AcxCmd_Disconnect.disconnectType = uDisconType;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_DISCONNECT,
- (void *)&AcxCmd_Disconnect,
- sizeof(AcxCmd_Disconnect),
- fCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeMeasurement()
- ****************************************************************************
- * DESCRIPTION: send Command for measurement configuration
- * to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeMeasurement (TI_HANDLE hCmdBld,
- TMeasurementParams *pMeasurementParams,
- void *fMeasureResponseCb,
- TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- MeasurementParameters_t Cmd_MeasurementParam;
- MeasurementParameters_t *pCmd = &Cmd_MeasurementParam;
-
- os_memoryZero (pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- pCmd->band = pMeasurementParams->band;
- pCmd->channel = pMeasurementParams->channel;
- pCmd->duration = ENDIAN_HANDLE_LONG(pMeasurementParams->duration);
- pCmd->rxFilter.ConfigOptions = ENDIAN_HANDLE_LONG(pMeasurementParams->ConfigOptions);
- pCmd->rxFilter.FilterOptions = ENDIAN_HANDLE_LONG(pMeasurementParams->FilterOptions);
- pCmd->scanTag = (TI_UINT8)pMeasurementParams->eTag;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_MEASUREMENT,
- (TI_CHAR *)pCmd,
- sizeof(*pCmd),
- fMeasureResponseCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeMeasurementStop()
- ****************************************************************************
- * DESCRIPTION: send Command for stoping measurement
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeMeasurementStop (TI_HANDLE hCmdBld, void* fMeasureResponseCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_STOP_MEASUREMENT,
- 0,
- 0,
- fMeasureResponseCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeApDiscovery()
- ****************************************************************************
- * DESCRIPTION: send Command for AP Discovery
- * to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeApDiscovery (TI_HANDLE hCmdBld, TApDiscoveryParams *pApDiscoveryParams, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- ApDiscoveryParameters_t Cmd_ApDiscovery;
- ApDiscoveryParameters_t *pCmd = &Cmd_ApDiscovery;
-
- os_memoryZero (pCmdBld->hOs, (void *)pCmd, sizeof(*pCmd));
-
- pCmd->txPowerAttenuation = pApDiscoveryParams->txPowerDbm;
- pCmd->numOfProbRqst = pApDiscoveryParams->numOfProbRqst;
- pCmd->scanDuration = ENDIAN_HANDLE_LONG(pApDiscoveryParams->scanDuration);
- pCmd->scanOptions = ENDIAN_HANDLE_WORD(pApDiscoveryParams->scanOptions);
- pCmd->txdRateSet = ENDIAN_HANDLE_LONG(pApDiscoveryParams->txdRateSet);
- pCmd->rxFilter.ConfigOptions = ENDIAN_HANDLE_LONG(pApDiscoveryParams->ConfigOptions);
- pCmd->rxFilter.FilterOptions = ENDIAN_HANDLE_LONG(pApDiscoveryParams->FilterOptions);
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_AP_DISCOVERY,
- (void *)pCmd,
- sizeof(*pCmd),
- fCb,
- hCb,
- NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeApDiscoveryStop()
- ****************************************************************************
- * DESCRIPTION: send Command for stoping AP Discovery
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeApDiscoveryStop (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_STOP_AP_DISCOVERY, 0, 0, fCb, hCb, NULL);
-}
-
-
-/****************************************************************************
- * cmdBld_CmdIeHealthCheck()
- ****************************************************************************
- * DESCRIPTION:
- *
- * INPUTS:
- *
- * OUTPUT:
- *
- * RETURNS:
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeHealthCheck (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue, CMD_HEALTH_CHECK, NULL, 0, fCb, hCb, NULL);
-}
-
-/****************************************************************************
- * cmdBld_CmdIeSetStaState()
- ****************************************************************************
- * DESCRIPTION: Construct the Disconnect command fileds and send it to the mailbox
- *
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeSetStaState (TI_HANDLE hCmdBld, TI_UINT8 staState, void *fCb, TI_HANDLE hCb)
-{
- TCmdBld *pCmdBld = (TCmdBld *)hCmdBld;
- SetStaState_t AcxCmd_SetStaState;
-
- AcxCmd_SetStaState.staState = staState;
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_SET_STA_STATE,
- (void *)&AcxCmd_SetStaState,
- sizeof(AcxCmd_SetStaState),
- fCb,
- hCb,
- NULL);
-}
-
-/****************************************************************************
- * cmdBld_BitIeTestCmd()
- ****************************************************************************
- * DESCRIPTION:
- * INPUTS: None
- *
- * OUTPUT: None
- *
- * RETURNS: TI_OK or TI_NOK
- ****************************************************************************/
-TI_STATUS cmdBld_CmdIeTest (TI_HANDLE hCmdBld, void *fCb, TI_HANDLE hCb, TTestCmd* pTestCmd)
-{
- TCmdBld *pCmdBld = (TI_HANDLE)hCmdBld;
- TI_UINT32 paramLength;
- TI_BOOL bIsCBfuncNecessary = TI_TRUE;
-
- if (NULL == pTestCmd)
- {
- TRACE0(pCmdBld->hReport, REPORT_SEVERITY_ERROR, " pTestCmd_Buf = NULL!!!\n");
- return TI_NOK;
- }
-
- if ( (TestCmdID_enum)pTestCmd->testCmdId < MAX_TEST_CMD_ID )
- {
- bIsCBfuncNecessary = TI_TRUE;
- }
- else
- {
- TRACE1(pCmdBld->hReport, REPORT_SEVERITY_WARNING, " Unsupported testCmdId (%d)\n", pTestCmd->testCmdId);
- }
-
- if (bIsCBfuncNecessary && fCb == NULL)
- {
- return TI_OK;
- }
-
- switch( pTestCmd->testCmdId )
- {
- case TEST_CMD_PD_BUFFER_CAL:
- paramLength = sizeof(TTestCmdPdBufferCal);
- break;
-
- case TEST_CMD_P2G_CAL:
- paramLength = sizeof(TTestCmdP2GCal);
- break;
-
- case TEST_CMD_RX_STAT_GET:
- paramLength = sizeof(RadioRxStatistics);
- break;
-
- /* packet */
- case TEST_CMD_FCC:
- paramLength = sizeof(TPacketParam);
- break;
-
- /* tone */
- case TEST_CMD_TELEC:
- paramLength = sizeof(TToneParam);
- break;
-
- case TEST_CMD_PLT_TEMPLATE:
- paramLength = sizeof(TTxTemplate);
- break;
-
- /* channel tune */
- case TEST_CMD_CHANNEL_TUNE:
- paramLength = sizeof(TTestCmdChannel);
- break;
-
- case TEST_CMD_GET_FW_VERSIONS:
- paramLength = sizeof(TFWVerisons);
- break;
-
- case TEST_CMD_INI_FILE_RADIO_PARAM:
- paramLength = sizeof(IniFileRadioParam);
- break;
-
- case TEST_CMD_INI_FILE_GENERAL_PARAM:
- paramLength = sizeof(IniFileGeneralParam);
- break;
-
- case TEST_CMD_PLT_GAIN_ADJUST:
- paramLength = sizeof(uint32);
- break;
-
- case TEST_CMD_RUN_CALIBRATION_TYPE:
- paramLength = sizeof(TTestCmdRunCalibration);
- break;
-
- case TEST_CMD_TX_GAIN_ADJUST:
- paramLength = sizeof(TTxGainAdjust);
- break;
- case TEST_CMD_TEST_TONE:
- paramLength = sizeof(TestToneParams_t);
- break;
-
- case TEST_CMD_SET_EFUSE:
- paramLength = sizeof(EfuseParameters_t);
- break;
- case TEST_CMD_GET_EFUSE:
- paramLength = sizeof(EfuseParameters_t);
- break;
-
- case TEST_CMD_RX_PLT_CAL:
- paramLength = sizeof(RadioRxPltCal);
- break;
-
- case TEST_CMD_UPDATE_PD_REFERENCE_POINT:
- paramLength = sizeof(TTestCmdUpdateReferncePoint);
- break;
-
- case TEST_CMD_UPDATE_PD_BUFFER_ERRORS:
- paramLength = sizeof(TTestCmdPdBufferErrors);
- break;
-
- case TEST_CMD_POWER_MODE:
- paramLength = sizeof(TTestCmdPowerMode);
- break;
-
- case TEST_CMD_STOP_TX:
- case TEST_CMD_RX_STAT_STOP:
- case TEST_CMD_RX_STAT_START:
- case TEST_CMD_RX_STAT_RESET:
- case TEST_CMD_RX_PLT_ENTER:
- case TEST_CMD_RX_PLT_EXIT:
- paramLength = 0;
- break;
-
- default:
- paramLength = sizeof(pTestCmd->testCmd_u);
- }
-
- return cmdQueue_SendCommand (pCmdBld->hCmdQueue,
- CMD_TEST,
- (void *)pTestCmd,
- paramLength + RESEARVED_SIZE_FOR_RESPONSE,
- fCb,
- hCb,
- (void*)pTestCmd);
-}