WizziLab / modem_ref_v5_3_217

Dependents:   modem_ref_helper_for_v5_3_217

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers lora.h Source File

lora.h

00001  /*
00002  / _____)             _              | |
00003 ( (____  _____ ____ _| |_ _____  ____| |__
00004  \____ \| ___ |    (_   _) ___ |/ ___)  _ \
00005  _____) ) ____| | | || |_| ____( (___| | | |
00006 (______/|_____)_|_|_| \__)_____)\____)_| |_|
00007     (C)2013 Semtech
00008 
00009 Description: LoRaMac classA device implementation
00010 
00011 License: Revised BSD License, see LICENSE.TXT file include in the project
00012 
00013 Maintainer: Miguel Luis, Gregory Cristian and Wael Guibene
00014 */
00015 /******************************************************************************
00016   * @file    lora.h
00017   * @author  MCD Application Team
00018   * @version V1.0.3
00019   * @date    01-January-2017
00020   * @brief   lora API to drive the lora state Machine
00021   ******************************************************************************
00022   * @attention
00023   *
00024   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics International N.V. 
00025   * All rights reserved.</center></h2>
00026   *
00027   * Redistribution and use in source and binary forms, with or without 
00028   * modification, are permitted, provided that the following conditions are met:
00029   *
00030   * 1. Redistribution of source code must retain the above copyright notice, 
00031   *    this list of conditions and the following disclaimer.
00032   * 2. Redistributions in binary form must reproduce the above copyright notice,
00033   *    this list of conditions and the following disclaimer in the documentation
00034   *    and/or other materials provided with the distribution.
00035   * 3. Neither the name of STMicroelectronics nor the names of other 
00036   *    contributors to this software may be used to endorse or promote products 
00037   *    derived from this software without specific written permission.
00038   * 4. This software, including modifications and/or derivative works of this 
00039   *    software, must execute solely and exclusively on microcontroller or
00040   *    microprocessor devices manufactured by or for STMicroelectronics.
00041   * 5. Redistribution and use of this software other than as permitted under 
00042   *    this license is void and will automatically terminate your rights under 
00043   *    this license. 
00044   *
00045   * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
00046   * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
00047   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
00048   * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
00049   * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
00050   * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00051   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00052   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
00053   * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
00054   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
00055   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00056   * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00057   *
00058   ******************************************************************************
00059   */
00060 /* Define to prevent recursive inclusion -------------------------------------*/
00061 
00062 #ifndef __LORA_MAIN_H__
00063 #define __LORA_MAIN_H__
00064 
00065 #ifdef __cplusplus
00066  extern "C" {
00067 #endif
00068    
00069 /* Includes ------------------------------------------------------------------*/
00070 //#include "Comissioning.h"
00071 //#include "LoRaMacCommon.h"
00072 //#include "LoRaMac-board.h"
00073 //
00074 TYPEDEF_STRUCT_PACKED {
00075     u8  activation_mode;
00076     // LoRaWAN device class
00077     u8  dev_class;
00078     u32 dev_address;
00079     u8  app_id[8];
00080     u8  app_key[16];
00081     u8  app_skey[16];
00082     u8  nw_skey[16];
00083     u32 nw_id;
00084     // Enable or disable a public network
00085     u8  nw_public;
00086     // Activation state of adaptativeDatarate
00087     u8  adr_enable;
00088     // Uplink datarate, if adr_enable is off
00089     s8  tx_datarate;
00090     // ISM Band
00091     u8  ism_band;
00092     // Number of join attempts;
00093     u8  join_trials;
00094 } lwan_cfg_t;
00095 
00096 /* Exported constants --------------------------------------------------------*/
00097 /* Exported types ------------------------------------------------------------*/
00098 
00099 /*!
00100  * LoRa ISM Bands 
00101  */
00102 typedef enum
00103 {
00104     ISM_BAND_470,
00105     ISM_BAND_780,
00106     ISM_BAND_433,
00107     ISM_BAND_868,
00108     ISM_BAND_915,
00109     ISM_BAND_QTY,
00110 
00111 } IsmBands_t;
00112 
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116 
00117 #endif /*__LORA_MAIN_H__*/
00118 
00119 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/