Mistake on this page?
Report an issue in GitHub or email us
LoRaPHYCN470.h
Go to the documentation of this file.
1 /**
2  * @file LoRaPHYCN470.h
3  *
4  * @brief Implements LoRaPHY for Chinese 470 MHz band
5  *
6  * \code
7  * ______ _
8  * / _____) _ | |
9  * ( (____ _____ ____ _| |_ _____ ____| |__
10  * \____ \| ___ | (_ _) ___ |/ ___) _ \
11  * _____) ) ____| | | || |_| ____( (___| | | |
12  * (______/|_____)_|_|_| \__)_____)\____)_| |_|
13  * (C)2013 Semtech
14  * ___ _____ _ ___ _ _____ ___ ___ ___ ___
15  * / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
16  * \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
17  * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
18  * embedded.connectivity.solutions===============
19  *
20  * \endcode
21  *
22  *
23  * License: Revised BSD License, see LICENSE.TXT file include in the project
24  *
25  * Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
26  *
27  * Copyright (c) 2017, Arm Limited and affiliates.
28  * SPDX-License-Identifier: BSD-3-Clause
29  *
30  */
31 
32 #ifndef MBED_OS_LORAPHY_CN470_H_
33 #define MBED_OS_LORAPHY_CN470_H_
34 
35 #if !(DOXYGEN_ONLY)
36 
37 #include "LoRaPHY.h"
38 
39 // Definitions
40 /*!
41  * LoRaMac maximum number of channels
42  */
43 #define CN470_MAX_NB_CHANNELS 96
44 
45 /*!
46  * LoRaMac maximum number of bands
47  */
48 #define CN470_MAX_NB_BANDS 1
49 
50 
51 #define CN470_CHANNEL_MASK_SIZE 6
52 
53 
54 class LoRaPHYCN470 : public LoRaPHY {
55 
56 public:
57 
58  LoRaPHYCN470();
59  virtual ~LoRaPHYCN470();
60 
62  uint8_t *channel, lorawan_time_t *time,
63  lorawan_time_t *aggregate_timeoff);
64 
65  virtual bool rx_config(rx_config_params_t *config);
66 
67  virtual bool tx_config(tx_config_params_t *config, int8_t *tx_power,
68  lorawan_time_t *tx_toa);
69 
70  virtual uint8_t link_ADR_request(adr_req_params_t *params, int8_t *dr_out,
71  int8_t *tx_power_out, uint8_t *nb_rep_out,
72  uint8_t *nb_bytes_parsed);
73 
74  virtual uint8_t accept_rx_param_setup_req(rx_param_setup_req_t *params);
75 
76 private:
77 
78  /*!
79  * LoRaMAC channels
80  */
81  channel_params_t channels[CN470_MAX_NB_CHANNELS];
82 
83  /*!
84  * LoRaMac bands
85  */
86  band_t bands[CN470_MAX_NB_BANDS];
87 
88  /*!
89  * LoRaMac channel mask
90  */
91  uint16_t channel_mask[CN470_CHANNEL_MASK_SIZE];
92 
93  /*!
94  * LoRaMac default channel mask
95  */
96  uint16_t default_channel_mask[CN470_CHANNEL_MASK_SIZE];
97 };
98 
99 #endif /* DOXYGEN_ONLY*/
100 #endif /* MBED_OS_LORAPHY_CN470_H_ */
TX configuration parameters.
Definition: lora_phy_ds.h:275
An abstract class providing radio object to children and provide base for implementing LoRa PHY layer...
virtual bool tx_config(tx_config_params_t *tx_config, int8_t *tx_power, lorawan_time_t *tx_toa)
Configure radio transmission.
virtual uint8_t link_ADR_request(adr_req_params_t *params, int8_t *dr_out, int8_t *tx_power_out, uint8_t *nb_rep_out, uint8_t *nb_bytes_parsed)
Processes a Link ADR Request.
uint32_t lorawan_time_t
Timer time variable definition.
virtual lorawan_status_t set_next_channel(channel_selection_params_t *nextChanParams, uint8_t *channel, lorawan_time_t *time, lorawan_time_t *aggregatedTimeOff)
Searches and sets the next available channel.
LoRaPHY Class Parent class for LoRa regional PHY implementations.
Definition: LoRaPHY.h:46
enum lorawan_status lorawan_status_t
lorawan_status_t contains status codes in response to stack operations
The parameter structure for the function RegionNextChannel.
Definition: lora_phy_ds.h:430
Contains rx parameter setup request coming from network server.
Definition: lora_phy_ds.h:412
virtual bool rx_config(rx_config_params_t *config)
Configure radio reception.
virtual uint8_t accept_rx_param_setup_req(rx_param_setup_req_t *params)
Accept or rejects RxParamSetupReq MAC command.
This structure contains parameters for ADR request coming from network server.
Definition: lora_phy_ds.h:306
DO NOT MODIFY, WILL BREAK THE API!
Default user application maximum data size for transmission.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.