1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * TWDriverMsr.h
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved.
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met:
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    the documentation and/or other materials provided with the
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    distribution.
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    contributors may be used to endorse or promote products derived
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    from this software without specific prior written permission.
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef TWDDRIVERMSR_H
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TWDDRIVERMSR_H
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file  TWDriverMsr.h
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \brief TWDriver Measurement APIs
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \see
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriverScan.h"
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tidef.h"
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "public_radio.h"
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define NOISE_HISTOGRAM_LENGTH              8
48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_NUM_OF_MSR_TYPES_IN_PARALLEL    3
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The size of the time frame in which we must start the */
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* measurement request or give up */
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MSR_START_MAX_DELAY             50
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* In non unicast measurement requests a random delay */
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* between 4 and 40 milliseconds */
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MSR_ACTIVATION_DELAY_RANDOM     36
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MSR_ACTIVATION_DELAY_OFFSET     4
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EMeasurementType
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief different measurement types
62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	0	*/	MSR_TYPE_BASIC_MEASUREMENT  = 0,			/**< */
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	1	*/	MSR_TYPE_CCA_LOAD_MEASUREMENT,				/**< */
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	2	*/	MSR_TYPE_NOISE_HISTOGRAM_MEASUREMENT,		/**< */
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	3	*/	MSR_TYPE_BEACON_MEASUREMENT,				/**< */
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	4	*/	MSR_TYPE_FRAME_MEASUREMENT,					/**< */
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	5	*/	MSR_TYPE_MAX_NUM_OF_MEASURE_TYPES			/**< */
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EMeasurementType;
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EMeasurementScanMode
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Scan Modes
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * enumerates the different scan modes available for beacon measurement
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	0	*/	MSR_SCAN_MODE_PASSIVE = 0,				/**< Passive Scan Mode			*/
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	1	*/	MSR_SCAN_MODE_ACTIVE,					/**< Active Scan Mode			*/
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	2	*/	MSR_SCAN_MODE_BEACON_TABLE,				/**< Beacon Table Scan Mode		*/
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	3	*/	MSR_SCAN_MODE_MAX_NUM_OF_SCAN_MODES		/**< Max number of Scan Modes	*/
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EMeasurementScanMode;
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EMeasurementFrameType
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Frame Types
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	0	*/	MSR_FRAME_TYPE_NO_ACTIVE = 0,	/**< */
105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	1	*/	MSR_FRAME_TYPE_BROADCAST,		/**< */
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	2	*/	MSR_FRAME_TYPE_MULTICAST,		/**< */
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	3	*/	MSR_FRAME_TYPE_UNICAST			/**< */
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EMeasurementFrameType;
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EMeasurementMode
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Modes
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	0	*/	MSR_MODE_NONE = 0,				/**< */
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	1	*/	MSR_MODE_XCC,					/**< */
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	2	*/	MSR_MODE_SPECTRUM_MANAGEMENT	/**< */
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EMeasurementMode;
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EMeasurementRejectReason
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Reject Reason
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	1	*/	MSR_REJECT_OTHER_REASON = 1, 				/**< */
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	2	*/	MSR_REJECT_INVALID_MEASUREMENT_TYPE,		/**< */
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	3	*/	MSR_REJECT_DTIM_OVERLAP,					/**< */
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	4	*/	MSR_REJECT_DURATION_EXCEED_MAX_DURATION,	/**< */
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	5	*/	MSR_REJECT_TRAFFIC_INTENSITY_TOO_HIGH,		/**< */
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	6	*/	MSR_REJECT_SCR_UNAVAILABLE,					/**< */
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	7	*/	MSR_REJECT_MAX_DELAY_PASSED,				/**< */
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	8	*/	MSR_REJECT_INVALID_CHANNEL,					/**< */
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	9	*/	MSR_REJECT_NOISE_HIST_FAIL,					/**< */
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	10	*/	MSR_REJECT_CHANNEL_LOAD_FAIL,				/**< */
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*	11	*/	MSR_REJECT_EMPTY_REPORT						/**< */
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EMeasurementRejectReason;
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /*
150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt ***********************************************************************
151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  Unions.
152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt ***********************************************************************
153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \union TMeasurementReplyValue
155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement possible Reply Values
156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef union
162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            CCABusyFraction;						/**< */
164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            RPIDensity[ NOISE_HISTOGRAM_LENGTH ];   /**< */
165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementReplyValue;
167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***********************************************************************
169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  Structure definitions.
170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt ***********************************************************************
171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementTypeRequest
173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Type Request
174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure defines single channel parameters for normal scan operation (inc. triggered)
177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EMeasurementType                    msrType;	/**< */
183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EMeasurementScanMode                scanMode;	/**< */
184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32                           duration;	/**< */
185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            reserved;	/**< */
186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementTypeRequest;
188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementRequest
190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Request
191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure defines measurement parameters of several measurement request types
194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * for one channel
195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    ERadioBand                          band;												/**< */
201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            channel;											/**< */
202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT64                           startTime;											/**< */
203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            txPowerDbm;								  			/**< */
204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EScanResultTag                      eTag;												/**< */
205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            numberOfTypes;										/**< */
206981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TMeasurementTypeRequest             msrTypes[ MAX_NUM_OF_MSR_TYPES_IN_PARALLEL ];		/**< */
207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementRequest;
209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementTypeReply
211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Type Reply
212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure defines the reply parameters for measurement of specific type performed
215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (the type is indicated in the msrType field)
216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EMeasurementType                    msrType;		/**< The type of performed measurement the reply reffer to	*/
222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            status;			/**< The status of measurement performed					*/
223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TMeasurementReplyValue              replyValue;		/**< The Reply Value of performed measurement			 	*/
224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            reserved;		/**< */
225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementTypeReply;
227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementReply
229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Reply
230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure defines the reply parameters for some measurements of some types performed
233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            numberOfTypes;									/**< Number of measurements types (equal to number of measurement replys)	*/
239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TMeasurementTypeReply               msrTypes[ MAX_NUM_OF_MSR_TYPES_IN_PARALLEL ];	/**< Measurements Replys buffer. One Reply per type							*/
240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementReply;
242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementFrameHdr
244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Frame Header
245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure defines a Header of a measurement
248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT16                           dialogToken;			/**< Indicates if the received Measurement is the same as the one that is being processed	*/
254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            activatioDelay;			/**< */
255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                            measurementOffset;		/**< */
256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementFrameHdr;
258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TMeasurementFrameRequest
260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Measurement Frame Request
261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TMeasurementFrameHdr                 *hdr; 			/**< */
269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EMeasurementFrameType                frameType;		/**< */
270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                             *requests;		/**< */
271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_INT32                             requestsLen;	/**< */
272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TMeasurementFrameRequest;
274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* #define TWDDRIVERMSR_H */
277