mirror of https://github.com/ARMmbed/mbed-os.git
83 lines
2.0 KiB
C++
83 lines
2.0 KiB
C++
/**
|
|
* @file LoRaPHYEU868.h
|
|
*
|
|
* @brief Implements LoRaPHY for European 868 MHz band
|
|
*
|
|
* \code
|
|
* ______ _
|
|
* / _____) _ | |
|
|
* ( (____ _____ ____ _| |_ _____ ____| |__
|
|
* \____ \| ___ | (_ _) ___ |/ ___) _ \
|
|
* _____) ) ____| | | || |_| ____( (___| | | |
|
|
* (______/|_____)_|_|_| \__)_____)\____)_| |_|
|
|
* (C)2013 Semtech
|
|
* ___ _____ _ ___ _ _____ ___ ___ ___ ___
|
|
* / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
|
|
* \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
|
|
* |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
|
|
* embedded.connectivity.solutions===============
|
|
*
|
|
* \endcode
|
|
*
|
|
*
|
|
* License: Revised BSD License, see LICENSE.TXT file include in the project
|
|
*
|
|
* Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
|
|
*
|
|
* Copyright (c) 2017, Arm Limited and affiliates.
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
*/
|
|
|
|
#ifndef MBED_OS_LORAPHY_EU868_H_
|
|
#define MBED_OS_LORAPHY_EU868_H_
|
|
|
|
#include "LoRaPHY.h"
|
|
|
|
/*!
|
|
* LoRaMac maximum number of channels
|
|
*/
|
|
#define EU868_MAX_NB_CHANNELS 16
|
|
|
|
/*!
|
|
* Maximum number of bands
|
|
*
|
|
* We have broken down EU-868 MHz BAND 2 into two parts. That's why
|
|
* total number of sub-bands is 6.
|
|
* from 863 MHz to 865 MHz region is part of BAND 2, however
|
|
* we call it Band-5 here. Duty cycle limit is 0.1 % in this sub band.
|
|
*/
|
|
#define EU868_MAX_NB_BANDS 6
|
|
|
|
#define EU868_CHANNEL_MASK_SIZE 1
|
|
|
|
class LoRaPHYEU868 : public LoRaPHY {
|
|
|
|
public:
|
|
LoRaPHYEU868(LoRaWANTimeHandler &lora_time);
|
|
virtual ~LoRaPHYEU868();
|
|
|
|
private:
|
|
/*!
|
|
* LoRaMAC channels
|
|
*/
|
|
channel_params_t channels[EU868_MAX_NB_CHANNELS];
|
|
|
|
/*!
|
|
* LoRaMac bands
|
|
*/
|
|
band_t bands[EU868_MAX_NB_BANDS];
|
|
|
|
/*!
|
|
* LoRaMac channels mask
|
|
*/
|
|
uint16_t channel_mask[EU868_CHANNEL_MASK_SIZE];
|
|
|
|
/*!
|
|
* LoRaMac default channel mask
|
|
*/
|
|
uint16_t default_channel_mask[EU868_CHANNEL_MASK_SIZE];
|
|
};
|
|
|
|
#endif /* MBED_OS_LORAPHY_EU868_H_ */
|