A library implementing IEEE 802.15.4 PHY functionality for the MCR20A transceiver. The PHY sublayer provides two services: the PHY data service and the PHY management service interfacing to the PHY sublayer management entity (PLME) service access point (SAP) (known as PLME-SAP). The PHY data service enables the transmission and reception of PHY protocol data units (PSDUs) over the media (radio).

Fork of fsl_phy_mcr20a by Freescale

The Freescale PHY Layer deals with the physical burst which is to be sent and/or received. It performs modulation and demodulation, transmitter and receiver switching, fragmentation, scrambling, interleaving, and error correction coding. The communication to the upper protocol layers is carried out through the Layer 1 Interface.

The PHY Layer is capable of executing the following sequences:

  • I (Idle)
  • R (Receive Sequence conditionally followed by a TxAck)
  • T (Transmit Sequence)
  • C (Standalone CCA)
  • CCCA (Continuous CCA)
  • TR (Transmit/Receive Sequence - transmit unconditionally followed by either an R or RxAck)

In addition to these sequences the PHY Layer also integrates a packet processor which determines whether the packet is MAC-compliant, and if it is, whether it is addressed to the end device. Another feature of the packet processor is Source Address Matching which can be viewed as an extension of packet filtering; however its function is very specific to its intended application (data-polling and indirect queue management by a PAN Coordinator).

Documentation

MCR20A PHY Reference Manual

