MeasurementSrv.h revision ddac9c138c5b4b16b99fb8bc5f0f10418efa1029
1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * MeasurementSrv.h 3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved. 6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions 9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met: 10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions of source code must retain the above copyright 12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the documentation and/or other materials provided with the 16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * distribution. 17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * contributors may be used to endorse or promote products derived 19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * from this software without specific prior written permission. 20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file MeasurementSrv.h 35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief This file include private definitions for the Measurement SRV module. 36ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 08-November-2005 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifndef __MEASUREMENT_SRV_H__ 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __MEASUREMENT_SRV_H__ 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "TWDriverInternal.h" 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "MacServices_api.h" 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "fsm.h" 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "MeasurementSrvSM.h" 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Constant definitions. 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Time in milliseconds to receive a command complete for measure start / stop from the FW */ 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MSR_FW_GUARD_TIME 100 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define DEF_SAMPLE_INTERVAL (100) /* expressed in microsec */ 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define NOISE_HISTOGRAM_THRESHOLD 100 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Get param callback flags */ 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MSR_SRV_WAITING_CHANNEL_LOAD_RESULTS 0x01 /* channel load results are still pending */ 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MSR_SRV_WAITING_NOISE_HIST_RESULTS 0x02 /* noise histogram results are still pending */ 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Enums. 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Typedefs. 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Structure definitions. 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \struct measurementSRV_t 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief This structure contains the measurement SRV object data 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMediumOccupancy mediumOccupancyResults; /**< channel load results buffer */ 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TNoiseHistogramResults noiseHistogramResults; /**< noise histogram results buffer */ 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* module handles */ 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hOS; /**< OS object handle */ 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hReport; /**< report object handle */ 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hPowerSaveSRV; /**< power save SRV object handle */ 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hCmdBld; /**< Command Builder object handle */ 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hEventMbox; /**< Event Mbox handle */ 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hTimer ; /**< Timer Module handle */ 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* CB functions and objects */ 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMeasurementSrvCompleteCb measurmentCompleteCBFunc; 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /**< 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * upper layer (measurement manager) measurement complete 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * callback function 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE measurementCompleteCBObj; /**< 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * upper layer (measurement manager) measurement complete 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * callback object 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TCmdResponseCb commandResponseCBFunc; /**< 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * upper layer command response CB, used for both start 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * and stop. Passed down to the HAL and called when 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the measurement command has been received by the FW 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE commandResponseCBObj; /**< 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * object parameter passed to the commandResposeFunc by 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the HAL when it is called 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TFailureEventCb failureEventFunc; /**< 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * upper layer Failure Event CB. 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * called when the scan command has been Timer Expiry 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE failureEventObj; /**< 121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * object parameter passed to the failureEventFunc 122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * when it is called 123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Timers */ 125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hRequestTimer[ MAX_NUM_OF_MSR_TYPES_IN_PARALLEL ]; 126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /**< Timers for different measurement types */ 127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bRequestTimerRunning[ MAX_NUM_OF_MSR_TYPES_IN_PARALLEL ]; 128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /**< Indicates whether each request timer is running */ 129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hStartStopTimer; /**< Timer for start / stop commands guard */ 130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bStartStopTimerRunning; /**< 131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Indicates whether the start / stop command guard 132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * timer is running 133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Misc stuff */ 135a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bInRequest; /**< 136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Indicates whether the SM is run within 137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the measurement request context (if so, to avoid 138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * re-entrance, the complete function shouldn't 139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * be called on failure, but rather an invalid 140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * status should be returned) 141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS returnStatus; /**< 143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Holds the return code to the upper layer 144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Used to save errors during SM operation. 145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bSendNullDataWhenExitPs; /**< whether to send NULL data frame when exiting 147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * driver mode 148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* state machine */ 150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt fsm_stateMachine_t* SM; /**< 151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * state machines for different 152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * scan types 153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt measurements_SRVSMStates_e SMState; /**< state machine current states */ 155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* measurement request */ 156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMeasurementRequest msrRequest; /**< measurement request parameters */ 157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMeasurementReply msrReply; /**< measurement reply values */ 158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 requestRecptionTimeStampMs; /**< The time in which the request was received. */ 159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 timeToRequestExpiryMs; /**< 160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * The duration (in ms) from request receiption 161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * until it should actually start. Request is 162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * discarded if a longer period is required 163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 pendingParamCBs; /**< 165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * a bitmap indicating which get_param CBs are 166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * currently pending (noise histogram and/or 167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * channel load). 168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} measurementSRV_t; 170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * External data definitions. 174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 175a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 176a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * External functions definitions 180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *********************************************************************** 181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 184ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 08-November-2005\n 186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Creates the measurement SRV object 187a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 188a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Public.\n 189a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hOS - handle to the OS object.\n 190a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return a handle to the measurement SRV object, NULL if an error occurred.\n 191a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 192a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE MacServices_measurementSRV_create( TI_HANDLE hOS ); 193a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 194a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 195ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 196a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 08-November-2005\n 197a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Initializes the measurement SRV object 198a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 199a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Public.\n 200a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 201a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hReport - handle to the report object.\n 202a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hCmdBld - handle to the Command Builder object.\n 203a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hEventMbox - handle to the Event Mbox object.\n 204a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hPowerSaveSRV - handle to the power save SRV object.\n 205a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hTimer - handle to the Timer module object.\n 206a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 207a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS MacServices_measurementSRV_init (TI_HANDLE hMeasurementSRV, 208a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hReport, 209a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hCmdBld, 210a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hEventMbox, 211a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hPowerSaveSRV, 212a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hTimer); 213a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 214a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 215ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 216a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 08-November-2005\n 217a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Destroys the measurement SRV object 218a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 219a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Public.\n 220a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 221a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 222a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid MacServices_measurementSRV_destroy( TI_HANDLE hMeasurementSRV ); 223a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 224a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 225ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 226a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 13-November-2005\n 227a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Checks whether a beacon measurement is part of current measurement request 228a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 229a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Private.\n 230a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 231a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_TRUE if a beacon measurement is part of current request, TI_FALSE otherwise.\n 232a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 233a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_BOOL measurementSRVIsBeaconMeasureIncluded( TI_HANDLE hMeasurementSRV ); 234a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 235a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 236ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 237a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 15-November-2005\n 238a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Finds the index for the measurement request with the shortest period 239a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (the one that has now completed).\n 240a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 241a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Private.\n 242a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 243a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return index of the measurement request with the shortest duration.\n 244a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 245a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 measurementSRVFindMinDuration( TI_HANDLE hMeasurementSRV ); 246a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 247a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 248ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 249a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 15-November-2005\n 250a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Handles an AP discovery timer expiry, by setting necessary values in the 251a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * reply struct.\n 252a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 253a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Private.\n 254a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 255a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param requestIndex - index of the beacon request in the request structure.\n 256a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 257a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid measurementSRVHandleBeaconMsrComplete( TI_HANDLE hMeasurementSRV, TI_INT32 requestIndex ); 258a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 259a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 260ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 261a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 15-November-2005\n 262a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Handles a channel load timer expiry, by requesting channel load 263a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * results from the FW.\n 264a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 265a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Private.\n 266a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 267a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param requestIndex - index of the channel load request in the request structure.\n 268a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 269a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid measurementSRVHandleChannelLoadComplete( TI_HANDLE hMeasurementSRV, TI_INT32 requestIndex ); 270a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 271a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 272ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 273a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 15-November-2005\n 274a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Handles a nois histogram timer expiry, by requesting noise histogram 275a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * reaults from the FW.\n 276a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 277a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Private.\n 278a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 279a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param requestIndex - indexof the beacon request in the request structure.\n 280a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 281a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid measurementSRVHandleNoiseHistogramComplete( TI_HANDLE hMeasurementSRV, TI_INT32 requestIndex ); 282a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 283a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 284ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 285a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 16-November-2005\n 286a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Checks whether all measuremtn types had completed and all param CBs had been called.\n 287a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 288a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Public.\n 289a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 290a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param status - the get_param call status.\n 291a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param CB_buf - pointer to the results buffer (already on the measurement SRV object) 292a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 293a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_BOOL measurementSRVIsMeasurementComplete( TI_HANDLE hMeasurementSRV ); 294a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 295a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 296ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt * \author Ronen Kalish\n 297a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \date 17-November-2005\n 298a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Finds a measure type index in the measure request array.\n 299a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 300a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Function Scope \e Public.\n 301a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hMeasurementSRV - handle to the measurement SRV object.\n 302a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param type - the measure type to look for.\n 303a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return the type index, -1 if not found.\n 304a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 305a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 measurementSRVFindIndexByType( TI_HANDLE hMeasurementSRV, EMeasurementType type ); 306a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 307a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 308a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * measurementSRVRegisterFailureEventCB * 309a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt **************************************************************************************** 310a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtDESCRIPTION: Registers a failure event callback for scan error notifications. 311a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 312a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 313a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtINPUT: - hMeasurementSRV - handle to the Measurement SRV object. 314a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt - failureEventCB - the failure event callback function.\n 315a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt - hFailureEventObj - handle to the object passed to the failure event callback function. 316a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 317a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtOUTPUT: 318a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtRETURN: void. 319a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt****************************************************************************************/ 320a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid measurementSRVRegisterFailureEventCB( TI_HANDLE hMeasurementSRV, 321a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt void * failureEventCB, TI_HANDLE hFailureEventObj ); 322a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 323a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid measurementSRV_restart( TI_HANDLE hMeasurementSRV); 324a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 325a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 326a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif /* __MEASUREMENT_SRV_H__ */ 327a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 328