SRK Version of mDot LoRa_Sensormode_SRK

Dependencies:   libmDot mbed-rtos mbed

Fork of mDot_LoRa_Sensornode by Adrian Mitevski

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LoRaConfig.cpp Source File

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