Committer:
andreikovacs
Date:
Tue Aug 18 12:41:42 2015 +0000
Revision:
0:764779eedf2d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andreikovacs 0:764779eedf2d 1 /*!
andreikovacs 0:764779eedf2d 2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
andreikovacs 0:764779eedf2d 3 * All rights reserved.
andreikovacs 0:764779eedf2d 4 *
andreikovacs 0:764779eedf2d 5 * \file MCR20Overwrites.h
andreikovacs 0:764779eedf2d 6 * Description: Overwrites header file for MCR20 Register values
andreikovacs 0:764779eedf2d 7 *
andreikovacs 0:764779eedf2d 8 * Redistribution and use in source and binary forms, with or without modification,
andreikovacs 0:764779eedf2d 9 * are permitted provided that the following conditions are met:
andreikovacs 0:764779eedf2d 10 *
andreikovacs 0:764779eedf2d 11 * o Redistributions of source code must retain the above copyright notice, this list
andreikovacs 0:764779eedf2d 12 * of conditions and the following disclaimer.
andreikovacs 0:764779eedf2d 13 *
andreikovacs 0:764779eedf2d 14 * o Redistributions in binary form must reproduce the above copyright notice, this
andreikovacs 0:764779eedf2d 15 * list of conditions and the following disclaimer in the documentation and/or
andreikovacs 0:764779eedf2d 16 * other materials provided with the distribution.
andreikovacs 0:764779eedf2d 17 *
andreikovacs 0:764779eedf2d 18 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
andreikovacs 0:764779eedf2d 19 * contributors may be used to endorse or promote products derived from this
andreikovacs 0:764779eedf2d 20 * software without specific prior written permission.
andreikovacs 0:764779eedf2d 21 *
andreikovacs 0:764779eedf2d 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
andreikovacs 0:764779eedf2d 23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
andreikovacs 0:764779eedf2d 24 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
andreikovacs 0:764779eedf2d 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
andreikovacs 0:764779eedf2d 26 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
andreikovacs 0:764779eedf2d 27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
andreikovacs 0:764779eedf2d 28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
andreikovacs 0:764779eedf2d 29 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
andreikovacs 0:764779eedf2d 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
andreikovacs 0:764779eedf2d 31 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
andreikovacs 0:764779eedf2d 32 */
andreikovacs 0:764779eedf2d 33
andreikovacs 0:764779eedf2d 34 #ifndef OVERWRITES_H_
andreikovacs 0:764779eedf2d 35 #define OVERWRITES_H_
andreikovacs 0:764779eedf2d 36
andreikovacs 0:764779eedf2d 37 typedef struct overwrites_tag {
andreikovacs 0:764779eedf2d 38 char address;
andreikovacs 0:764779eedf2d 39 char data;
andreikovacs 0:764779eedf2d 40 }overwrites_t;
andreikovacs 0:764779eedf2d 41
andreikovacs 0:764779eedf2d 42
andreikovacs 0:764779eedf2d 43 /*****************************************************************************************************************/
andreikovacs 0:764779eedf2d 44 // This file is created exclusively for use with the transceiver 2.0 silicon
andreikovacs 0:764779eedf2d 45 // and is provided for the world to use. It contains a list of all
andreikovacs 0:764779eedf2d 46 // known overwrite values. Overwrite values are non-default register
andreikovacs 0:764779eedf2d 47 // values that configure the transceiver device to a more optimally performing
andreikovacs 0:764779eedf2d 48 // posture. It is expected that low level software (i.e. PHY) will
andreikovacs 0:764779eedf2d 49 // consume this file as a #include, and transfer the contents to the
andreikovacs 0:764779eedf2d 50 // the indicated addresses in the transceiver's memory space. This file has
andreikovacs 0:764779eedf2d 51 // at least one required entry, that being its own version current version
andreikovacs 0:764779eedf2d 52 // number, to be stored at transceiver's location 0x3B the
andreikovacs 0:764779eedf2d 53 // OVERWRITES_VERSION_NUMBER register. The RAM register is provided in
andreikovacs 0:764779eedf2d 54 // the transceiver address space to assist in future debug efforts. The
andreikovacs 0:764779eedf2d 55 // analyst may read this location (once device has been booted with
andreikovacs 0:764779eedf2d 56 // mysterious software) and have a good indication of what register
andreikovacs 0:764779eedf2d 57 // overwrites were performed (with all versions of the overwrites.h file
andreikovacs 0:764779eedf2d 58 // being archived forever at the Compass location shown above.
andreikovacs 0:764779eedf2d 59 //
andreikovacs 0:764779eedf2d 60 // The transceiver has an indirect register (IAR) space. Write access to this space
andreikovacs 0:764779eedf2d 61 // requires 3 or more writes:
andreikovacs 0:764779eedf2d 62 // 1st) the first write is an index value to the indirect (write Bit7=0, register access Bit 6=0) + 0x3E
andreikovacs 0:764779eedf2d 63 // 2nd) IAR Register #0x00 - 0xFF.
andreikovacs 0:764779eedf2d 64 // 3rd) The data to write
andreikovacs 0:764779eedf2d 65 // nth) Burst mode additional data if required.
andreikovacs 0:764779eedf2d 66 //
andreikovacs 0:764779eedf2d 67 // Write access to direct space requires only a single address, data pair.
andreikovacs 0:764779eedf2d 68
andreikovacs 0:764779eedf2d 69 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 70 {0x3B, 0x0C}, //version 0C: new value for ACKDELAY targeting 198us (23 May, 2013, Larry Roshak)
andreikovacs 0:764779eedf2d 71 {0x23, 0x17} //PA_PWR new default Power Step is "23"
andreikovacs 0:764779eedf2d 72 };
andreikovacs 0:764779eedf2d 73
andreikovacs 0:764779eedf2d 74 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 75 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 76 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 77 {0x92, 0x07}, //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 78 {0x8A, 0x71}, //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 79 {0x79, 0x2F}, //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 80 {0x7A, 0x2F}, //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 81 {0x7B, 0x24}, //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 82 {0x7C, 0x24}, //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 83 {0x7D, 0x24}, //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 84 {0x7E, 0x24}, //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 85 {0x7F, 0x32}, //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 86 {0x80, 0x1D}, //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 87 {0x81, 0x2D}, //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 88 {0x82, 0x24}, //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 89 {0x83, 0x24}, //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 90 {0x64, 0x28}, //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 91 {0x52, 0x55}, //AGC_THR1 RSSI tune up
andreikovacs 0:764779eedf2d 92 {0x53, 0x2D}, //AGC_THR2 RSSI tune up
andreikovacs 0:764779eedf2d 93 {0x66, 0x5F}, //ATT_RSSI1 tune up
andreikovacs 0:764779eedf2d 94 {0x67, 0x8F}, //ATT_RSSI2 tune up
andreikovacs 0:764779eedf2d 95 {0x68, 0x61}, //RSSI_OFFSET
andreikovacs 0:764779eedf2d 96 {0x78, 0x03}, //CHF_PMAGAIN
andreikovacs 0:764779eedf2d 97 {0x22, 0x50}, //CCA1_THRESH
andreikovacs 0:764779eedf2d 98 {0x4D, 0x13}, //CORR_NVAL moved from 0x14 to 0x13 for 0.5 dB improved Rx Sensitivity
andreikovacs 0:764779eedf2d 99 {0x39, 0x3D} //ACKDELAY new value targeting a delay of 198us (23 May, 2013, Larry Roshak)
andreikovacs 0:764779eedf2d 100 };
andreikovacs 0:764779eedf2d 101
andreikovacs 0:764779eedf2d 102
andreikovacs 0:764779eedf2d 103 /* begin of deprecated versions
andreikovacs 0:764779eedf2d 104
andreikovacs 0:764779eedf2d 105 ==VERSION 1==
andreikovacs 0:764779eedf2d 106 (version 1 is empty)
andreikovacs 0:764779eedf2d 107
andreikovacs 0:764779eedf2d 108 ==VERSION 2==
andreikovacs 0:764779eedf2d 109 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 110 {0x31, 0x02} //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 111 };
andreikovacs 0:764779eedf2d 112
andreikovacs 0:764779eedf2d 113 ==VERSION 3==
andreikovacs 0:764779eedf2d 114 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 115 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 116 {0x91, 0xB3}, //VCO_CTRL1: override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 117 {0x92, 0x07} //VCO_CTRL2: override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 118 };
andreikovacs 0:764779eedf2d 119
andreikovacs 0:764779eedf2d 120 ==VERSION 4==
andreikovacs 0:764779eedf2d 121 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 122 {0x3B, 0x04} //version 04 is the current version: update PA_COILTUNING default
andreikovacs 0:764779eedf2d 123 };
andreikovacs 0:764779eedf2d 124
andreikovacs 0:764779eedf2d 125 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 126 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 127 {0x91, 0xB3}, //VCO_CTRL1: override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 128 {0x92, 0x07} //VCO_CTRL2: override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 129 {0x8A, 0x71} //PA_TUNING: override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 130 };
andreikovacs 0:764779eedf2d 131
andreikovacs 0:764779eedf2d 132 ==VERSION 5==
andreikovacs 0:764779eedf2d 133 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 134 {0x3B, 0x05} //version 05: updates Channel Filter Register set (21 Dec 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 135 };
andreikovacs 0:764779eedf2d 136
andreikovacs 0:764779eedf2d 137 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 138 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 139 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 140 {0x92, 0x07} //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 141 {0x8A, 0x71} //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 142 {0x79, 0x2F} //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 143 {0x7A, 0x2F} //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 144 {0x7B, 0x24} //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 145 {0x7C, 0x24} //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 146 {0x7D, 0x24} //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 147 {0x7E, 0x24} //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 148 {0x82, 0x24} //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 149 {0x83, 0x24} //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 150 {0x7F, 0x32} //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 151 {0x80, 0x1D} //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 152 {0x81, 0x2D} //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 153 };
andreikovacs 0:764779eedf2d 154
andreikovacs 0:764779eedf2d 155 ==VERSION 6==
andreikovacs 0:764779eedf2d 156 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 157 {0x3B, 0x06} //version 06: disable PA calibration
andreikovacs 0:764779eedf2d 158 };
andreikovacs 0:764779eedf2d 159
andreikovacs 0:764779eedf2d 160 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 161 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 162 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 163 {0x92, 0x07} //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 164 {0x8A, 0x71} //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 165 {0x79, 0x2F} //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 166 {0x7A, 0x2F} //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 167 {0x7B, 0x24} //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 168 {0x7C, 0x24} //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 169 {0x7D, 0x24} //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 170 {0x7E, 0x24} //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 171 {0x82, 0x24} //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 172 {0x83, 0x24} //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 173 {0x7F, 0x32} //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 174 {0x80, 0x1D} //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 175 {0x81, 0x2D} //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 176 {0x64, 0x28} //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 177 };
andreikovacs 0:764779eedf2d 178
andreikovacs 0:764779eedf2d 179 ==VERSION 7==
andreikovacs 0:764779eedf2d 180 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 181 {0x3B, 0x07} //version 07: updated registers for ED/RSSI
andreikovacs 0:764779eedf2d 182 };
andreikovacs 0:764779eedf2d 183
andreikovacs 0:764779eedf2d 184 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 185 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 186 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 187 {0x92, 0x07}, //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 188 {0x8A, 0x71}, //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 189 {0x79, 0x2F}, //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 190 {0x7A, 0x2F}, //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 191 {0x7B, 0x24}, //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 192 {0x7C, 0x24}, //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 193 {0x7D, 0x24}, //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 194 {0x7E, 0x24}, //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 195 {0x82, 0x24}, //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 196 {0x83, 0x24}, //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 197 {0x7F, 0x32}, //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 198 {0x80, 0x1D}, //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 199 {0x81, 0x2D}, //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 200 {0x64, 0x28}, //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 201 {0x52, 0x73}, //AGC_THR1 RSSI tune up
andreikovacs 0:764779eedf2d 202 {0x53, 0x2D}, //AGC_THR2 RSSI tune up
andreikovacs 0:764779eedf2d 203 {0x66, 0x5F}, //ATT_RSSI1 tune up
andreikovacs 0:764779eedf2d 204 {0x67, 0x8F}, //ATT_RSSI2 tune up
andreikovacs 0:764779eedf2d 205 {0x68, 0x60}, //RSSI_OFFSET
andreikovacs 0:764779eedf2d 206 {0x69, 0x65} //RSSI_SLOPE
andreikovacs 0:764779eedf2d 207 };
andreikovacs 0:764779eedf2d 208
andreikovacs 0:764779eedf2d 209
andreikovacs 0:764779eedf2d 210 ==VERSION 8==
andreikovacs 0:764779eedf2d 211 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 212 {0x3B, 0x08} //version 08: updated registers for ED/RSSI
andreikovacs 0:764779eedf2d 213 };
andreikovacs 0:764779eedf2d 214
andreikovacs 0:764779eedf2d 215 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 216 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 217 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 218 {0x92, 0x07}, //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 219 {0x8A, 0x71}, //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 220 {0x79, 0x2F}, //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 221 {0x7A, 0x2F}, //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 222 {0x7B, 0x24}, //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 223 {0x7C, 0x24}, //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 224 {0x7D, 0x24}, //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 225 {0x7E, 0x24}, //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 226 {0x82, 0x24}, //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 227 {0x83, 0x24}, //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 228 {0x7F, 0x32}, //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 229 {0x80, 0x1D}, //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 230 {0x81, 0x2D}, //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 231 {0x64, 0x28}, //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 232 {0x52, 0x73}, //AGC_THR1 RSSI tune up
andreikovacs 0:764779eedf2d 233 {0x53, 0x2D}, //AGC_THR2 RSSI tune up
andreikovacs 0:764779eedf2d 234 {0x66, 0x5F}, //ATT_RSSI1 tune up
andreikovacs 0:764779eedf2d 235 {0x67, 0x8F}, //ATT_RSSI2 tune up
andreikovacs 0:764779eedf2d 236 {0x69, 0x65} //RSSI_SLOPE
andreikovacs 0:764779eedf2d 237 {0x68, 0x61}, //RSSI_OFFSET
andreikovacs 0:764779eedf2d 238 {0x78, 0x03} //CHF_PMAGAIN
andreikovacs 0:764779eedf2d 239 };
andreikovacs 0:764779eedf2d 240
andreikovacs 0:764779eedf2d 241
andreikovacs 0:764779eedf2d 242 ==VERSION 9==
andreikovacs 0:764779eedf2d 243 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 244 {0x3B, 0x09} //version 09: updated registers for ED/RSSI and PowerStep
andreikovacs 0:764779eedf2d 245 {0x23, 0x17} //PA_PWR new default value
andreikovacs 0:764779eedf2d 246 };
andreikovacs 0:764779eedf2d 247
andreikovacs 0:764779eedf2d 248 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 249 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 250 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 251 {0x92, 0x07}, //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 252 {0x8A, 0x71}, //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 253 {0x79, 0x2F}, //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 254 {0x7A, 0x2F}, //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 255 {0x7B, 0x24}, //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 256 {0x7C, 0x24}, //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 257 {0x7D, 0x24}, //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 258 {0x7E, 0x24}, //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 259 {0x7F, 0x32}, //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 260 {0x80, 0x1D}, //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 261 {0x81, 0x2D}, //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 262 {0x82, 0x24}, //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 263 {0x83, 0x24}, //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 264 {0x64, 0x28}, //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 265 {0x52, 0x55}, //AGC_THR1 RSSI tune up
andreikovacs 0:764779eedf2d 266 {0x53, 0x2D}, //AGC_THR2 RSSI tune up
andreikovacs 0:764779eedf2d 267 {0x66, 0x5F}, //ATT_RSSI1 tune up
andreikovacs 0:764779eedf2d 268 {0x67, 0x8F}, //ATT_RSSI2 tune up
andreikovacs 0:764779eedf2d 269 {0x68, 0x61}, //RSSI_OFFSET
andreikovacs 0:764779eedf2d 270 {0x78, 0x03} //CHF_PMAGAIN
andreikovacs 0:764779eedf2d 271 };
andreikovacs 0:764779eedf2d 272
andreikovacs 0:764779eedf2d 273 ==VERSION A==
andreikovacs 0:764779eedf2d 274 overwrites_t const overwrites_direct[] ={
andreikovacs 0:764779eedf2d 275 {0x3B, 0x0A} //version 0A: updated registers for CCA
andreikovacs 0:764779eedf2d 276 {0x23, 0x17} //PA_PWR new default Power Step is "23"
andreikovacs 0:764779eedf2d 277 };
andreikovacs 0:764779eedf2d 278
andreikovacs 0:764779eedf2d 279 overwrites_t const overwrites_indirect[] ={
andreikovacs 0:764779eedf2d 280 {0x31, 0x02}, //clear MISO_HIZ_EN (for single SPI master/slave pair) and SPI_PUL_EN (minimize HIB currents)
andreikovacs 0:764779eedf2d 281 {0x91, 0xB3}, //VCO_CTRL1 override VCOALC_REF_TX to 3
andreikovacs 0:764779eedf2d 282 {0x92, 0x07}, //VCO_CTRL2 override VCOALC_REF_RX to 3, keep VCO_BUF_BOOST = 1
andreikovacs 0:764779eedf2d 283 {0x8A, 0x71}, //PA_TUNING override PA_COILTUNING to 001 (27 Nov 2012, D. Brown, on behalf of S. Eid)
andreikovacs 0:764779eedf2d 284 {0x79, 0x2F}, //CHF_IBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 285 {0x7A, 0x2F}, //CHF_QBUF Adjust the gm-C filter gain (+/- 6dB) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 286 {0x7B, 0x24}, //CHF_IRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 287 {0x7C, 0x24}, //CHF_QRIN Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 288 {0x7D, 0x24}, //CHF_IL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 289 {0x7E, 0x24}, //CHF_QL Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 290 {0x7F, 0x32}, //CHF_CC1 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 291 {0x80, 0x1D}, //CHF_CCL Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 292 {0x81, 0x2D}, //CHF_CC2 Adjust the filter center frequency (+/- 1MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 293 {0x82, 0x24}, //CHF_IROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 294 {0x83, 0x24}, //CHF_QROUT Adjust the filter bandwidth (+/- 0.5MHz) (21 Dec, 2012, on behalf of S. Soca)
andreikovacs 0:764779eedf2d 295 {0x64, 0x28}, //PA_CAL_DIS=1 Disabled PA calibration
andreikovacs 0:764779eedf2d 296 {0x52, 0x55}, //AGC_THR1 RSSI tune up
andreikovacs 0:764779eedf2d 297 {0x53, 0x2D}, //AGC_THR2 RSSI tune up
andreikovacs 0:764779eedf2d 298 {0x66, 0x5F}, //ATT_RSSI1 tune up
andreikovacs 0:764779eedf2d 299 {0x67, 0x8F}, //ATT_RSSI2 tune up
andreikovacs 0:764779eedf2d 300 {0x68, 0x61}, //RSSI_OFFSET
andreikovacs 0:764779eedf2d 301 {0x78, 0x03} //CHF_PMAGAIN
andreikovacs 0:764779eedf2d 302 {0x22, 0x50} //CCA1_THRESH
andreikovacs 0:764779eedf2d 303 };
andreikovacs 0:764779eedf2d 304
andreikovacs 0:764779eedf2d 305 end of deprecated versions */
andreikovacs 0:764779eedf2d 306
andreikovacs 0:764779eedf2d 307
andreikovacs 0:764779eedf2d 308 #endif //OVERWRITES_H_
andreikovacs 0:764779eedf2d 309