wifi test

Dependencies:   X_NUCLEO_IKS01A2 mbed-http

Committer:
JMF
Date:
Wed Sep 05 14:28:24 2018 +0000
Revision:
0:24d3eb812fd4
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 0:24d3eb812fd4 1 /**
JMF 0:24d3eb812fd4 2 ******************************************************************************
JMF 0:24d3eb812fd4 3 * @file SPIRIT_Calibration.h
JMF 0:24d3eb812fd4 4 * @author VMA division - AMS
JMF 0:24d3eb812fd4 5 * @version 3.2.2
JMF 0:24d3eb812fd4 6 * @date 08-July-2015
JMF 0:24d3eb812fd4 7 * @brief Configuration and management of SPIRIT VCO-RCO calibration.
JMF 0:24d3eb812fd4 8 *
JMF 0:24d3eb812fd4 9 * @details
JMF 0:24d3eb812fd4 10 *
JMF 0:24d3eb812fd4 11 * This module allows the user to set some parameters which deal
JMF 0:24d3eb812fd4 12 * with the oscillators calibration.
JMF 0:24d3eb812fd4 13 * The state machine of Spirit contemplates some optional calibrating operations
JMF 0:24d3eb812fd4 14 * in the transition between the READY and the LOCK state.
JMF 0:24d3eb812fd4 15 * The user is allowed to enable or disable the automatic RCO/VCO calibration
JMF 0:24d3eb812fd4 16 * by calling the functions <i>@ref SpiritCalibrationVco()</i> and <i>@ref SpiritCalibrationRco()</i>.
JMF 0:24d3eb812fd4 17 * The following example shows how to do an initial calibration of VCO.
JMF 0:24d3eb812fd4 18 *
JMF 0:24d3eb812fd4 19 * <b>Example:</b>
JMF 0:24d3eb812fd4 20 * @code
JMF 0:24d3eb812fd4 21 * uint8_t calData;
JMF 0:24d3eb812fd4 22 *
JMF 0:24d3eb812fd4 23 * SpiritCalibrationVco(S_ENABLE);
JMF 0:24d3eb812fd4 24 * SpiritCmdStrobeLockTx();
JMF 0:24d3eb812fd4 25 *
JMF 0:24d3eb812fd4 26 * while(g_xStatus.MC_STATE != MC_STATE_LOCK){
JMF 0:24d3eb812fd4 27 * SpiritRefreshStatus();
JMF 0:24d3eb812fd4 28 * }
JMF 0:24d3eb812fd4 29 *
JMF 0:24d3eb812fd4 30 * calData = SpiritCalibrationGetVcoCalDataTx();
JMF 0:24d3eb812fd4 31 * SpiritCalibrationSetVcoCalDataTx(calData);
JMF 0:24d3eb812fd4 32 *
JMF 0:24d3eb812fd4 33 * SpiritCmdStrobeReady();
JMF 0:24d3eb812fd4 34 * SpiritCalibrationVco(S_DISABLE);
JMF 0:24d3eb812fd4 35 *
JMF 0:24d3eb812fd4 36 * @endcode
JMF 0:24d3eb812fd4 37 *
JMF 0:24d3eb812fd4 38 * Similar operations can be done for the RCO calibrator.
JMF 0:24d3eb812fd4 39 *
JMF 0:24d3eb812fd4 40 * @attention
JMF 0:24d3eb812fd4 41 *
JMF 0:24d3eb812fd4 42 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
JMF 0:24d3eb812fd4 43 *
JMF 0:24d3eb812fd4 44 * Redistribution and use in source and binary forms, with or without modification,
JMF 0:24d3eb812fd4 45 * are permitted provided that the following conditions are met:
JMF 0:24d3eb812fd4 46 * 1. Redistributions of source code must retain the above copyright notice,
JMF 0:24d3eb812fd4 47 * this list of conditions and the following disclaimer.
JMF 0:24d3eb812fd4 48 * 2. Redistributions in binary form must reproduce the above copyright notice,
JMF 0:24d3eb812fd4 49 * this list of conditions and the following disclaimer in the documentation
JMF 0:24d3eb812fd4 50 * and/or other materials provided with the distribution.
JMF 0:24d3eb812fd4 51 * 3. Neither the name of STMicroelectronics nor the names of its contributors
JMF 0:24d3eb812fd4 52 * may be used to endorse or promote products derived from this software
JMF 0:24d3eb812fd4 53 * without specific prior written permission.
JMF 0:24d3eb812fd4 54 *
JMF 0:24d3eb812fd4 55 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
JMF 0:24d3eb812fd4 56 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
JMF 0:24d3eb812fd4 57 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
JMF 0:24d3eb812fd4 58 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
JMF 0:24d3eb812fd4 59 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
JMF 0:24d3eb812fd4 60 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
JMF 0:24d3eb812fd4 61 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
JMF 0:24d3eb812fd4 62 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
JMF 0:24d3eb812fd4 63 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
JMF 0:24d3eb812fd4 64 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
JMF 0:24d3eb812fd4 65 *
JMF 0:24d3eb812fd4 66 ******************************************************************************
JMF 0:24d3eb812fd4 67 */
JMF 0:24d3eb812fd4 68
JMF 0:24d3eb812fd4 69 /* Define to prevent recursive inclusion -------------------------------------*/
JMF 0:24d3eb812fd4 70 #ifndef __SPIRIT_CALIBRATION_H
JMF 0:24d3eb812fd4 71 #define __SPIRIT_CALIBRATION_H
JMF 0:24d3eb812fd4 72
JMF 0:24d3eb812fd4 73
JMF 0:24d3eb812fd4 74 /* Includes ------------------------------------------------------------------*/
JMF 0:24d3eb812fd4 75
JMF 0:24d3eb812fd4 76 #include "SPIRIT_Regs.h"
JMF 0:24d3eb812fd4 77 #include "SPIRIT_Types.h"
JMF 0:24d3eb812fd4 78
JMF 0:24d3eb812fd4 79
JMF 0:24d3eb812fd4 80 #ifdef __cplusplus
JMF 0:24d3eb812fd4 81 extern "C" {
JMF 0:24d3eb812fd4 82 #endif
JMF 0:24d3eb812fd4 83
JMF 0:24d3eb812fd4 84
JMF 0:24d3eb812fd4 85 /**
JMF 0:24d3eb812fd4 86 * @addtogroup SPIRIT_Libraries
JMF 0:24d3eb812fd4 87 * @{
JMF 0:24d3eb812fd4 88 */
JMF 0:24d3eb812fd4 89
JMF 0:24d3eb812fd4 90
JMF 0:24d3eb812fd4 91 /**
JMF 0:24d3eb812fd4 92 * @defgroup SPIRIT_Calibration Calibration
JMF 0:24d3eb812fd4 93 * @brief Configuration and management of SPIRIT VCO-RCO calibration.
JMF 0:24d3eb812fd4 94 * @details See the file <i>@ref SPIRIT_Calibration.h</i> for more details.
JMF 0:24d3eb812fd4 95 * @{
JMF 0:24d3eb812fd4 96 */
JMF 0:24d3eb812fd4 97
JMF 0:24d3eb812fd4 98 /**
JMF 0:24d3eb812fd4 99 * @defgroup Calibration_Exported_Types Calibration Exported Types
JMF 0:24d3eb812fd4 100 * @{
JMF 0:24d3eb812fd4 101 */
JMF 0:24d3eb812fd4 102
JMF 0:24d3eb812fd4 103
JMF 0:24d3eb812fd4 104 /**
JMF 0:24d3eb812fd4 105 * @brief VCO / RCO calibration window.
JMF 0:24d3eb812fd4 106 */
JMF 0:24d3eb812fd4 107 typedef enum
JMF 0:24d3eb812fd4 108 {
JMF 0:24d3eb812fd4 109
JMF 0:24d3eb812fd4 110 CALIB_TIME_7_33_US_24MHZ = 0x00, /*!< calibration window of 7.33 us with XTAL=24MHz */
JMF 0:24d3eb812fd4 111 CALIB_TIME_14_67_US_24MHZ, /*!< calibration window of 14.67 us with XTAL=24MHz */
JMF 0:24d3eb812fd4 112 CALIB_TIME_29_33_US_24MHZ, /*!< calibration window of 29.33 us with XTAL=24MHz */
JMF 0:24d3eb812fd4 113 CALIB_TIME_58_67_US_24MHZ, /*!< calibration window of 58.67 us with XTAL=24MHz */
JMF 0:24d3eb812fd4 114
JMF 0:24d3eb812fd4 115 CALIB_TIME_6_77_US_26MHZ = 0x00, /*!< calibration window of 6.77 us with XTAL=26MHz */
JMF 0:24d3eb812fd4 116 CALIB_TIME_13_54_US_26MHZ, /*!< calibration window of 13.54 us with XTAL=26MHz */
JMF 0:24d3eb812fd4 117 CALIB_TIME_27_08_US_26MHZ, /*!< calibration window of 27.08 us with XTAL=26MHz */
JMF 0:24d3eb812fd4 118 CALIB_TIME_54_15_US_26MHZ /*!< calibration window of 54.15 us with XTAL=26MHz */
JMF 0:24d3eb812fd4 119
JMF 0:24d3eb812fd4 120 } VcoWin;
JMF 0:24d3eb812fd4 121
JMF 0:24d3eb812fd4 122
JMF 0:24d3eb812fd4 123 #define IS_VCO_WIN(REF) (REF == CALIB_TIME_7_33_US_24MHZ ||\
JMF 0:24d3eb812fd4 124 REF == CALIB_TIME_14_67_US_24MHZ ||\
JMF 0:24d3eb812fd4 125 REF == CALIB_TIME_29_33_US_24MHZ ||\
JMF 0:24d3eb812fd4 126 REF == CALIB_TIME_58_67_US_24MHZ ||\
JMF 0:24d3eb812fd4 127 REF == CALIB_TIME_6_77_US_26MHZ ||\
JMF 0:24d3eb812fd4 128 REF == CALIB_TIME_13_54_US_26MHZ ||\
JMF 0:24d3eb812fd4 129 REF == CALIB_TIME_27_08_US_26MHZ ||\
JMF 0:24d3eb812fd4 130 REF == CALIB_TIME_54_15_US_26MHZ \
JMF 0:24d3eb812fd4 131 )
JMF 0:24d3eb812fd4 132
JMF 0:24d3eb812fd4 133 /**
JMF 0:24d3eb812fd4 134 * @brief VCO_H / VCO_L selection.
JMF 0:24d3eb812fd4 135 */
JMF 0:24d3eb812fd4 136 typedef enum
JMF 0:24d3eb812fd4 137 {
JMF 0:24d3eb812fd4 138
JMF 0:24d3eb812fd4 139 VCO_L = 0x00, /*!< VCO lower */
JMF 0:24d3eb812fd4 140 VCO_H, /*!< VCO higher */
JMF 0:24d3eb812fd4 141 } VcoSel;
JMF 0:24d3eb812fd4 142
JMF 0:24d3eb812fd4 143
JMF 0:24d3eb812fd4 144 #define IS_VCO_SEL(REF) (REF == VCO_L ||\
JMF 0:24d3eb812fd4 145 REF == VCO_H \
JMF 0:24d3eb812fd4 146 )
JMF 0:24d3eb812fd4 147
JMF 0:24d3eb812fd4 148
JMF 0:24d3eb812fd4 149 /**
JMF 0:24d3eb812fd4 150 * @}
JMF 0:24d3eb812fd4 151 */
JMF 0:24d3eb812fd4 152
JMF 0:24d3eb812fd4 153
JMF 0:24d3eb812fd4 154 /**
JMF 0:24d3eb812fd4 155 * @defgroup Calibration_Exported_Constants Calibration Exported Constants
JMF 0:24d3eb812fd4 156 * @{
JMF 0:24d3eb812fd4 157 */
JMF 0:24d3eb812fd4 158
JMF 0:24d3eb812fd4 159 /**
JMF 0:24d3eb812fd4 160 * @}
JMF 0:24d3eb812fd4 161 */
JMF 0:24d3eb812fd4 162
JMF 0:24d3eb812fd4 163
JMF 0:24d3eb812fd4 164
JMF 0:24d3eb812fd4 165 /** @defgroup VCO_Calibration VCO Calibration
JMF 0:24d3eb812fd4 166 * @{
JMF 0:24d3eb812fd4 167 */
JMF 0:24d3eb812fd4 168
JMF 0:24d3eb812fd4 169 /**
JMF 0:24d3eb812fd4 170 * @}
JMF 0:24d3eb812fd4 171 */
JMF 0:24d3eb812fd4 172
JMF 0:24d3eb812fd4 173
JMF 0:24d3eb812fd4 174
JMF 0:24d3eb812fd4 175
JMF 0:24d3eb812fd4 176 /**
JMF 0:24d3eb812fd4 177 * @defgroup Calibration_Exported_Macros Calibration Exported Macros
JMF 0:24d3eb812fd4 178 * @{
JMF 0:24d3eb812fd4 179 */
JMF 0:24d3eb812fd4 180
JMF 0:24d3eb812fd4 181
JMF 0:24d3eb812fd4 182 /**
JMF 0:24d3eb812fd4 183 * @}
JMF 0:24d3eb812fd4 184 */
JMF 0:24d3eb812fd4 185
JMF 0:24d3eb812fd4 186
JMF 0:24d3eb812fd4 187 /**
JMF 0:24d3eb812fd4 188 * @defgroup Calibration_Exported_Functions Calibration Exported Functions
JMF 0:24d3eb812fd4 189 * @{
JMF 0:24d3eb812fd4 190 */
JMF 0:24d3eb812fd4 191
JMF 0:24d3eb812fd4 192 void SpiritCalibrationRco(SpiritFunctionalState xNewState);
JMF 0:24d3eb812fd4 193 void SpiritCalibrationVco(SpiritFunctionalState xNewState);
JMF 0:24d3eb812fd4 194 void SpiritCalibrationSetRcoCalWords(uint8_t cRwt, uint8_t cRfb);
JMF 0:24d3eb812fd4 195 void SpiritCalibrationGetRcoCalWords(uint8_t* pcRwt, uint8_t* pcRfb);
JMF 0:24d3eb812fd4 196 uint8_t SpiritCalibrationGetVcoCalData(void);
JMF 0:24d3eb812fd4 197 void SpiritCalibrationSetVcoCalDataTx(uint8_t cVcoCalData);
JMF 0:24d3eb812fd4 198 uint8_t SpiritCalibrationGetVcoCalDataTx(void);
JMF 0:24d3eb812fd4 199 void SpiritCalibrationSetVcoCalDataRx(uint8_t cVcoCalData);
JMF 0:24d3eb812fd4 200 uint8_t SpiritCalibrationGetVcoCalDataRx(void);
JMF 0:24d3eb812fd4 201 void SpiritCalibrationSetVcoWindow(VcoWin xRefWord);
JMF 0:24d3eb812fd4 202 VcoWin SpiritCalibrationGetVcoWindow(void);
JMF 0:24d3eb812fd4 203 VcoSel SpiritCalibrationGetVcoSelecttion(void);
JMF 0:24d3eb812fd4 204 void SpiritCalibrationSelectVco(VcoSel xVco);
JMF 0:24d3eb812fd4 205
JMF 0:24d3eb812fd4 206 /**
JMF 0:24d3eb812fd4 207 * @}
JMF 0:24d3eb812fd4 208 */
JMF 0:24d3eb812fd4 209
JMF 0:24d3eb812fd4 210
JMF 0:24d3eb812fd4 211 /**
JMF 0:24d3eb812fd4 212 * @}
JMF 0:24d3eb812fd4 213 */
JMF 0:24d3eb812fd4 214
JMF 0:24d3eb812fd4 215
JMF 0:24d3eb812fd4 216 /**
JMF 0:24d3eb812fd4 217 * @}
JMF 0:24d3eb812fd4 218 */
JMF 0:24d3eb812fd4 219
JMF 0:24d3eb812fd4 220 #ifdef __cplusplus
JMF 0:24d3eb812fd4 221 }
JMF 0:24d3eb812fd4 222 #endif
JMF 0:24d3eb812fd4 223
JMF 0:24d3eb812fd4 224 #endif
JMF 0:24d3eb812fd4 225
JMF 0:24d3eb812fd4 226 /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/