Mistake on this page?
Report an issue in GitHub or email us
LoRaPHYAS923.h
Go to the documentation of this file.
1 /**
2  * @file LoRaPHYAS923.h
3  *
4  * @brief Implements LoRaPHY for Asia-Pacific 923 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_AS923_H_
33 #define MBED_OS_LORAPHY_AS923_H_
34 
35 #if !(DOXYGEN_ONLY)
36 
37 #include "LoRaPHY.h"
38 
39 /*!
40  * LoRaMac maximum number of channels
41  */
42 #define AS923_MAX_NB_CHANNELS 16
43 
44 /*!
45  * Maximum number of bands
46  */
47 #define AS923_MAX_NB_BANDS 1
48 
49 #define AS923_CHANNEL_MASK_SIZE 1
50 
51 class LoRaPHYAS923 : public LoRaPHY {
52 
53 public:
54  LoRaPHYAS923();
55  virtual ~LoRaPHYAS923();
56 
57  virtual int8_t get_alternate_DR(uint8_t nb_trials);
58 
60  uint8_t *channel, lorawan_time_t *time,
61  lorawan_time_t *aggregatedTimeOff);
62 
63  virtual uint8_t apply_DR_offset(int8_t dr, int8_t drOffset);
64 
65 private:
66  channel_params_t channels[AS923_MAX_NB_CHANNELS];
67  band_t bands[AS923_MAX_NB_BANDS];
68  uint16_t channel_mask[AS923_CHANNEL_MASK_SIZE];
69  uint16_t default_channel_mask[AS923_CHANNEL_MASK_SIZE];
70 };
71 
72 #endif /* DOXYGEN_ONLY*/
73 #endif /* MBED_OS_LORAPHY_AS923_H_ */
An abstract class providing radio object to children and provide base for implementing LoRa PHY layer...
virtual int8_t get_alternate_DR(uint8_t nb_trials)
Alternates the datarate of the channel for the join 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
virtual uint8_t apply_DR_offset(int8_t dr, int8_t dr_offset)
Computes new data rate according to the given offset.
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.