Mistake on this page?
Report an issue in GitHub or email us
LoRaPHYKR920.h
Go to the documentation of this file.
1 /**
2  * @file LoRaPHYKR920.h
3  *
4  * @brief Implements LoRaPHY for Korean 920 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_KR920_H_
33 #define MBED_OS_LORAPHY_KR920_H_
34 
35 #if !(DOXYGEN_ONLY)
36 
37 #include "LoRaPHY.h"
38 
39 /*!
40  * LoRaMac maximum number of channels
41  */
42 #define KR920_MAX_NB_CHANNELS 16
43 
44 /*!
45  * Maximum number of bands
46  */
47 #define KR920_MAX_NB_BANDS 1
48 
49 #define KR920_CHANNEL_MASK_SIZE 1
50 
51 
52 class LoRaPHYKR920 : public LoRaPHY {
53 
54 public:
55 
56  LoRaPHYKR920();
57  virtual ~LoRaPHYKR920();
58 
59  virtual bool verify_frequency_for_band(uint32_t freq, uint8_t band) const;
60 
61  virtual bool tx_config(tx_config_params_t *config, int8_t *tx_power,
62  lorawan_time_t *tx_toa);
63 
64  virtual lorawan_status_t set_next_channel(channel_selection_params_t *params, uint8_t *channel,
65  lorawan_time_t *time,
66  lorawan_time_t *aggregate_timeOff);
67 
68  virtual void set_tx_cont_mode(cw_mode_params_t *continuousWave,
69  uint32_t frequency = 0);
70 
71 
72 private:
73 
74  int8_t get_max_eirp(uint32_t freq);
75 
76  /**
77  * LoRaMAC channels
78  */
79  channel_params_t channels[KR920_MAX_NB_CHANNELS];
80 
81  /**
82  * LoRaMac bands
83  */
84  band_t bands[KR920_MAX_NB_BANDS];
85 
86  /**
87  * LoRaMac channel mask
88  */
89  uint16_t channel_mask[KR920_CHANNEL_MASK_SIZE];
90 
91  /**
92  * LoRaMac default channel mask
93  */
94  uint16_t default_channel_mask[KR920_CHANNEL_MASK_SIZE];
95 };
96 
97 #endif /* DOXYGEN_ONLY */
98 #endif // MBED_OS_LORAPHY_KR920_H_
99 
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 void set_tx_cont_mode(cw_mode_params_t *continuous_wave, uint32_t frequency=0)
Puts the radio into continuous wave mode.
virtual bool tx_config(tx_config_params_t *tx_config, int8_t *tx_power, lorawan_time_t *tx_toa)
Configure radio transmission.
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
virtual bool verify_frequency_for_band(uint32_t freq, uint8_t band) const
Verifies, if a frequency is within a given band.
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
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.