Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
decadriver/deca_params_init.c@0:a3b83d366423, 2017-12-06 (annotated)
- Committer:
- aungriah
- Date:
- Wed Dec 06 21:35:45 2017 +0000
- Revision:
- 0:a3b83d366423
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aungriah | 0:a3b83d366423 | 1 | /*! ---------------------------------------------------------------------------- |
aungriah | 0:a3b83d366423 | 2 | * @file deca_params_init.c |
aungriah | 0:a3b83d366423 | 3 | * @brief DW1000 configuration parameters |
aungriah | 0:a3b83d366423 | 4 | * |
aungriah | 0:a3b83d366423 | 5 | * @attention |
aungriah | 0:a3b83d366423 | 6 | * |
aungriah | 0:a3b83d366423 | 7 | * Copyright 2013 (c) Decawave Ltd, Dublin, Ireland. |
aungriah | 0:a3b83d366423 | 8 | * |
aungriah | 0:a3b83d366423 | 9 | * All rights reserved. |
aungriah | 0:a3b83d366423 | 10 | * |
aungriah | 0:a3b83d366423 | 11 | * |
aungriah | 0:a3b83d366423 | 12 | * ------------------------------------------------------------------------------------------------------------------- |
aungriah | 0:a3b83d366423 | 13 | **/ |
aungriah | 0:a3b83d366423 | 14 | #include <stdio.h> |
aungriah | 0:a3b83d366423 | 15 | #include <stdlib.h> |
aungriah | 0:a3b83d366423 | 16 | |
aungriah | 0:a3b83d366423 | 17 | #include "deca_regs.h" |
aungriah | 0:a3b83d366423 | 18 | #include "deca_device_api.h" |
aungriah | 0:a3b83d366423 | 19 | #include "deca_param_types.h" |
aungriah | 0:a3b83d366423 | 20 | |
aungriah | 0:a3b83d366423 | 21 | |
aungriah | 0:a3b83d366423 | 22 | //----------------------------------------- |
aungriah | 0:a3b83d366423 | 23 | // map the channel number to the index in the configuration arrays below |
aungriah | 0:a3b83d366423 | 24 | // 0th element is chan 1, 1st is chan 2, 2nd is chan 3, 3rd is chan 4, 4th is chan 5, 5th is chan 7 |
aungriah | 0:a3b83d366423 | 25 | const uint8 chan_idx[NUM_CH_SUPPORTED] = {0, 0, 1, 2, 3, 4, 0, 5}; |
aungriah | 0:a3b83d366423 | 26 | |
aungriah | 0:a3b83d366423 | 27 | //----------------------------------------- |
aungriah | 0:a3b83d366423 | 28 | const uint32 tx_config[NUM_CH] = |
aungriah | 0:a3b83d366423 | 29 | { |
aungriah | 0:a3b83d366423 | 30 | RF_TXCTRL_CH1, |
aungriah | 0:a3b83d366423 | 31 | RF_TXCTRL_CH2, |
aungriah | 0:a3b83d366423 | 32 | RF_TXCTRL_CH3, |
aungriah | 0:a3b83d366423 | 33 | RF_TXCTRL_CH4, |
aungriah | 0:a3b83d366423 | 34 | RF_TXCTRL_CH5, |
aungriah | 0:a3b83d366423 | 35 | RF_TXCTRL_CH7, |
aungriah | 0:a3b83d366423 | 36 | }; |
aungriah | 0:a3b83d366423 | 37 | |
aungriah | 0:a3b83d366423 | 38 | //Frequency Synthesiser - PLL configuration |
aungriah | 0:a3b83d366423 | 39 | const uint32 fs_pll_cfg[NUM_CH] = |
aungriah | 0:a3b83d366423 | 40 | { |
aungriah | 0:a3b83d366423 | 41 | FS_PLLCFG_CH1, |
aungriah | 0:a3b83d366423 | 42 | FS_PLLCFG_CH2, |
aungriah | 0:a3b83d366423 | 43 | FS_PLLCFG_CH3, |
aungriah | 0:a3b83d366423 | 44 | FS_PLLCFG_CH4, |
aungriah | 0:a3b83d366423 | 45 | FS_PLLCFG_CH5, |
aungriah | 0:a3b83d366423 | 46 | FS_PLLCFG_CH7 |
aungriah | 0:a3b83d366423 | 47 | }; |
aungriah | 0:a3b83d366423 | 48 | |
aungriah | 0:a3b83d366423 | 49 | //Frequency Synthesiser - PLL tuning |
aungriah | 0:a3b83d366423 | 50 | const uint8 fs_pll_tune[NUM_CH] = |
aungriah | 0:a3b83d366423 | 51 | { |
aungriah | 0:a3b83d366423 | 52 | FS_PLLTUNE_CH1, |
aungriah | 0:a3b83d366423 | 53 | FS_PLLTUNE_CH2, |
aungriah | 0:a3b83d366423 | 54 | FS_PLLTUNE_CH3, |
aungriah | 0:a3b83d366423 | 55 | FS_PLLTUNE_CH4, |
aungriah | 0:a3b83d366423 | 56 | FS_PLLTUNE_CH5, |
aungriah | 0:a3b83d366423 | 57 | FS_PLLTUNE_CH7 |
aungriah | 0:a3b83d366423 | 58 | }; |
aungriah | 0:a3b83d366423 | 59 | |
aungriah | 0:a3b83d366423 | 60 | //bandwidth configuration |
aungriah | 0:a3b83d366423 | 61 | const uint8 rx_config[NUM_BW] = |
aungriah | 0:a3b83d366423 | 62 | { |
aungriah | 0:a3b83d366423 | 63 | RF_RXCTRLH_NBW, |
aungriah | 0:a3b83d366423 | 64 | RF_RXCTRLH_WBW |
aungriah | 0:a3b83d366423 | 65 | }; |
aungriah | 0:a3b83d366423 | 66 | |
aungriah | 0:a3b83d366423 | 67 | |
aungriah | 0:a3b83d366423 | 68 | const agc_cfg_struct agc_config = |
aungriah | 0:a3b83d366423 | 69 | { |
aungriah | 0:a3b83d366423 | 70 | AGC_TUNE2_VAL, |
aungriah | 0:a3b83d366423 | 71 | { AGC_TUNE1_16M , AGC_TUNE1_64M } //adc target |
aungriah | 0:a3b83d366423 | 72 | }; |
aungriah | 0:a3b83d366423 | 73 | |
aungriah | 0:a3b83d366423 | 74 | //DW non-standard SFD length for 110k, 850k and 6.81M |
aungriah | 0:a3b83d366423 | 75 | const uint8 dwnsSFDlen[NUM_BR] = |
aungriah | 0:a3b83d366423 | 76 | { |
aungriah | 0:a3b83d366423 | 77 | DW_NS_SFD_LEN_110K, |
aungriah | 0:a3b83d366423 | 78 | DW_NS_SFD_LEN_850K, |
aungriah | 0:a3b83d366423 | 79 | DW_NS_SFD_LEN_6M8 |
aungriah | 0:a3b83d366423 | 80 | }; |
aungriah | 0:a3b83d366423 | 81 | |
aungriah | 0:a3b83d366423 | 82 | // SFD Threshold |
aungriah | 0:a3b83d366423 | 83 | const uint16 sftsh[NUM_BR][NUM_SFD] = |
aungriah | 0:a3b83d366423 | 84 | { |
aungriah | 0:a3b83d366423 | 85 | { |
aungriah | 0:a3b83d366423 | 86 | DRX_TUNE0b_110K_STD, |
aungriah | 0:a3b83d366423 | 87 | DRX_TUNE0b_110K_NSTD |
aungriah | 0:a3b83d366423 | 88 | }, |
aungriah | 0:a3b83d366423 | 89 | { |
aungriah | 0:a3b83d366423 | 90 | DRX_TUNE0b_850K_STD, |
aungriah | 0:a3b83d366423 | 91 | DRX_TUNE0b_850K_NSTD |
aungriah | 0:a3b83d366423 | 92 | }, |
aungriah | 0:a3b83d366423 | 93 | { |
aungriah | 0:a3b83d366423 | 94 | DRX_TUNE0b_6M8_STD, |
aungriah | 0:a3b83d366423 | 95 | DRX_TUNE0b_6M8_NSTD |
aungriah | 0:a3b83d366423 | 96 | } |
aungriah | 0:a3b83d366423 | 97 | }; |
aungriah | 0:a3b83d366423 | 98 | |
aungriah | 0:a3b83d366423 | 99 | const uint16 dtune1[NUM_PRF] = |
aungriah | 0:a3b83d366423 | 100 | { |
aungriah | 0:a3b83d366423 | 101 | DRX_TUNE1a_PRF16, |
aungriah | 0:a3b83d366423 | 102 | DRX_TUNE1a_PRF64 |
aungriah | 0:a3b83d366423 | 103 | }; |
aungriah | 0:a3b83d366423 | 104 | |
aungriah | 0:a3b83d366423 | 105 | const uint32 digital_bb_config[NUM_PRF][NUM_PACS] = |
aungriah | 0:a3b83d366423 | 106 | { |
aungriah | 0:a3b83d366423 | 107 | { |
aungriah | 0:a3b83d366423 | 108 | DRX_TUNE2_PRF16_PAC8, |
aungriah | 0:a3b83d366423 | 109 | DRX_TUNE2_PRF16_PAC16, |
aungriah | 0:a3b83d366423 | 110 | DRX_TUNE2_PRF16_PAC32, |
aungriah | 0:a3b83d366423 | 111 | DRX_TUNE2_PRF16_PAC64 |
aungriah | 0:a3b83d366423 | 112 | }, |
aungriah | 0:a3b83d366423 | 113 | { |
aungriah | 0:a3b83d366423 | 114 | DRX_TUNE2_PRF64_PAC8, |
aungriah | 0:a3b83d366423 | 115 | DRX_TUNE2_PRF64_PAC16, |
aungriah | 0:a3b83d366423 | 116 | DRX_TUNE2_PRF64_PAC32, |
aungriah | 0:a3b83d366423 | 117 | DRX_TUNE2_PRF64_PAC64 |
aungriah | 0:a3b83d366423 | 118 | } |
aungriah | 0:a3b83d366423 | 119 | }; |
aungriah | 0:a3b83d366423 | 120 | |
aungriah | 0:a3b83d366423 | 121 | const uint16 lde_replicaCoeff[PCODES] = |
aungriah | 0:a3b83d366423 | 122 | { |
aungriah | 0:a3b83d366423 | 123 | 0, // No preamble code 0 |
aungriah | 0:a3b83d366423 | 124 | LDE_REPC_PCODE_1, |
aungriah | 0:a3b83d366423 | 125 | LDE_REPC_PCODE_2, |
aungriah | 0:a3b83d366423 | 126 | LDE_REPC_PCODE_3, |
aungriah | 0:a3b83d366423 | 127 | LDE_REPC_PCODE_4, |
aungriah | 0:a3b83d366423 | 128 | LDE_REPC_PCODE_5, |
aungriah | 0:a3b83d366423 | 129 | LDE_REPC_PCODE_6, |
aungriah | 0:a3b83d366423 | 130 | LDE_REPC_PCODE_7, |
aungriah | 0:a3b83d366423 | 131 | LDE_REPC_PCODE_8, |
aungriah | 0:a3b83d366423 | 132 | LDE_REPC_PCODE_9, |
aungriah | 0:a3b83d366423 | 133 | LDE_REPC_PCODE_10, |
aungriah | 0:a3b83d366423 | 134 | LDE_REPC_PCODE_11, |
aungriah | 0:a3b83d366423 | 135 | LDE_REPC_PCODE_12, |
aungriah | 0:a3b83d366423 | 136 | LDE_REPC_PCODE_13, |
aungriah | 0:a3b83d366423 | 137 | LDE_REPC_PCODE_14, |
aungriah | 0:a3b83d366423 | 138 | LDE_REPC_PCODE_15, |
aungriah | 0:a3b83d366423 | 139 | LDE_REPC_PCODE_16, |
aungriah | 0:a3b83d366423 | 140 | LDE_REPC_PCODE_17, |
aungriah | 0:a3b83d366423 | 141 | LDE_REPC_PCODE_18, |
aungriah | 0:a3b83d366423 | 142 | LDE_REPC_PCODE_19, |
aungriah | 0:a3b83d366423 | 143 | LDE_REPC_PCODE_20, |
aungriah | 0:a3b83d366423 | 144 | LDE_REPC_PCODE_21, |
aungriah | 0:a3b83d366423 | 145 | LDE_REPC_PCODE_22, |
aungriah | 0:a3b83d366423 | 146 | LDE_REPC_PCODE_23, |
aungriah | 0:a3b83d366423 | 147 | LDE_REPC_PCODE_24 |
aungriah | 0:a3b83d366423 | 148 | }; |
aungriah | 0:a3b83d366423 | 149 |