Steven Kramer / Mbed 2 deprecated mDot_LoRa_Sensornode_SRK

Dependencies:   libmDot mbed-rtos mbed

Fork of mDot_LoRa_Sensornode by Adrian Mitevski

Revision:
1:fe242f3e341b
Parent:
0:f2815503561f
Child:
4:135e5ebdf555
--- a/app/LoRaConfig.cpp	Wed Jul 06 20:40:36 2016 +0000
+++ b/app/LoRaConfig.cpp	Fri Aug 12 11:19:14 2016 +0000
@@ -16,85 +16,84 @@
 //}
 
 void LoRaConfig::build(LORA_MODE desiredMode){
+
 	setLORA_MODE(desiredMode);
+	setNetworkName(LORA_NETWORK_NAME);
+	setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
+	setAppEUI();
+	setAppKey();
+	setDeviceEUI();
 
 	switch(desiredMode){
 
 		case LORA_MODE_0_OFF:
 			setNetworkPublicity(true);
 			setActivity(false);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 
 		case LORA_MODE_1:
 			setNetworkPublicity(true);
 			setActivity(true);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
-			setFrequencySubBand(LORA_SUBBAND_0);
-			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
+			setFrequencySubBand(LORA_SUBBAND_1);
+			setSpreadingFactor(LORA_SPREADING_FACTOR_8);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
-			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_0);
+			setJOIN_MODE(OTA);
 			break;
 
 		case LORA_MODE_2:
 			setNetworkPublicity(true);
 			setActivity(true);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_12);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 
 		case LORA_MODE_3:
 			setNetworkPublicity(true);
 			setActivity(true);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 
 		case LORA_MODE_4:
 			setNetworkPublicity(true);
 			setActivity(true);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 
 		case LORA_MODE_5:
 			setNetworkPublicity(true);
 			setActivity(true);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
 			setTxPowerdBm(LORA_TX_POWER_20_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 
 		default:
 			setNetworkPublicity(true);
 			setActivity(false);
-			setNetworkName(LORA_NETWORK_NAME);
-			setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
 			setFrequencySubBand(LORA_SUBBAND_0);
 			setSpreadingFactor(LORA_SPREADING_FACTOR_7);
 			setTxPowerdBm(LORA_TX_POWER_16_DBM);
 			setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
+			setJOIN_MODE(ABP);
 			break;
 	}
 }
@@ -115,6 +114,22 @@
 	return *networkPassphrase;
 }
 
+std::string LoRaConfig::getNetworkAddress(){
+	return *networkAddress;
+}
+
+std::vector<uint8_t> LoRaConfig::getAppEUI(){
+	return *appEUI;
+}
+
+std::vector<uint8_t> LoRaConfig::getAppKey(){
+	return *appKey;
+}
+
+std::vector<uint8_t> LoRaConfig::getDeviceEUI(){
+	return *deviceEUI;
+}
+
 uint8_t LoRaConfig::getFrequencySubBand(){
 	return frequencySubBand;
 }
@@ -135,6 +150,10 @@
 	return loraMode;
 }
 
+JOIN_MODE LoRaConfig::getJOIN_MODE(){
+	return joinMode;
+}
+
 void LoRaConfig::setNetworkPublicity(bool publicity){
 	this->publicity = publicity;
 }
@@ -151,6 +170,34 @@
 	this->networkPassphrase = new std::string(networkPassphrase);
 }
 
+void LoRaConfig::setNetworkAddress(char* networkAddress){
+	this->networkAddress = new std::string(networkAddress);
+}
+
+void LoRaConfig::setAppEUI(){
+	this->appEUI = new std::vector<uint8_t>();
+
+	for(int i = 0; i < 8; i++){
+		this->appEUI->push_back(LORA_APP_EUI[i]);
+	}
+}
+
+void LoRaConfig::setAppKey(){
+	this->appKey = new std::vector<uint8_t>();
+
+	for(int i = 0; i < 16; i++){
+		this->appKey->push_back(LORA_APP_KEY[i]);
+	}
+}
+
+void LoRaConfig::setDeviceEUI(){
+	this->deviceEUI = new std::vector<uint8_t>();
+
+	for(int i = 0; i < 8; i++){
+		this->deviceEUI->push_back(LORA_DEVICE_EUI[i]);
+	}
+}
+
 void LoRaConfig::setFrequencySubBand(uint8_t frequencySubBand){
 	this->frequencySubBand = frequencySubBand;
 }
@@ -171,4 +218,8 @@
 	this->loraMode = loraMode;
 }
 
+void LoRaConfig::setJOIN_MODE(JOIN_MODE joinMode){
+	this->joinMode = joinMode;
+}
 
+