Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Committer:
kenjiArai
Date:
Tue Dec 31 06:02:27 2019 +0000
Revision:
1:9db0e321a9f4
Parent:
0:5b88d5760320
updated based on mbed-os5.15.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:5b88d5760320 1 /**
kenjiArai 0:5b88d5760320 2 * @file LoRaPHYCN779.cpp
kenjiArai 0:5b88d5760320 3 *
kenjiArai 0:5b88d5760320 4 * @brief Implements LoRaPHY for Chinese 779 MHz band
kenjiArai 0:5b88d5760320 5 *
kenjiArai 0:5b88d5760320 6 * \code
kenjiArai 0:5b88d5760320 7 * ______ _
kenjiArai 0:5b88d5760320 8 * / _____) _ | |
kenjiArai 0:5b88d5760320 9 * ( (____ _____ ____ _| |_ _____ ____| |__
kenjiArai 0:5b88d5760320 10 * \____ \| ___ | (_ _) ___ |/ ___) _ \
kenjiArai 0:5b88d5760320 11 * _____) ) ____| | | || |_| ____( (___| | | |
kenjiArai 0:5b88d5760320 12 * (______/|_____)_|_|_| \__)_____)\____)_| |_|
kenjiArai 0:5b88d5760320 13 * (C)2013 Semtech
kenjiArai 0:5b88d5760320 14 * ___ _____ _ ___ _ _____ ___ ___ ___ ___
kenjiArai 0:5b88d5760320 15 * / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
kenjiArai 0:5b88d5760320 16 * \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
kenjiArai 0:5b88d5760320 17 * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
kenjiArai 0:5b88d5760320 18 * embedded.connectivity.solutions===============
kenjiArai 0:5b88d5760320 19 *
kenjiArai 0:5b88d5760320 20 * \endcode
kenjiArai 0:5b88d5760320 21 *
kenjiArai 0:5b88d5760320 22 *
kenjiArai 0:5b88d5760320 23 * License: Revised BSD License, see LICENSE.TXT file include in the project
kenjiArai 0:5b88d5760320 24 *
kenjiArai 0:5b88d5760320 25 * Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
kenjiArai 0:5b88d5760320 26 *
kenjiArai 0:5b88d5760320 27 * Copyright (c) 2017, Arm Limited and affiliates.
kenjiArai 0:5b88d5760320 28 * SPDX-License-Identifier: BSD-3-Clause
kenjiArai 0:5b88d5760320 29 *
kenjiArai 0:5b88d5760320 30 */
kenjiArai 0:5b88d5760320 31
kenjiArai 0:5b88d5760320 32 #include "LoRaPHYCN779.h"
kenjiArai 0:5b88d5760320 33 #include "lora_phy_ds.h"
kenjiArai 0:5b88d5760320 34
kenjiArai 0:5b88d5760320 35 /*!
kenjiArai 0:5b88d5760320 36 * Number of default channels
kenjiArai 0:5b88d5760320 37 */
kenjiArai 0:5b88d5760320 38 #define CN779_NUMB_DEFAULT_CHANNELS 3
kenjiArai 0:5b88d5760320 39
kenjiArai 0:5b88d5760320 40 /*!
kenjiArai 0:5b88d5760320 41 * Number of channels to apply for the CF list
kenjiArai 0:5b88d5760320 42 */
kenjiArai 0:5b88d5760320 43 #define CN779_NUMB_CHANNELS_CF_LIST 5
kenjiArai 0:5b88d5760320 44
kenjiArai 0:5b88d5760320 45 /*!
kenjiArai 0:5b88d5760320 46 * Minimal datarate that can be used by the node
kenjiArai 0:5b88d5760320 47 */
kenjiArai 0:5b88d5760320 48 #define CN779_TX_MIN_DATARATE DR_0
kenjiArai 0:5b88d5760320 49
kenjiArai 0:5b88d5760320 50 /*!
kenjiArai 0:5b88d5760320 51 * Maximal datarate that can be used by the node
kenjiArai 0:5b88d5760320 52 */
kenjiArai 0:5b88d5760320 53 #define CN779_TX_MAX_DATARATE DR_7
kenjiArai 0:5b88d5760320 54
kenjiArai 0:5b88d5760320 55 /*!
kenjiArai 0:5b88d5760320 56 * Minimal datarate that can be used by the node
kenjiArai 0:5b88d5760320 57 */
kenjiArai 0:5b88d5760320 58 #define CN779_RX_MIN_DATARATE DR_0
kenjiArai 0:5b88d5760320 59
kenjiArai 0:5b88d5760320 60 /*!
kenjiArai 0:5b88d5760320 61 * Maximal datarate that can be used by the node
kenjiArai 0:5b88d5760320 62 */
kenjiArai 0:5b88d5760320 63 #define CN779_RX_MAX_DATARATE DR_7
kenjiArai 0:5b88d5760320 64
kenjiArai 0:5b88d5760320 65 #define CN779_DEFAULT_MAX_DATARATE DR_5
kenjiArai 0:5b88d5760320 66
kenjiArai 0:5b88d5760320 67 /*!
kenjiArai 0:5b88d5760320 68 * Default datarate used by the node
kenjiArai 0:5b88d5760320 69 */
kenjiArai 0:5b88d5760320 70 #define CN779_DEFAULT_DATARATE DR_0
kenjiArai 0:5b88d5760320 71
kenjiArai 0:5b88d5760320 72 /*!
kenjiArai 0:5b88d5760320 73 * Minimal Rx1 receive datarate offset
kenjiArai 0:5b88d5760320 74 */
kenjiArai 0:5b88d5760320 75 #define CN779_MIN_RX1_DR_OFFSET 0
kenjiArai 0:5b88d5760320 76
kenjiArai 0:5b88d5760320 77 /*!
kenjiArai 0:5b88d5760320 78 * Maximal Rx1 receive datarate offset
kenjiArai 0:5b88d5760320 79 */
kenjiArai 0:5b88d5760320 80 #define CN779_MAX_RX1_DR_OFFSET 5
kenjiArai 0:5b88d5760320 81
kenjiArai 0:5b88d5760320 82 /*!
kenjiArai 0:5b88d5760320 83 * Default Rx1 receive datarate offset
kenjiArai 0:5b88d5760320 84 */
kenjiArai 0:5b88d5760320 85 #define CN779_DEFAULT_RX1_DR_OFFSET 0
kenjiArai 0:5b88d5760320 86
kenjiArai 0:5b88d5760320 87 /*!
kenjiArai 0:5b88d5760320 88 * Minimal Tx output power that can be used by the node
kenjiArai 0:5b88d5760320 89 */
kenjiArai 0:5b88d5760320 90 #define CN779_MIN_TX_POWER TX_POWER_5
kenjiArai 0:5b88d5760320 91
kenjiArai 0:5b88d5760320 92 /*!
kenjiArai 0:5b88d5760320 93 * Maximal Tx output power that can be used by the node
kenjiArai 0:5b88d5760320 94 */
kenjiArai 0:5b88d5760320 95 #define CN779_MAX_TX_POWER TX_POWER_0
kenjiArai 0:5b88d5760320 96
kenjiArai 0:5b88d5760320 97 /*!
kenjiArai 0:5b88d5760320 98 * Default Tx output power used by the node
kenjiArai 0:5b88d5760320 99 */
kenjiArai 0:5b88d5760320 100 #define CN779_DEFAULT_TX_POWER TX_POWER_0
kenjiArai 0:5b88d5760320 101
kenjiArai 0:5b88d5760320 102 /*!
kenjiArai 0:5b88d5760320 103 * Default Max EIRP
kenjiArai 0:5b88d5760320 104 */
kenjiArai 0:5b88d5760320 105 #define CN779_DEFAULT_MAX_EIRP 12.15f
kenjiArai 0:5b88d5760320 106
kenjiArai 0:5b88d5760320 107 /*!
kenjiArai 0:5b88d5760320 108 * Default antenna gain
kenjiArai 0:5b88d5760320 109 */
kenjiArai 0:5b88d5760320 110 #define CN779_DEFAULT_ANTENNA_GAIN 2.15f
kenjiArai 0:5b88d5760320 111
kenjiArai 0:5b88d5760320 112 /*!
kenjiArai 0:5b88d5760320 113 * ADR Ack limit
kenjiArai 0:5b88d5760320 114 */
kenjiArai 0:5b88d5760320 115 #define CN779_ADR_ACK_LIMIT 64
kenjiArai 0:5b88d5760320 116
kenjiArai 0:5b88d5760320 117 /*!
kenjiArai 0:5b88d5760320 118 * ADR Ack delay
kenjiArai 0:5b88d5760320 119 */
kenjiArai 0:5b88d5760320 120 #define CN779_ADR_ACK_DELAY 32
kenjiArai 0:5b88d5760320 121
kenjiArai 0:5b88d5760320 122 /*!
kenjiArai 0:5b88d5760320 123 * Enabled or disabled the duty cycle
kenjiArai 0:5b88d5760320 124 */
kenjiArai 0:5b88d5760320 125 #define CN779_DUTY_CYCLE_ENABLED 1
kenjiArai 0:5b88d5760320 126
kenjiArai 0:5b88d5760320 127 /*!
kenjiArai 0:5b88d5760320 128 * Maximum RX window duration
kenjiArai 0:5b88d5760320 129 */
kenjiArai 0:5b88d5760320 130 #define CN779_MAX_RX_WINDOW 3000
kenjiArai 0:5b88d5760320 131
kenjiArai 0:5b88d5760320 132 /*!
kenjiArai 0:5b88d5760320 133 * Receive delay 1
kenjiArai 0:5b88d5760320 134 */
kenjiArai 0:5b88d5760320 135 #define CN779_RECEIVE_DELAY1 1000
kenjiArai 0:5b88d5760320 136
kenjiArai 0:5b88d5760320 137 /*!
kenjiArai 0:5b88d5760320 138 * Receive delay 2
kenjiArai 0:5b88d5760320 139 */
kenjiArai 0:5b88d5760320 140 #define CN779_RECEIVE_DELAY2 2000
kenjiArai 0:5b88d5760320 141
kenjiArai 0:5b88d5760320 142 /*!
kenjiArai 0:5b88d5760320 143 * Join accept delay 1
kenjiArai 0:5b88d5760320 144 */
kenjiArai 0:5b88d5760320 145 #define CN779_JOIN_ACCEPT_DELAY1 5000
kenjiArai 0:5b88d5760320 146
kenjiArai 0:5b88d5760320 147 /*!
kenjiArai 0:5b88d5760320 148 * Join accept delay 2
kenjiArai 0:5b88d5760320 149 */
kenjiArai 0:5b88d5760320 150 #define CN779_JOIN_ACCEPT_DELAY2 6000
kenjiArai 0:5b88d5760320 151
kenjiArai 0:5b88d5760320 152 /*!
kenjiArai 0:5b88d5760320 153 * Maximum frame counter gap
kenjiArai 0:5b88d5760320 154 */
kenjiArai 0:5b88d5760320 155 #define CN779_MAX_FCNT_GAP 16384
kenjiArai 0:5b88d5760320 156
kenjiArai 0:5b88d5760320 157 /*!
kenjiArai 0:5b88d5760320 158 * Ack timeout
kenjiArai 0:5b88d5760320 159 */
kenjiArai 0:5b88d5760320 160 #define CN779_ACKTIMEOUT 2000
kenjiArai 0:5b88d5760320 161
kenjiArai 0:5b88d5760320 162 /*!
kenjiArai 0:5b88d5760320 163 * Random ack timeout limits
kenjiArai 0:5b88d5760320 164 */
kenjiArai 0:5b88d5760320 165 #define CN779_ACK_TIMEOUT_RND 1000
kenjiArai 0:5b88d5760320 166
kenjiArai 0:5b88d5760320 167 /*!
kenjiArai 0:5b88d5760320 168 * Verification of default datarate
kenjiArai 0:5b88d5760320 169 */
kenjiArai 0:5b88d5760320 170 #if ( CN779_DEFAULT_DATARATE > DR_5 )
kenjiArai 0:5b88d5760320 171 #error "A default DR higher than DR_5 may lead to connectivity loss."
kenjiArai 0:5b88d5760320 172 #endif
kenjiArai 0:5b88d5760320 173
kenjiArai 0:5b88d5760320 174 /*!
kenjiArai 0:5b88d5760320 175 * Second reception window channel frequency definition.
kenjiArai 0:5b88d5760320 176 */
kenjiArai 0:5b88d5760320 177 #define CN779_RX_WND_2_FREQ 786000000
kenjiArai 0:5b88d5760320 178
kenjiArai 0:5b88d5760320 179 /*!
kenjiArai 0:5b88d5760320 180 * Second reception window channel datarate definition.
kenjiArai 0:5b88d5760320 181 */
kenjiArai 0:5b88d5760320 182 #define CN779_RX_WND_2_DR DR_0
kenjiArai 0:5b88d5760320 183
kenjiArai 0:5b88d5760320 184 /*!
kenjiArai 0:5b88d5760320 185 * Band 0 definition
kenjiArai 0:5b88d5760320 186 * { DutyCycle, TxMaxPower, LastJoinTxDoneTime, LastTxDoneTime, TimeOff }
kenjiArai 0:5b88d5760320 187 */
kenjiArai 0:5b88d5760320 188 static const band_t CN779_BAND0 = {100, CN779_MAX_TX_POWER, 0, 0, 0, 779500000, 786500000}; // 1.0 %
kenjiArai 0:5b88d5760320 189
kenjiArai 0:5b88d5760320 190 /*!
kenjiArai 0:5b88d5760320 191 * LoRaMac default channel 1
kenjiArai 0:5b88d5760320 192 * Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
kenjiArai 0:5b88d5760320 193 */
kenjiArai 0:5b88d5760320 194 static const channel_params_t CN779_LC1 = {779500000, 0, { ((DR_5 << 4) | DR_0) }, 0};
kenjiArai 0:5b88d5760320 195 /*!
kenjiArai 0:5b88d5760320 196 * LoRaMac default channel 2
kenjiArai 0:5b88d5760320 197 * Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
kenjiArai 0:5b88d5760320 198 */
kenjiArai 0:5b88d5760320 199 static const channel_params_t CN779_LC2 = {779700000, 0, { ((DR_5 << 4) | DR_0) }, 0};
kenjiArai 0:5b88d5760320 200
kenjiArai 0:5b88d5760320 201 /*!
kenjiArai 0:5b88d5760320 202 * LoRaMac default channel 3
kenjiArai 0:5b88d5760320 203 * Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
kenjiArai 0:5b88d5760320 204 */
kenjiArai 0:5b88d5760320 205 static const channel_params_t CN779_LC3 = {779900000, 0, { ((DR_5 << 4) | DR_0) }, 0};
kenjiArai 0:5b88d5760320 206
kenjiArai 0:5b88d5760320 207 /*!
kenjiArai 0:5b88d5760320 208 * LoRaMac channels which are allowed for the join procedure
kenjiArai 0:5b88d5760320 209 */
kenjiArai 0:5b88d5760320 210 #define CN779_JOIN_CHANNELS (uint16_t) (LC(1) | LC(2) | LC(3))
kenjiArai 0:5b88d5760320 211
kenjiArai 0:5b88d5760320 212 /*!
kenjiArai 0:5b88d5760320 213 * Data rates table definition
kenjiArai 0:5b88d5760320 214 */
kenjiArai 0:5b88d5760320 215 static const uint8_t datarates_CN779[] = {12, 11, 10, 9, 8, 7, 7, 50};
kenjiArai 0:5b88d5760320 216
kenjiArai 0:5b88d5760320 217 /*!
kenjiArai 0:5b88d5760320 218 * Bandwidths table definition in Hz
kenjiArai 0:5b88d5760320 219 */
kenjiArai 0:5b88d5760320 220 static const uint32_t bandwidths_CN779[] = {125000, 125000, 125000, 125000, 125000, 125000, 250000, 0};
kenjiArai 0:5b88d5760320 221
kenjiArai 0:5b88d5760320 222 /*!
kenjiArai 0:5b88d5760320 223 * Maximum payload with respect to the datarate index. Cannot operate with repeater.
kenjiArai 0:5b88d5760320 224 */
kenjiArai 0:5b88d5760320 225 static const uint8_t max_payloads_CN779[] = {51, 51, 51, 115, 242, 242, 242, 242};
kenjiArai 0:5b88d5760320 226
kenjiArai 0:5b88d5760320 227 /*!
kenjiArai 0:5b88d5760320 228 * Maximum payload with respect to the datarate index. Can operate with repeater.
kenjiArai 0:5b88d5760320 229 */
kenjiArai 0:5b88d5760320 230 static const uint8_t max_payloads_with_repeater_CN779[] = {51, 51, 51, 115, 222, 222, 222, 222};
kenjiArai 0:5b88d5760320 231
kenjiArai 0:5b88d5760320 232
kenjiArai 0:5b88d5760320 233 LoRaPHYCN779::LoRaPHYCN779()
kenjiArai 0:5b88d5760320 234 {
kenjiArai 0:5b88d5760320 235 bands[0] = CN779_BAND0;
kenjiArai 0:5b88d5760320 236
kenjiArai 0:5b88d5760320 237 // Channels
kenjiArai 0:5b88d5760320 238 channels[0] = CN779_LC1;
kenjiArai 0:5b88d5760320 239 channels[0].band = 0;
kenjiArai 0:5b88d5760320 240 channels[1] = CN779_LC2;
kenjiArai 0:5b88d5760320 241 channels[1].band = 0;
kenjiArai 0:5b88d5760320 242 channels[2] = CN779_LC3;
kenjiArai 0:5b88d5760320 243 channels[2].band = 0;
kenjiArai 0:5b88d5760320 244
kenjiArai 0:5b88d5760320 245 // Initialize the channels default mask
kenjiArai 0:5b88d5760320 246 default_channel_mask[0] = LC(1) + LC(2) + LC(3);
kenjiArai 0:5b88d5760320 247 // Update the channels mask
kenjiArai 0:5b88d5760320 248 copy_channel_mask(channel_mask, default_channel_mask, CN779_CHANNEL_MASK_SIZE);
kenjiArai 0:5b88d5760320 249
kenjiArai 0:5b88d5760320 250 // set default channels
kenjiArai 0:5b88d5760320 251 phy_params.channels.channel_list = channels;
kenjiArai 0:5b88d5760320 252 phy_params.channels.channel_list_size = CN779_MAX_NB_CHANNELS;
kenjiArai 0:5b88d5760320 253 phy_params.channels.mask = channel_mask;
kenjiArai 0:5b88d5760320 254 phy_params.channels.default_mask = default_channel_mask;
kenjiArai 0:5b88d5760320 255 phy_params.channels.mask_size = CN779_CHANNEL_MASK_SIZE;
kenjiArai 0:5b88d5760320 256
kenjiArai 0:5b88d5760320 257 // set bands for CN779 spectrum
kenjiArai 0:5b88d5760320 258 phy_params.bands.table = bands;
kenjiArai 0:5b88d5760320 259 phy_params.bands.size = CN779_MAX_NB_BANDS;
kenjiArai 0:5b88d5760320 260
kenjiArai 0:5b88d5760320 261 // set bandwidths available in CN779 spectrum
kenjiArai 0:5b88d5760320 262 phy_params.bandwidths.table = (void *) bandwidths_CN779;
kenjiArai 0:5b88d5760320 263 phy_params.bandwidths.size = 8;
kenjiArai 0:5b88d5760320 264
kenjiArai 0:5b88d5760320 265 // set data rates available in CN779 spectrum
kenjiArai 0:5b88d5760320 266 phy_params.datarates.table = (void *) datarates_CN779;
kenjiArai 0:5b88d5760320 267 phy_params.datarates.size = 8;
kenjiArai 0:5b88d5760320 268
kenjiArai 0:5b88d5760320 269 // set payload sizes with respect to data rates
kenjiArai 0:5b88d5760320 270 phy_params.payloads.table = (void *) max_payloads_CN779;
kenjiArai 0:5b88d5760320 271 phy_params.payloads.size = 8;
kenjiArai 0:5b88d5760320 272 phy_params.payloads_with_repeater.table = (void *) max_payloads_with_repeater_CN779;
kenjiArai 0:5b88d5760320 273 phy_params.payloads_with_repeater.size = 8;
kenjiArai 0:5b88d5760320 274
kenjiArai 0:5b88d5760320 275 // dwell time setting
kenjiArai 0:5b88d5760320 276 phy_params.ul_dwell_time_setting = 0;
kenjiArai 0:5b88d5760320 277 phy_params.dl_dwell_time_setting = 0;
kenjiArai 0:5b88d5760320 278
kenjiArai 0:5b88d5760320 279 // set initial and default parameters
kenjiArai 0:5b88d5760320 280 phy_params.duty_cycle_enabled = CN779_DUTY_CYCLE_ENABLED;
kenjiArai 0:5b88d5760320 281 phy_params.accept_tx_param_setup_req = false;
kenjiArai 0:5b88d5760320 282 phy_params.fsk_supported = true;
kenjiArai 0:5b88d5760320 283 phy_params.cflist_supported = true;
kenjiArai 0:5b88d5760320 284 phy_params.dl_channel_req_supported = true;
kenjiArai 0:5b88d5760320 285 phy_params.custom_channelplans_supported = true;
kenjiArai 0:5b88d5760320 286 phy_params.default_channel_cnt = CN779_NUMB_DEFAULT_CHANNELS;
kenjiArai 0:5b88d5760320 287 phy_params.max_channel_cnt = CN779_MAX_NB_CHANNELS;
kenjiArai 0:5b88d5760320 288 phy_params.cflist_channel_cnt = CN779_NUMB_CHANNELS_CF_LIST;
kenjiArai 0:5b88d5760320 289 phy_params.min_tx_datarate = CN779_TX_MIN_DATARATE;
kenjiArai 0:5b88d5760320 290 phy_params.max_tx_datarate = CN779_TX_MAX_DATARATE;
kenjiArai 0:5b88d5760320 291 phy_params.min_rx_datarate = CN779_RX_MIN_DATARATE;
kenjiArai 0:5b88d5760320 292 phy_params.max_rx_datarate = CN779_RX_MAX_DATARATE;
kenjiArai 0:5b88d5760320 293 phy_params.default_datarate = CN779_DEFAULT_DATARATE;
kenjiArai 0:5b88d5760320 294 phy_params.default_max_datarate = CN779_DEFAULT_MAX_DATARATE;
kenjiArai 0:5b88d5760320 295 phy_params.min_rx1_dr_offset = CN779_MIN_RX1_DR_OFFSET;
kenjiArai 0:5b88d5760320 296 phy_params.max_rx1_dr_offset = CN779_MAX_RX1_DR_OFFSET;
kenjiArai 0:5b88d5760320 297 phy_params.default_rx1_dr_offset = CN779_DEFAULT_RX1_DR_OFFSET;
kenjiArai 0:5b88d5760320 298 phy_params.min_tx_power = CN779_MIN_TX_POWER;
kenjiArai 0:5b88d5760320 299 phy_params.max_tx_power = CN779_MAX_TX_POWER;
kenjiArai 0:5b88d5760320 300 phy_params.default_tx_power = CN779_DEFAULT_TX_POWER;
kenjiArai 0:5b88d5760320 301 phy_params.default_max_eirp = CN779_DEFAULT_MAX_EIRP;
kenjiArai 0:5b88d5760320 302 phy_params.default_antenna_gain = CN779_DEFAULT_ANTENNA_GAIN;
kenjiArai 0:5b88d5760320 303 phy_params.adr_ack_limit = CN779_ADR_ACK_LIMIT;
kenjiArai 0:5b88d5760320 304 phy_params.adr_ack_delay = CN779_ADR_ACK_DELAY;
kenjiArai 0:5b88d5760320 305 phy_params.max_rx_window = CN779_MAX_RX_WINDOW;
kenjiArai 0:5b88d5760320 306 phy_params.recv_delay1 = CN779_RECEIVE_DELAY1;
kenjiArai 0:5b88d5760320 307 phy_params.recv_delay2 = CN779_RECEIVE_DELAY2;
kenjiArai 0:5b88d5760320 308 phy_params.join_channel_mask = CN779_JOIN_CHANNELS;
kenjiArai 0:5b88d5760320 309 phy_params.join_accept_delay1 = CN779_JOIN_ACCEPT_DELAY1;
kenjiArai 0:5b88d5760320 310 phy_params.join_accept_delay2 = CN779_JOIN_ACCEPT_DELAY2;
kenjiArai 0:5b88d5760320 311 phy_params.max_fcnt_gap = CN779_MAX_FCNT_GAP;
kenjiArai 0:5b88d5760320 312 phy_params.ack_timeout = CN779_ACKTIMEOUT;
kenjiArai 0:5b88d5760320 313 phy_params.ack_timeout_rnd = CN779_ACK_TIMEOUT_RND;
kenjiArai 0:5b88d5760320 314 phy_params.rx_window2_datarate = CN779_RX_WND_2_DR;
kenjiArai 0:5b88d5760320 315 phy_params.rx_window2_frequency = CN779_RX_WND_2_FREQ;
kenjiArai 0:5b88d5760320 316 }
kenjiArai 0:5b88d5760320 317
kenjiArai 0:5b88d5760320 318 LoRaPHYCN779::~LoRaPHYCN779()
kenjiArai 0:5b88d5760320 319 {
kenjiArai 0:5b88d5760320 320 }
kenjiArai 0:5b88d5760320 321