Steven Kramer / Mbed 2 deprecated mDot_LoRa_Sensornode_SRK

Dependencies:   libmDot mbed-rtos mbed

Fork of mDot_LoRa_Sensornode by Adrian Mitevski

Committer:
mitea1
Date:
Wed Jul 06 20:40:36 2016 +0000
Revision:
0:f2815503561f
Child:
1:fe242f3e341b
initial commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitea1 0:f2815503561f 1 /*
mitea1 0:f2815503561f 2 * LoRaConfig.cpp
mitea1 0:f2815503561f 3 *
mitea1 0:f2815503561f 4 * Created on: Jun 11, 2016
mitea1 0:f2815503561f 5 * Author: Adrian
mitea1 0:f2815503561f 6 */
mitea1 0:f2815503561f 7
mitea1 0:f2815503561f 8 #include "LoRaConfig.h"
mitea1 0:f2815503561f 9
mitea1 0:f2815503561f 10 //LoRaConfig::LoRaConfig(){
mitea1 0:f2815503561f 11 //
mitea1 0:f2815503561f 12 //}
mitea1 0:f2815503561f 13 //
mitea1 0:f2815503561f 14 //LoRaConfig::~LoRaConfig(){
mitea1 0:f2815503561f 15 //
mitea1 0:f2815503561f 16 //}
mitea1 0:f2815503561f 17
mitea1 0:f2815503561f 18 void LoRaConfig::build(LORA_MODE desiredMode){
mitea1 0:f2815503561f 19 setLORA_MODE(desiredMode);
mitea1 0:f2815503561f 20
mitea1 0:f2815503561f 21 switch(desiredMode){
mitea1 0:f2815503561f 22
mitea1 0:f2815503561f 23 case LORA_MODE_0_OFF:
mitea1 0:f2815503561f 24 setNetworkPublicity(true);
mitea1 0:f2815503561f 25 setActivity(false);
mitea1 0:f2815503561f 26 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 27 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 28 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 29 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 30 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 31 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 32 break;
mitea1 0:f2815503561f 33
mitea1 0:f2815503561f 34 case LORA_MODE_1:
mitea1 0:f2815503561f 35 setNetworkPublicity(true);
mitea1 0:f2815503561f 36 setActivity(true);
mitea1 0:f2815503561f 37 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 38 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 39 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 40 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 41 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 42 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 43 break;
mitea1 0:f2815503561f 44
mitea1 0:f2815503561f 45 case LORA_MODE_2:
mitea1 0:f2815503561f 46 setNetworkPublicity(true);
mitea1 0:f2815503561f 47 setActivity(true);
mitea1 0:f2815503561f 48 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 49 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 50 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 51 setSpreadingFactor(LORA_SPREADING_FACTOR_12);
mitea1 0:f2815503561f 52 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 53 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 54 break;
mitea1 0:f2815503561f 55
mitea1 0:f2815503561f 56 case LORA_MODE_3:
mitea1 0:f2815503561f 57 setNetworkPublicity(true);
mitea1 0:f2815503561f 58 setActivity(true);
mitea1 0:f2815503561f 59 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 60 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 61 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 62 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 63 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 64 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 65 break;
mitea1 0:f2815503561f 66
mitea1 0:f2815503561f 67 case LORA_MODE_4:
mitea1 0:f2815503561f 68 setNetworkPublicity(true);
mitea1 0:f2815503561f 69 setActivity(true);
mitea1 0:f2815503561f 70 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 71 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 72 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 73 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 74 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 75 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 76 break;
mitea1 0:f2815503561f 77
mitea1 0:f2815503561f 78 case LORA_MODE_5:
mitea1 0:f2815503561f 79 setNetworkPublicity(true);
mitea1 0:f2815503561f 80 setActivity(true);
mitea1 0:f2815503561f 81 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 82 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 83 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 84 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 85 setTxPowerdBm(LORA_TX_POWER_20_DBM);
mitea1 0:f2815503561f 86 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 87 break;
mitea1 0:f2815503561f 88
mitea1 0:f2815503561f 89 default:
mitea1 0:f2815503561f 90 setNetworkPublicity(true);
mitea1 0:f2815503561f 91 setActivity(false);
mitea1 0:f2815503561f 92 setNetworkName(LORA_NETWORK_NAME);
mitea1 0:f2815503561f 93 setNetworkPassphrase(LORA_NETWORK_PASSPHRASE);
mitea1 0:f2815503561f 94 setFrequencySubBand(LORA_SUBBAND_0);
mitea1 0:f2815503561f 95 setSpreadingFactor(LORA_SPREADING_FACTOR_7);
mitea1 0:f2815503561f 96 setTxPowerdBm(LORA_TX_POWER_16_DBM);
mitea1 0:f2815503561f 97 setAcknowledgeRetries(LORA_ACKNOWLEDGE_RETRIES_1);
mitea1 0:f2815503561f 98 break;
mitea1 0:f2815503561f 99 }
mitea1 0:f2815503561f 100 }
mitea1 0:f2815503561f 101
mitea1 0:f2815503561f 102 bool LoRaConfig::isPublic(){
mitea1 0:f2815503561f 103 return publicity;
mitea1 0:f2815503561f 104 }
mitea1 0:f2815503561f 105
mitea1 0:f2815503561f 106 bool LoRaConfig::isActiv(){
mitea1 0:f2815503561f 107 return activity;
mitea1 0:f2815503561f 108 }
mitea1 0:f2815503561f 109
mitea1 0:f2815503561f 110 std::string LoRaConfig::getNetworkName(){
mitea1 0:f2815503561f 111 return *networkName;
mitea1 0:f2815503561f 112 }
mitea1 0:f2815503561f 113
mitea1 0:f2815503561f 114 std::string LoRaConfig::getNetworkPassphrase(){
mitea1 0:f2815503561f 115 return *networkPassphrase;
mitea1 0:f2815503561f 116 }
mitea1 0:f2815503561f 117
mitea1 0:f2815503561f 118 uint8_t LoRaConfig::getFrequencySubBand(){
mitea1 0:f2815503561f 119 return frequencySubBand;
mitea1 0:f2815503561f 120 }
mitea1 0:f2815503561f 121
mitea1 0:f2815503561f 122 uint8_t LoRaConfig::getSpreadingFactor(){
mitea1 0:f2815503561f 123 return spreadingFactor;
mitea1 0:f2815503561f 124 }
mitea1 0:f2815503561f 125
mitea1 0:f2815503561f 126 uint8_t LoRaConfig::getTxPowerdBm(){
mitea1 0:f2815503561f 127 return txPowerdBm;
mitea1 0:f2815503561f 128 }
mitea1 0:f2815503561f 129
mitea1 0:f2815503561f 130 uint8_t LoRaConfig::getAcknowledgeRetries(){
mitea1 0:f2815503561f 131 return acknowledgeRetries;
mitea1 0:f2815503561f 132 }
mitea1 0:f2815503561f 133
mitea1 0:f2815503561f 134 LORA_MODE LoRaConfig::getLORA_MODE(){
mitea1 0:f2815503561f 135 return loraMode;
mitea1 0:f2815503561f 136 }
mitea1 0:f2815503561f 137
mitea1 0:f2815503561f 138 void LoRaConfig::setNetworkPublicity(bool publicity){
mitea1 0:f2815503561f 139 this->publicity = publicity;
mitea1 0:f2815503561f 140 }
mitea1 0:f2815503561f 141
mitea1 0:f2815503561f 142 void LoRaConfig::setActivity(bool activity){
mitea1 0:f2815503561f 143 this->activity = activity;
mitea1 0:f2815503561f 144 }
mitea1 0:f2815503561f 145
mitea1 0:f2815503561f 146 void LoRaConfig::setNetworkName(char* networkName){
mitea1 0:f2815503561f 147 this->networkName = new std::string(networkName);
mitea1 0:f2815503561f 148 }
mitea1 0:f2815503561f 149
mitea1 0:f2815503561f 150 void LoRaConfig::setNetworkPassphrase(char* networkPassphrase){
mitea1 0:f2815503561f 151 this->networkPassphrase = new std::string(networkPassphrase);
mitea1 0:f2815503561f 152 }
mitea1 0:f2815503561f 153
mitea1 0:f2815503561f 154 void LoRaConfig::setFrequencySubBand(uint8_t frequencySubBand){
mitea1 0:f2815503561f 155 this->frequencySubBand = frequencySubBand;
mitea1 0:f2815503561f 156 }
mitea1 0:f2815503561f 157
mitea1 0:f2815503561f 158 void LoRaConfig::setSpreadingFactor(uint8_t spreadingFactor){
mitea1 0:f2815503561f 159 this->spreadingFactor = spreadingFactor;
mitea1 0:f2815503561f 160 }
mitea1 0:f2815503561f 161
mitea1 0:f2815503561f 162 void LoRaConfig::setTxPowerdBm(uint8_t txPowerdBm){
mitea1 0:f2815503561f 163 this->txPowerdBm = txPowerdBm;
mitea1 0:f2815503561f 164 }
mitea1 0:f2815503561f 165
mitea1 0:f2815503561f 166 void LoRaConfig::setAcknowledgeRetries(uint8_t acknowledgeRetries){
mitea1 0:f2815503561f 167 this->acknowledgeRetries = acknowledgeRetries;
mitea1 0:f2815503561f 168 }
mitea1 0:f2815503561f 169
mitea1 0:f2815503561f 170 void LoRaConfig::setLORA_MODE(LORA_MODE loraMode){
mitea1 0:f2815503561f 171 this->loraMode = loraMode;
mitea1 0:f2815503561f 172 }
mitea1 0:f2815503561f 173
mitea1 0:f2815503561f 174