Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LoRaPHYEU868.h Source File

LoRaPHYEU868.h

Go to the documentation of this file.
00001 /**
00002  *  @file LoRaPHYEU868.h
00003  *
00004  *  @brief Implements LoRaPHY for European 868 MHz band
00005  *
00006  *  \code
00007  *   ______                              _
00008  *  / _____)             _              | |
00009  * ( (____  _____ ____ _| |_ _____  ____| |__
00010  *  \____ \| ___ |    (_   _) ___ |/ ___)  _ \
00011  *  _____) ) ____| | | || |_| ____( (___| | | |
00012  * (______/|_____)_|_|_| \__)_____)\____)_| |_|
00013  *   (C)2013 Semtech
00014  *  ___ _____ _   ___ _  _____ ___  ___  ___ ___
00015  * / __|_   _/_\ / __| |/ / __/ _ \| _ \/ __| __|
00016  * \__ \ | |/ _ \ (__| ' <| _| (_) |   / (__| _|
00017  * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
00018  * embedded.connectivity.solutions===============
00019  *
00020  * \endcode
00021  *
00022  *
00023  * License: Revised BSD License, see LICENSE.TXT file include in the project
00024  *
00025  * Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
00026  *
00027  * Copyright (c) 2017, Arm Limited and affiliates.
00028  * SPDX-License-Identifier: BSD-3-Clause
00029  *
00030  */
00031 
00032 #ifndef MBED_OS_LORAPHY_EU868_H_
00033 #define MBED_OS_LORAPHY_EU868_H_
00034 
00035 #if !(DOXYGEN_ONLY)
00036 
00037 #include "LoRaPHY.h"
00038 
00039 /*!
00040  * LoRaMac maximum number of channels
00041  */
00042 #define EU868_MAX_NB_CHANNELS                       16
00043 
00044 /*!
00045  * Maximum number of bands
00046  *
00047  * We have broken down EU-868 MHz BAND 2 into two parts. That's why
00048  * total number of sub-bands is 6.
00049  * from 863 MHz to 865 MHz region is part of BAND 2, however
00050  * we call it Band-5 here. Duty cycle limit is 0.1 % in this sub band.
00051  */
00052 #define EU868_MAX_NB_BANDS                          6
00053 
00054 #define EU868_CHANNEL_MASK_SIZE                    1
00055 
00056 class LoRaPHYEU868 : public LoRaPHY {
00057 
00058 public:
00059     LoRaPHYEU868();
00060     virtual ~LoRaPHYEU868();
00061 
00062 private:
00063     /*!
00064      * LoRaMAC channels
00065      */
00066     channel_params_t channels[EU868_MAX_NB_CHANNELS];
00067 
00068     /*!
00069      * LoRaMac bands
00070      */
00071     band_t  bands[EU868_MAX_NB_BANDS];
00072 
00073     /*!
00074      * LoRaMac channels mask
00075      */
00076     uint16_t channel_mask[EU868_CHANNEL_MASK_SIZE];
00077 
00078     /*!
00079      * LoRaMac default channel mask
00080      */
00081     uint16_t default_channel_mask[EU868_CHANNEL_MASK_SIZE];
00082 };
00083 
00084 #endif /* DOXYGEN_ONLY*/
00085 #endif /* MBED_OS_LORAPHY_EU868_H_ */