Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: libmDot mbed-rtos mbed
Fork of mDot_LoRa_Sensornode by
app/LoRaConfig.cpp@0:f2815503561f, 2016-07-06 (annotated)
- 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?
| User | Revision | Line number | New 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 |
