mbed official / mbed

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Committer:
<>
Date:
Thu Mar 30 13:26:47 2017 +0100
Revision:
139:856d2700e60b
Parent:
132:9baf128c2fab
Release 139 of the mbed library

Ports for Upcoming Targets

3934: [Silicon Labs] Update to HAL and devices https://github.com/ARMmbed/mbed-os/pull/3934

Known Issues

There is an issue with LPC1768 failing the 'Semihost file system' test with this release.

Fixes and Changes

3691: [TLS / hw acceleration] AES ECB for NUCLEO_F439ZI https://github.com/ARMmbed/mbed-os/pull/3691
3869: NCS36510: Default range changed from 0 to 950mV - ADC https://github.com/ARMmbed/mbed-os/pull/3869
3893: [STM32F7] Update STM32 Cube version v1.6.0 https://github.com/ARMmbed/mbed-os/pull/3893
3917: Fix mistake register setting in serial_format() https://github.com/ARMmbed/mbed-os/pull/3917
3927: [DELTA_DFBM_NQ620] Add RC calibration setting and revise mbed_overrides.c https://github.com/ARMmbed/mbed-os/pull/3927
3918: [NUC472/M453] Support unique locally administered MAC address and other driver updates https://github.com/ARMmbed/mbed-os/pull/3918
3920: Heap size adjusted to work for both tls-client and mbed-client https://github.com/ARMmbed/mbed-os/pull/3920
3969: NUCLEO_F302R8: Add missing PB_8/PB_9 CAN pins https://github.com/ARMmbed/mbed-os/pull/3969

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 132:9baf128c2fab 1 /***************************************************************************//**
<> 132:9baf128c2fab 2 * @file rail_chip_specific.h
<> 132:9baf128c2fab 3 * @brief This file contains the type definitions for EFR32 chip specific
<> 132:9baf128c2fab 4 * aspects of RAIL.
<> 132:9baf128c2fab 5 * @copyright Copyright 2015 Silicon Laboratories, Inc. http://www.silabs.com
<> 132:9baf128c2fab 6 ******************************************************************************/
<> 132:9baf128c2fab 7
<> 132:9baf128c2fab 8 #ifndef __RAIL_CHIP_SPECIFIC_H_
<> 132:9baf128c2fab 9 #define __RAIL_CHIP_SPECIFIC_H_
<> 132:9baf128c2fab 10
<> 132:9baf128c2fab 11 // Include standard type headers to help define structures
<> 132:9baf128c2fab 12 #include <stdint.h>
<> 132:9baf128c2fab 13 #include <stdbool.h>
<> 132:9baf128c2fab 14 #include <stddef.h>
<> 132:9baf128c2fab 15
<> 132:9baf128c2fab 16 // -----------------------------------------------------------------------------
<> 132:9baf128c2fab 17 // Calibration
<> 132:9baf128c2fab 18 // -----------------------------------------------------------------------------
<> 132:9baf128c2fab 19 /**
<> 132:9baf128c2fab 20 * @addtogroup Calibration
<> 132:9baf128c2fab 21 * @{
<> 132:9baf128c2fab 22 */
<> 132:9baf128c2fab 23
<> 132:9baf128c2fab 24 /**
<> 132:9baf128c2fab 25 * @addtogroup EFR32
<> 132:9baf128c2fab 26 * @{
<> 132:9baf128c2fab 27 * @brief EFR32 Specific Calibrations
<> 132:9baf128c2fab 28 *
<> 132:9baf128c2fab 29 * The EFR32 has two supported calibrations. There is the Image Rejection (IR)
<> 132:9baf128c2fab 30 * calibration and a temperature dependent calibration. The IR calibration is
<> 132:9baf128c2fab 31 * something that can be computed once and stored off or computed each time at
<> 132:9baf128c2fab 32 * startup. It is PHY specific and provides sensitivity improvements so we
<> 132:9baf128c2fab 33 * highly recommend using it. The IR calibration should only be run when the
<> 139:856d2700e60b 34 * radio is IDLE.
<> 139:856d2700e60b 35 *
<> 139:856d2700e60b 36 * The temperature dependent calibrations are used to recalibrate the synth if
<> 139:856d2700e60b 37 * the temperature crosses 0C or the temperature delta since the last
<> 139:856d2700e60b 38 * calibration exceeds 70C while sitting in receive. RAIL will run VCO
<> 139:856d2700e60b 39 * calibration automatically upon entering receive state so the application can
<> 139:856d2700e60b 40 * omit this calibration if the stack will re-enter receive with enough
<> 139:856d2700e60b 41 * frequency to not hit this temperature delta. If the application does not
<> 139:856d2700e60b 42 * calibrate for temperature, it's possible to miss receive packets due to
<> 139:856d2700e60b 43 * drift in the carrier frequency.
<> 132:9baf128c2fab 44 */
<> 132:9baf128c2fab 45
<> 132:9baf128c2fab 46 /**
<> 132:9baf128c2fab 47 * @struct RAIL_CalValues_t
<> 132:9baf128c2fab 48 * @brief Calibration value structure
<> 132:9baf128c2fab 49 *
<> 132:9baf128c2fab 50 * This structure contains the set of persistent calibration values for the
<> 132:9baf128c2fab 51 * EFR32. You can set these before hand and apply them at startup to save the
<> 132:9baf128c2fab 52 * time required to compute them. Any of these values may be set to
<> 132:9baf128c2fab 53 * RAIL_CAL_INVALID_VALUE to force the code to compute that calibration value.
<> 132:9baf128c2fab 54 */
<> 132:9baf128c2fab 55 typedef struct RAIL_CalValues {
<> 132:9baf128c2fab 56 uint32_t imageRejection; /**< Image Rejection (IR) calibration value */
<> 132:9baf128c2fab 57 } RAIL_CalValues_t;
<> 132:9baf128c2fab 58
<> 132:9baf128c2fab 59 /** Invalid calibration value */
<> 132:9baf128c2fab 60 #define RAIL_CAL_INVALID_VALUE (0xFFFFFFFF)
<> 132:9baf128c2fab 61
<> 132:9baf128c2fab 62 /**
<> 132:9baf128c2fab 63 * A define to set all RAIL_CalValues_t values to uninitialized.
<> 132:9baf128c2fab 64 *
<> 132:9baf128c2fab 65 * This define can be used when you have no data to pass to the calibration
<> 132:9baf128c2fab 66 * routines but wish to compute and save all possible calibrations.
<> 132:9baf128c2fab 67 */
<> 132:9baf128c2fab 68 #define RAIL_CALVALUES_UNINIT { \
<> 132:9baf128c2fab 69 RAIL_CAL_INVALID_VALUE, \
<> 132:9baf128c2fab 70 }
<> 132:9baf128c2fab 71
<> 132:9baf128c2fab 72 /** EFR32 specific temperature calibration bit */
<> 132:9baf128c2fab 73 #define RAIL_CAL_TEMP_VCO (0x00000001)
<> 132:9baf128c2fab 74 /** EFR32 specific IR calibration bit */
<> 132:9baf128c2fab 75 #define RAIL_CAL_ONETIME_IRCAL (0x00010000)
<> 132:9baf128c2fab 76
<> 132:9baf128c2fab 77 /** Mask to run temperature dependent calibrations */
<> 132:9baf128c2fab 78 #define RAIL_CAL_TEMP (RAIL_CAL_TEMP_VCO)
<> 132:9baf128c2fab 79 /** Mask to run one time calibrations */
<> 132:9baf128c2fab 80 #define RAIL_CAL_ONETIME (RAIL_CAL_ONETIME_IRCAL)
<> 132:9baf128c2fab 81 /** Mask to run optional performance calibrations */
<> 132:9baf128c2fab 82 #define RAIL_CAL_PERF ()
<> 132:9baf128c2fab 83 /** Mask for calibrations that require the radio to be off */
<> 132:9baf128c2fab 84 #define RAIL_CAL_OFFLINE (RAIL_CAL_ONETIME_IRCAL)
<> 132:9baf128c2fab 85 /** Mask to run all possible calibrations for this chip */
<> 132:9baf128c2fab 86 #define RAIL_CAL_ALL (RAIL_CAL_TEMP | RAIL_CAL_ONETIME)
<> 132:9baf128c2fab 87 /** Mask to run all pending calibrations */
<> 132:9baf128c2fab 88 #define RAIL_CAL_ALL_PENDING (0x00000000)
<> 132:9baf128c2fab 89
<> 132:9baf128c2fab 90 /**
<> 132:9baf128c2fab 91 * @}
<> 132:9baf128c2fab 92 * @}
<> 132:9baf128c2fab 93 */
<> 132:9baf128c2fab 94
<> 132:9baf128c2fab 95 #endif