Mistake on this page?
Report an issue in GitHub or email us
LoRaMacChannelPlan.h
1 /**
2  \code
3  / _____) _ | |
4 ( (____ _____ ____ _| |_ _____ ____| |__
5  \____ \| ___ | (_ _) ___ |/ ___) _ \
6  _____) ) ____| | | || |_| ____( (___| | | |
7 (______/|_____)_|_|_| \__)_____)\____)_| |_|
8  (C)2013 Semtech
9  ___ _____ _ ___ _ _____ ___ ___ ___ ___
10 / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
11 \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
12 |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
13 embedded.connectivity.solutions===============
14 \endcode
15 
16 Description: LoRaWAN stack layer that controls both MAC and PHY underneath
17 
18 License: Revised BSD License, see LICENSE.TXT file include in the project
19 
20 Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
21 
22 
23 Copyright (c) 2017, Arm Limited and affiliates.
24 
25 SPDX-License-Identifier: BSD-3-Clause
26 */
27 
28 #ifndef MBED_LORAWAN_LORAMACCHANNELPLAN_H_
29 #define MBED_LORAWAN_LORAMACCHANNELPLAN_H_
30 
32 #include "lorastack/phy/LoRaPHY.h"
33 
35 
36 public:
37 
38  /** Constructor
39  *
40  * Sets local handles to NULL. These handles will be set when the subsystem
41  * is activated by the MAC layer.
42  */
44 
45  /** Destructor
46  *
47  * Does nothing
48  */
50 
51  /** Activates Channel Planning subsystem
52  *
53  * Stores pointers to PHY layer MIB subsystem
54  *
55  * @param phy pointer to PHY layer
56  */
58 
59  /** Set a given channel plan
60  *
61  * Used to set application provided channel plan. This API can be used to
62  * set a single channel as well to the existing channel plan.
63  *
64  * @param plan a reference to application channel plan. PHY layer takes a
65  * copy of the channel parameters provided within.
66  *
67  * @return LORAWAN_STATUS_OK if everything goes well otherwise
68  * a negative error code is returned.
69  */
71 
72  /** Access the active channel plan
73  *
74  * Used to get active channel plan.
75  *
76  * @param plan a reference to application provided channel plan structure
77  * which gets filled in with active channel plan data.
78  *
79  * @param channel_list pointer to structure containing channel information
80  *
81  * @return LORAWAN_STATUS_OK if everything goes well otherwise
82  * a negative error code is returned.
83  */
85 
86  /** Remove the active channel plan
87  *
88  * Drops the whole channel list except the 'Default Channels' ofcourse.
89  *
90  * @return LORAWAN_STATUS_OK if everything goes well otherwise
91  * a negative error code is returned.
92  */
94 
95  /** Remove a single channel from the plan
96  *
97  * @param id the channel id which needs to be removed
98  *
99  * @return LORAWAN_STATUS_OK if everything goes well otherwise
100  * a negative error code is returned.
101  */
103 
104 private:
105 
106  /**
107  * Local handles
108  */
109  LoRaPHY *_lora_phy;
110 };
111 
112 
113 
114 #endif /* MBED_LORAWAN_LORAMACCHANNELPLAN_H_ */
An abstract class providing radio object to children and provide base for implementing LoRa PHY layer...
lorawan_status_t remove_single_channel(uint8_t id)
Remove a single channel from the plan.
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
LoRaMacChannelPlan()
Constructor.
DO NOT MODIFY, WILL BREAK THE API!
lorawan_status_t set_plan(const lorawan_channelplan_t &plan)
Set a given channel plan.
Contains common data structures used by Mbed-OS LoRaWAN mplementation.
void activate_channelplan_subsystem(LoRaPHY *phy)
Activates Channel Planning subsystem.
lorawan_status_t remove_plan()
Remove the active channel plan.
DO NOT MODIFY, WILL BREAK THE API!
~LoRaMacChannelPlan()
Destructor.
lorawan_status_t get_plan(lorawan_channelplan_t &plan, const channel_params_t *channel_list)
Access the active channel plan.
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.