SRK Version of mDot LoRa_Sensormode_SRK
Dependencies: libmDot mbed-rtos mbed
Fork of mDot_LoRa_Sensornode by
LoRaConfig.cpp
00001 /* 00002 * LoRaConfig.cpp 00003 * 00004 * Created on: Jun 11, 2016 00005 * Author: Adrian 00006 */ 00007 00008 #include "LoRaConfig.h " 00009 00010 //LoRaConfig::LoRaConfig(){ 00011 // 00012 //} 00013 // 00014 //LoRaConfig::~LoRaConfig(){ 00015 // 00016 //} 00017 00018 void LoRaConfig::build(LORA_MODE desiredMode){ 00019 00020 setLORA_MODE(desiredMode); 00021 setNetworkName(LORA_NETWORK_NAME); 00022 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE); 00023 setAppEUI(); 00024 setAppKey(); 00025 setDeviceEUI(); 00026 00027 switch(desiredMode){ 00028 00029 case LORA_MODE_0_OFF: 00030 setNetworkPublicity(true); 00031 setActivity(false); 00032 setFrequencySubBand(LORA_SUBBAND_0); 00033 setSpreadingFactor(LORA_SPREADING_FACTOR_7); 00034 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00035 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00036 setJOIN_MODE(ABP); 00037 break; 00038 00039 case LORA_MODE_1: 00040 setNetworkPublicity(true); 00041 setActivity(true); 00042 setFrequencySubBand(LORA_SUBBAND_2); 00043 setSpreadingFactor(LORA_SPREADING_FACTOR_8); 00044 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00045 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_0); 00046 setJOIN_MODE(OTA); 00047 break; 00048 00049 case LORA_MODE_2: 00050 setNetworkPublicity(true); 00051 setActivity(true); 00052 setFrequencySubBand(LORA_SUBBAND_0); 00053 setSpreadingFactor(LORA_SPREADING_FACTOR_12); 00054 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00055 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00056 setJOIN_MODE(ABP); 00057 break; 00058 00059 case LORA_MODE_3: 00060 setNetworkPublicity(true); 00061 setActivity(true); 00062 setFrequencySubBand(LORA_SUBBAND_0); 00063 setSpreadingFactor(LORA_SPREADING_FACTOR_7); 00064 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00065 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00066 setJOIN_MODE(ABP); 00067 break; 00068 00069 case LORA_MODE_4: 00070 setNetworkPublicity(true); 00071 setActivity(true); 00072 setFrequencySubBand(LORA_SUBBAND_0); 00073 setSpreadingFactor(LORA_SPREADING_FACTOR_7); 00074 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00075 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00076 setJOIN_MODE(ABP); 00077 break; 00078 00079 case LORA_MODE_5: 00080 setNetworkPublicity(true); 00081 setActivity(true); 00082 setFrequencySubBand(LORA_SUBBAND_0); 00083 setSpreadingFactor(LORA_SPREADING_FACTOR_7); 00084 setTxPowerdBm(LORA_TX_POWER_20_DBM); 00085 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00086 setJOIN_MODE(ABP); 00087 break; 00088 00089 default: 00090 setNetworkPublicity(true); 00091 setActivity(false); 00092 setFrequencySubBand(LORA_SUBBAND_0); 00093 setSpreadingFactor(LORA_SPREADING_FACTOR_7); 00094 setTxPowerdBm(LORA_TX_POWER_16_DBM); 00095 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1); 00096 setJOIN_MODE(ABP); 00097 break; 00098 } 00099 } 00100 00101 bool LoRaConfig::isPublic(){ 00102 return publicity; 00103 } 00104 00105 bool LoRaConfig::isActiv(){ 00106 return activity; 00107 } 00108 00109 std::string LoRaConfig::getNetworkName(){ 00110 return *networkName; 00111 } 00112 00113 std::string LoRaConfig::getNetworkPassphrase(){ 00114 return *networkPassphrase; 00115 } 00116 00117 std::string LoRaConfig::getNetworkAddress(){ 00118 return *networkAddress; 00119 } 00120 00121 std::vector<uint8_t> LoRaConfig::getAppEUI(){ 00122 return *appEUI; 00123 } 00124 00125 std::vector<uint8_t> LoRaConfig::getAppKey(){ 00126 return *appKey; 00127 } 00128 00129 std::vector<uint8_t> LoRaConfig::getDeviceEUI(){ 00130 return *deviceEUI; 00131 } 00132 00133 uint8_t LoRaConfig::getFrequencySubBand(){ 00134 return frequencySubBand; 00135 } 00136 00137 uint8_t LoRaConfig::getSpreadingFactor(){ 00138 return spreadingFactor; 00139 } 00140 00141 uint8_t LoRaConfig::getTxPowerdBm(){ 00142 return txPowerdBm; 00143 } 00144 00145 uint8_t LoRaConfig::getAcknowledgeRetries(){ 00146 return acknowledgeRetries; 00147 } 00148 00149 LORA_MODE LoRaConfig::getLORA_MODE(){ 00150 return loraMode; 00151 } 00152 00153 JOIN_MODE LoRaConfig::getJOIN_MODE(){ 00154 return joinMode; 00155 } 00156 00157 void LoRaConfig::setNetworkPublicity(bool publicity){ 00158 this->publicity = publicity; 00159 } 00160 00161 void LoRaConfig::setActivity(bool activity){ 00162 this->activity = activity; 00163 } 00164 00165 void LoRaConfig::setNetworkName(char* networkName){ 00166 this->networkName = new std::string(networkName); 00167 } 00168 00169 void LoRaConfig::setNetworkPassphrase(char* networkPassphrase){ 00170 this->networkPassphrase = new std::string(networkPassphrase); 00171 } 00172 00173 void LoRaConfig::setNetworkAddress(char* networkAddress){ 00174 this->networkAddress = new std::string(networkAddress); 00175 } 00176 00177 void LoRaConfig::setAppEUI(){ 00178 this->appEUI = new std::vector<uint8_t>(); 00179 00180 for(int i = 0; i < 8; i++){ 00181 this->appEUI->push_back(LORA_APP_EUI[i]); 00182 } 00183 } 00184 00185 void LoRaConfig::setAppKey(){ 00186 this->appKey = new std::vector<uint8_t>(); 00187 00188 for(int i = 0; i < 16; i++){ 00189 this->appKey->push_back(LORA_APP_KEY[i]); 00190 } 00191 } 00192 00193 void LoRaConfig::setDeviceEUI(){ 00194 this->deviceEUI = new std::vector<uint8_t>(); 00195 00196 for(int i = 0; i < 8; i++){ 00197 this->deviceEUI->push_back(LORA_DEVICE_EUI[i]); 00198 } 00199 } 00200 00201 void LoRaConfig::setFrequencySubBand(uint8_t frequencySubBand){ 00202 this->frequencySubBand = frequencySubBand; 00203 } 00204 00205 void LoRaConfig::setSpreadingFactor(uint8_t spreadingFactor){ 00206 this->spreadingFactor = spreadingFactor; 00207 } 00208 00209 void LoRaConfig::setTxPowerdBm(uint8_t txPowerdBm){ 00210 this->txPowerdBm = txPowerdBm; 00211 } 00212 00213 void LoRaConfig::setAcknowledgeRetries(uint8_t acknowledgeRetries){ 00214 this->acknowledgeRetries = acknowledgeRetries; 00215 } 00216 00217 void LoRaConfig::setLORA_MODE(LORA_MODE loraMode){ 00218 this->loraMode = loraMode; 00219 } 00220 00221 void LoRaConfig::setJOIN_MODE(JOIN_MODE joinMode){ 00222 this->joinMode = joinMode; 00223 } 00224 00225
Generated on Wed Jul 13 2022 09:23:47 by 1.7.2