this is avaiable project
Fork of LoRaMacLib by
LoRaMac-board.h
- Committer:
- pzheng
- Date:
- 2016-04-19
- Revision:
- 11:29686c1ac910
- Parent:
- 10:66e623be7f8a
File content as of revision 11:29686c1ac910:
/* / _____) _ | | ( (____ _____ ____ _| |_ _____ ____| |__ \____ \| ___ | (_ _) ___ |/ ___) _ \ _____) ) ____| | | || |_| ____( (___| | | | (______/|_____)_|_|_| \__)_____)\____)_| |_| (C)2013 Semtech Description: LoRa MAC layer board dependent definitions License: Revised BSD License, see LICENSE.TXT file include in the project Maintainer: Miguel Luis and Gregory Cristian */ #ifndef __LORAMAC_BOARD_H__ #define __LORAMAC_BOARD_H__ /*! * LoRaMac maximum number of channels */ #define LORA_MAX_NB_CHANNELS 16 /*! * Minimal datarate that can be used by the node */ #define LORAMAC_MIN_DATARATE DR_0 /*! * Minimal datarate that can be used by the node */ #define LORAMAC_MAX_DATARATE DR_7 /*! * Default datarate used by the node */ #define LORAMAC_DEFAULT_DATARATE DR_0 /*! * Minimal Tx output power that can be used by the node */ #define LORAMAC_MIN_TX_POWER TX_POWER_02_DBM /*! * Minimal Tx output power that can be used by the node */ #define LORAMAC_MAX_TX_POWER TX_POWER_20_DBM /*! * Default Tx output power used by the node */ #define LORAMAC_DEFAULT_TX_POWER TX_POWER_14_DBM /*! * Returns individual channel mask * * \param[IN] channelIndex Channel index 1 based * \retval channelMask */ #define LC( channelIndex ) ( uint16_t )( 1 << ( channelIndex - 1 ) ) /*! * LoRaMac TxPower definition */ #define TX_POWER_20_DBM 0 #define TX_POWER_14_DBM 1 #define TX_POWER_11_DBM 2 #define TX_POWER_08_DBM 3 #define TX_POWER_05_DBM 4 #define TX_POWER_02_DBM 5 /*! * LoRaMac datarates definition */ #define DR_0 0 // SF12 - BW125 #define DR_1 1 // SF11 - BW125 #define DR_2 2 // SF10 - BW125 #define DR_3 3 // SF9 - BW125 #define DR_4 4 // SF8 - BW125 #define DR_5 5 // SF7 - BW125 #define DR_6 6 // SF7 - BW250 #define DR_7 7 // FSK /*! * LoRaMac default channels definition */ #if defined( USE_BAND_868 ) /*! * Second reception window channel definition. */ // Channel = { Frequency [Hz], Datarate } #define RX_WND_2_CHANNEL { 869525000, DR_3 } /*! * LoRaMac maximum number of bands */ #define LORA_MAX_NB_BANDS 5 /*! * LoRaMac EU868 default bands */ typedef enum { BAND_G1_0, BAND_G1_1, BAND_G1_2, BAND_G1_3, BAND_G1_4, }BandId_t; // Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff } #define BAND0 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 % #define BAND1 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 % #define BAND2 { 1000, TX_POWER_14_DBM, 0, 0 } // 0.1 % #define BAND3 { 10 , TX_POWER_14_DBM, 0, 0 } // 10.0 % #define BAND4 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 % /*! * LoRaMac default channels */ // Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band } #define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 } #define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 } #define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 } #define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC9 { 868900000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 } #elif defined( USE_BAND_915 ) /*! * Second reception window channel definition. */ // Channel = { Frequency [Hz], Datarate } #define RX_WND_2_CHANNEL { 923100000, DR_3 } /*! * LoRaMac maximum number of bands */ #define LORA_MAX_NB_BANDS 1 // Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff } #define BAND0 { 1, TX_POWER_14_DBM, 0, 0 } // 100.0 % /*! * LoRaMac default channels */ // Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band } #define LC1 { 920600000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC2 { 920800000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC3 { 921000000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } //Added by pzheng 20151203 #define LC4 { 921200000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC5 { 921400000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC6 { 921600000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC7 { 921800000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC8 { 922000000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC9 { 000000000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #elif defined( USE_BAND_433 ) /*! * Second reception window channel definition. */ // Channel = { Frequency [Hz], Datarate } #define RX_WND_2_CHANNEL { 434900000, DR_3 } /*! * LoRaMac maximum number of bands */ #define LORA_MAX_NB_BANDS 1 // Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff } #define BAND0 { 1, TX_POWER_14_DBM, 0, 0 } // 100.0 % /*! * LoRaMac default channels */ // Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band } #define LC1 { 433300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC2 { 433500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC3 { 433700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC4 { 433900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC5 { 434100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC6 { 434300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC7 { 434500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC8 { 434700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC9 { 000000000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } //Added by pzheng20151203 #elif defined( USE_BAND_470 ) /*! * Second reception window channel definition. */ // Channel = { Frequency [Hz], Datarate } #define RX_WND_2_CHANNEL { 471300000, DR_3 } /*! * LoRaMac maximum number of bands */ #define LORA_MAX_NB_BANDS 1 // Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff } #define BAND0 { 1, TX_POWER_14_DBM, 0, 0 } // 100.0 % /*! * LoRaMac default channels */ // Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band } #define LC1 { 471500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC2 { 471700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC3 { 471900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC4 { 472100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC5 { 472300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC6 { 472500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC7 { 472700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC8 { 472900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #define LC9 { 000000000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 } #else #error "Please define a frequency band in the compiler options." #endif #endif // __LORAMAC_BOARD_H__