Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LoRaPHYAU915.h
00001 /** 00002 * @file LoRaPHYAU915.h 00003 * 00004 * @brief Implements LoRaPHY for Australian 915 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_AU915_H_ 00033 00034 #define MBED_OS_LORAPHY_AU915_H_ 00035 00036 #include "LoRaPHY.h" 00037 00038 // Definitions 00039 /*! 00040 * LoRaMac maximum number of channels 00041 */ 00042 #define AU915_MAX_NB_CHANNELS 72 00043 00044 /*! 00045 * LoRaMac maximum number of bands 00046 */ 00047 #define AU915_MAX_NB_BANDS 1 00048 00049 #define AU915_CHANNEL_MASK_SIZE 5 00050 00051 00052 class LoRaPHYAU915 : public LoRaPHY{ 00053 00054 public: 00055 00056 LoRaPHYAU915(LoRaWANTimeHandler &lora_time); 00057 virtual ~LoRaPHYAU915(); 00058 00059 virtual bool rx_config(rx_config_params_t * config, int8_t* datarate); 00060 00061 virtual bool tx_config(tx_config_params_t* config, int8_t* txPower, 00062 lorawan_time_t* txTimeOnAir); 00063 00064 virtual uint8_t link_ADR_request(adr_req_params_t* params, 00065 int8_t* drOut, int8_t* txPowOut, 00066 uint8_t* nbRepOut, 00067 uint8_t* nbBytesParsed); 00068 00069 virtual uint8_t accept_rx_param_setup_req(rx_param_setup_req_t* params); 00070 00071 virtual int8_t get_alternate_DR(uint8_t nb_trials); 00072 00073 virtual lorawan_status_t set_next_channel(channel_selection_params_t* next_chan_params, 00074 uint8_t* channel, lorawan_time_t* time, 00075 lorawan_time_t* aggregate_timeoff); 00076 00077 virtual uint8_t apply_DR_offset(int8_t dr, int8_t dr_offset); 00078 00079 private: 00080 00081 /*! 00082 * LoRaMAC channels 00083 */ 00084 channel_params_t channels[AU915_MAX_NB_CHANNELS]; 00085 00086 /*! 00087 * LoRaMac bands 00088 */ 00089 band_t bands[AU915_MAX_NB_BANDS]; 00090 00091 /*! 00092 * LoRaMac channel mask 00093 */ 00094 uint16_t channel_mask[AU915_CHANNEL_MASK_SIZE]; 00095 00096 /*! 00097 * Previously used channel mask 00098 */ 00099 uint16_t current_channel_mask[AU915_CHANNEL_MASK_SIZE]; 00100 00101 /*! 00102 * LoRaMac channels default mask 00103 */ 00104 uint16_t default_channel_mask[AU915_CHANNEL_MASK_SIZE]; 00105 }; 00106 00107 #endif /* MBED_OS_LORAPHY_AU915_H_ */
Generated on Tue Jul 12 2022 14:23:51 by
