A multifunctional and modular Firmware for Multitech's mDot based on ARM mBed provides a widerange of functionality for several Sensors such as MAX44009, BME280, MPU9250, SI1143 and uBlox. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

Dependencies:   mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed

LoRa-Sensornode Firmware for Multitech mDot

A multifunctional and modular Firmware for Multitech's mDot which provides a widerange of functionality for several Sensors. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

/media/uploads/mitea1/logo-lora-600x370.png /media/uploads/mitea1/mt_mdot_family_642px.png

Supported Sensors

Idea

The Firmware has some predefined Application Modes running different Tasks(Measurements). Each mode can be used in a different Scenario. Application_Modes define which sensors are used, how often they aquire data and how often the data has to be sent via LoRa. Lets say you just want to measure the Light then you choose an Application_Mode (or define one) that only runs TaskLight for light measurement. As a standard all measurements are taken every second and sent via LoRa but you can change that interval depending on your usage Scenario

Committer:
mitea1
Date:
Fri Aug 12 11:19:14 2016 +0000
Revision:
1:fe242f3e341b
Parent:
0:f2815503561f
Child:
7:87cbeafdba06
added OTAA Join Mode for LoRa Connection

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitea1 0:f2815503561f 1 /*
mitea1 0:f2815503561f 2 * Application_MODE.cpp
mitea1 0:f2815503561f 3 *
mitea1 0:f2815503561f 4 * Created on: Jun 3, 2016
mitea1 0:f2815503561f 5 * Author: Adrian
mitea1 0:f2815503561f 6 */
mitea1 0:f2815503561f 7
mitea1 0:f2815503561f 8 #include "ApplicationConfig.h"
mitea1 0:f2815503561f 9
mitea1 0:f2815503561f 10 ApplicationConfig::ApplicationConfig() {
mitea1 0:f2815503561f 11
mitea1 0:f2815503561f 12 }
mitea1 0:f2815503561f 13
mitea1 0:f2815503561f 14 ApplicationConfig::~ApplicationConfig() {
mitea1 0:f2815503561f 15
mitea1 0:f2815503561f 16 }
mitea1 0:f2815503561f 17
mitea1 0:f2815503561f 18 void ApplicationConfig::build(APPLICATION_MODE desiredMode) {
mitea1 0:f2815503561f 19 switch (desiredMode) {
mitea1 0:f2815503561f 20 case APPLICATION_MODE_1:
mitea1 0:f2815503561f 21 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 22 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 23 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 24 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 25 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 26 setStateTaskGyroscope(RUNNING);
mitea1 0:f2815503561f 27 setStateTaskTesla(RUNNING);
mitea1 0:f2815503561f 28 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 29 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 30 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 31 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 32 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 33 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 34 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 35 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 36 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 37 break;
mitea1 0:f2815503561f 38 case APPLICATION_MODE_2:
mitea1 0:f2815503561f 39 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 40 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 41 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 42 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 43 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 44 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 45 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 46 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 47 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 48 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 49 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 50 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 51 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 52 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 53 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 54 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 55 break;
mitea1 0:f2815503561f 56 case APPLICATION_MODE_3:
mitea1 0:f2815503561f 57 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 58 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 59 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 60 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 61 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 62 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 63 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 64 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 65 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 66 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 67 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 68 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 69 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 70 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 71 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 72 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 73 break;
mitea1 0:f2815503561f 74 case APPLICATION_MODE_4:
mitea1 0:f2815503561f 75 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 76 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 77 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 78 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 79 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 80 setStateTaskGyroscope(RUNNING);
mitea1 0:f2815503561f 81 setStateTaskTesla(RUNNING);
mitea1 0:f2815503561f 82 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 83 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 84 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 85 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 86 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 87 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 88 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 89 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 90 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 91 break;
mitea1 0:f2815503561f 92 case APPLICATION_MODE_5:
mitea1 0:f2815503561f 93 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 94 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 95 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 96 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 97 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 98 setStateTaskGyroscope(RUNNING);
mitea1 0:f2815503561f 99 setStateTaskTesla(RUNNING);
mitea1 0:f2815503561f 100 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 101 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 102 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 103 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 104 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 105 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 106 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 107 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 108 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 109 break;
mitea1 0:f2815503561f 110 case APPLICATION_MODE_6:
mitea1 0:f2815503561f 111 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 112 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 113 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 114 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 115 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 116 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 117 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 118 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 119 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 120 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 121 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 122 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 123 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 124 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 125 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 126 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 127 break;
mitea1 0:f2815503561f 128 case APPLICATION_MODE_7:
mitea1 0:f2815503561f 129 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 130 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 131 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 132 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 133 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 134 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 135 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 136 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 137 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 138 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 139 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 140 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 141 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 142 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 143 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 144 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 145 break;
mitea1 0:f2815503561f 146 case APPLICATION_MODE_8:
mitea1 0:f2815503561f 147 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 148 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 149 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 150 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 151 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 152 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 153 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 154 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 155 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 156 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 157 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 158 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 159 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 160 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 161 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 162 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 163 break;
mitea1 0:f2815503561f 164 case APPLICATION_MODE_9:
mitea1 0:f2815503561f 165 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 166 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 167 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 168 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 169 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 170 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 171 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 172 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 173 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 174 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 175 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 176 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 177 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 178 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 179 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 180 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 181 break;
mitea1 0:f2815503561f 182 case APPLICATION_MODE_10:
mitea1 0:f2815503561f 183 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 184 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 185 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 186 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 187 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 188 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 189 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 190 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 191 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 192 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 193 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 194 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 195 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 196 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 197 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 198 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 199 break;
mitea1 0:f2815503561f 200 case APPLICATION_MODE_11:
mitea1 0:f2815503561f 201 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 202 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 203 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 204 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 205 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 206 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 207 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 208 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 209 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 210 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 211 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 212 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 213 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 214 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 215 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 216 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 217 break;
mitea1 0:f2815503561f 218 case APPLICATION_MODE_99:
mitea1 0:f2815503561f 219 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 220 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 221 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 222 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 223 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 224 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 225 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 226 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 227 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 228 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 229 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 230 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 231 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 232 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 233 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 234 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 235 break;
mitea1 0:f2815503561f 236 case APPLICATION_MODE_TEST:
mitea1 0:f2815503561f 237 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 238 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 239 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 240 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 241 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 242 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 243 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 244 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 245 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 246 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 247 setMAX44009_MODE(MAX44009_MODE_4);
mitea1 0:f2815503561f 248 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 249 setMPU9250_MODE(MPU9250_MODE_4);
mitea1 0:f2815503561f 250 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 251 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 252 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 253 break;
mitea1 0:f2815503561f 254 case APPLICATION_MODE_TEST_MAX44009:
mitea1 0:f2815503561f 255 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 256 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 257 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 258 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 259 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 260 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 261 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 262 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 263 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 264 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 265 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 266 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 267 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 268 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 269 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 270 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 271 break;
mitea1 0:f2815503561f 272 case APPLICATION_MODE_TEST_BME280:
mitea1 0:f2815503561f 273 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 274 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 275 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 276 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 277 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 278 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 279 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 280 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 281 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 282 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 283 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 284 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 285 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 286 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 287 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 288 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 289 break;
mitea1 0:f2815503561f 290 case APPLICATION_MODE_TEST_MPU9250:
mitea1 0:f2815503561f 291 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 292 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 293 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 294 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 295 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 296 setStateTaskGyroscope(RUNNING);
mitea1 0:f2815503561f 297 setStateTaskTesla(RUNNING);
mitea1 0:f2815503561f 298 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 299 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 300 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 301 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 302 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 303 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 304 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 305 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 306 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 307 break;
mitea1 0:f2815503561f 308 case APPLICATION_MODE_TEST_SI1143:
mitea1 0:f2815503561f 309 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 310 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 311 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 312 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 313 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 314 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 315 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 316 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 317 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 318 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 319 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 320 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 321 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 322 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 323 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 324 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 325 break;
mitea1 0:f2815503561f 326 case APPLICATION_MODE_TEST_uBlox:
mitea1 0:f2815503561f 327 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 328 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 329 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 330 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 331 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 332 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 333 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 334 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 335 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 336 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 337 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 338 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 339 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 340 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 341 setuBlox_MODE(uBLOX_MODE_0);
mitea1 0:f2815503561f 342 setLORA_MODE(LORA_MODE_0_OFF);
mitea1 0:f2815503561f 343 break;
mitea1 0:f2815503561f 344 case APPLICATION_MODE_LORA_MEASUREMENT:
mitea1 0:f2815503561f 345 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 346 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 347 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 348 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 349 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 350 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 351 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 352 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 353 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 354 setStateTaskLoRaMeasurement(RUNNING);
mitea1 0:f2815503561f 355 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 356 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 357 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 358 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 359 setuBlox_MODE(uBLOX_MODE_0);
mitea1 1:fe242f3e341b 360 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 361 break;
mitea1 0:f2815503561f 362 case WEATHER_MEASUREMENT:
mitea1 0:f2815503561f 363 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 364 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 365 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 366 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 367 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 368 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 369 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 370 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 371 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 372 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 373 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 374 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 375 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 376 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 377 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 378 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 379 break;
mitea1 0:f2815503561f 380 case ORIENTATATION_MEASUREMENT:
mitea1 0:f2815503561f 381 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 382 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 383 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 384 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 385 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 386 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 387 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 388 setStateTaskProximity(SLEEPING);
mitea1 0:f2815503561f 389 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 390 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 391 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 392 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 393 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 394 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 395 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 396 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 397 break;
mitea1 0:f2815503561f 398 case DISTANCE_MEASUREMENT:
mitea1 0:f2815503561f 399 setStateTaskLight(SLEEPING);
mitea1 0:f2815503561f 400 setStateTaskTemperature(SLEEPING);
mitea1 0:f2815503561f 401 setStateTaskPressure(SLEEPING);
mitea1 0:f2815503561f 402 setStateTaskHumidity(SLEEPING);
mitea1 0:f2815503561f 403 setStateTaskAcceleration(SLEEPING);
mitea1 0:f2815503561f 404 setStateTaskGyroscope(SLEEPING);
mitea1 0:f2815503561f 405 setStateTaskTesla(SLEEPING);
mitea1 0:f2815503561f 406 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 407 setStateTaskGPS(SLEEPING);
mitea1 0:f2815503561f 408 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 409 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 410 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 411 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 412 setSI1143_MODE(SI1143_MODE_3);
mitea1 0:f2815503561f 413 setuBlox_MODE(uBLOX_MODE_3);
mitea1 0:f2815503561f 414 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 415 break;
mitea1 0:f2815503561f 416
mitea1 0:f2815503561f 417 default:
mitea1 0:f2815503561f 418 setStateTaskLight(RUNNING);
mitea1 0:f2815503561f 419 setStateTaskTemperature(RUNNING);
mitea1 0:f2815503561f 420 setStateTaskPressure(RUNNING);
mitea1 0:f2815503561f 421 setStateTaskHumidity(RUNNING);
mitea1 0:f2815503561f 422 setStateTaskAcceleration(RUNNING);
mitea1 0:f2815503561f 423 setStateTaskGyroscope(RUNNING);
mitea1 0:f2815503561f 424 setStateTaskTesla(RUNNING);
mitea1 0:f2815503561f 425 setStateTaskProximity(RUNNING);
mitea1 0:f2815503561f 426 setStateTaskGPS(RUNNING);
mitea1 0:f2815503561f 427 setStateTaskLoRaMeasurement(SLEEPING);
mitea1 0:f2815503561f 428 setMAX44009_MODE(MAX44009_MODE_1);
mitea1 0:f2815503561f 429 setBME280_MODE(BME280_MODE_1);
mitea1 0:f2815503561f 430 setMPU9250_MODE(MPU9250_MODE_1);
mitea1 0:f2815503561f 431 setSI1143_MODE(SI1143_MODE_1);
mitea1 0:f2815503561f 432 setuBlox_MODE(uBLOX_MODE_1);
mitea1 0:f2815503561f 433 setLORA_MODE(LORA_MODE_1);
mitea1 0:f2815503561f 434 break;
mitea1 0:f2815503561f 435 }
mitea1 0:f2815503561f 436 }
mitea1 0:f2815503561f 437
mitea1 0:f2815503561f 438 MAX44009_MODE ApplicationConfig::getMAX44009_MODE() {
mitea1 0:f2815503561f 439 return max44009Mode;
mitea1 0:f2815503561f 440 }
mitea1 0:f2815503561f 441
mitea1 0:f2815503561f 442 BME280_MODE ApplicationConfig::getBME280_MODE() {
mitea1 0:f2815503561f 443 return bme280Mode;
mitea1 0:f2815503561f 444 }
mitea1 0:f2815503561f 445
mitea1 0:f2815503561f 446 MPU9250_MODE ApplicationConfig::getMPU9250_MODE() {
mitea1 0:f2815503561f 447 return mpu9250Mode;
mitea1 0:f2815503561f 448 }
mitea1 0:f2815503561f 449
mitea1 0:f2815503561f 450 SI1143_MODE ApplicationConfig::getSI1143_MODE() {
mitea1 0:f2815503561f 451 return si1143Mode;
mitea1 0:f2815503561f 452 }
mitea1 0:f2815503561f 453
mitea1 0:f2815503561f 454 uBLOX_MODE ApplicationConfig::getuBlox_MODE() {
mitea1 0:f2815503561f 455 return ubloxMode;
mitea1 0:f2815503561f 456 }
mitea1 0:f2815503561f 457
mitea1 0:f2815503561f 458 LORA_MODE ApplicationConfig::getLORA_MODE(){
mitea1 0:f2815503561f 459 return loraMode;
mitea1 0:f2815503561f 460 }
mitea1 0:f2815503561f 461
mitea1 0:f2815503561f 462 TASK_STATE ApplicationConfig::getStateTaskLight(){
mitea1 0:f2815503561f 463 return stateTaskLight;
mitea1 0:f2815503561f 464 }
mitea1 0:f2815503561f 465
mitea1 0:f2815503561f 466 TASK_STATE ApplicationConfig::getStateTaskTemperature(){
mitea1 0:f2815503561f 467 return stateTaskTemperature;
mitea1 0:f2815503561f 468 }
mitea1 0:f2815503561f 469
mitea1 0:f2815503561f 470 TASK_STATE ApplicationConfig::getStateTaskPressure(){
mitea1 0:f2815503561f 471 return stateTaskPressure;
mitea1 0:f2815503561f 472 }
mitea1 0:f2815503561f 473
mitea1 0:f2815503561f 474 TASK_STATE ApplicationConfig::getStateTaskHumidity(){
mitea1 0:f2815503561f 475 return stateTaskHumidity;
mitea1 0:f2815503561f 476 }
mitea1 0:f2815503561f 477
mitea1 0:f2815503561f 478 TASK_STATE ApplicationConfig::getStateTaskAcceleration(){
mitea1 0:f2815503561f 479 return stateTaskAcceleration;
mitea1 0:f2815503561f 480 }
mitea1 0:f2815503561f 481
mitea1 0:f2815503561f 482 TASK_STATE ApplicationConfig::getStateTaskGyroscope(){
mitea1 0:f2815503561f 483 return stateTaskGyroscope;
mitea1 0:f2815503561f 484 }
mitea1 0:f2815503561f 485
mitea1 0:f2815503561f 486 TASK_STATE ApplicationConfig::getStateTaskTesla(){
mitea1 0:f2815503561f 487 return stateTaskTesla;
mitea1 0:f2815503561f 488 }
mitea1 0:f2815503561f 489
mitea1 0:f2815503561f 490 TASK_STATE ApplicationConfig::getStateTaskProximity(){
mitea1 0:f2815503561f 491 return stateTaskProximity;
mitea1 0:f2815503561f 492 }
mitea1 0:f2815503561f 493
mitea1 0:f2815503561f 494 TASK_STATE ApplicationConfig::getStateTaskGPS(){
mitea1 0:f2815503561f 495 return stateTaskGPS;
mitea1 0:f2815503561f 496 }
mitea1 0:f2815503561f 497
mitea1 0:f2815503561f 498 TASK_STATE ApplicationConfig::getStateTaskLoRaMeasurement(){
mitea1 0:f2815503561f 499 return stateTaskLoraMeasurement;
mitea1 0:f2815503561f 500 }
mitea1 0:f2815503561f 501
mitea1 0:f2815503561f 502 LORA_STATE ApplicationConfig::getStateLoRa(){
mitea1 0:f2815503561f 503 //TODO implement usage of this function
mitea1 0:f2815503561f 504 return stateLoRa;
mitea1 0:f2815503561f 505 }
mitea1 0:f2815503561f 506
mitea1 0:f2815503561f 507 void ApplicationConfig::setMAX44009_MODE(MAX44009_MODE max44009Mode) {
mitea1 0:f2815503561f 508 this->max44009Mode = max44009Mode;
mitea1 0:f2815503561f 509 }
mitea1 0:f2815503561f 510
mitea1 0:f2815503561f 511 void ApplicationConfig::setBME280_MODE(BME280_MODE bme280Mode) {
mitea1 0:f2815503561f 512 this->bme280Mode = bme280Mode;
mitea1 0:f2815503561f 513 }
mitea1 0:f2815503561f 514
mitea1 0:f2815503561f 515 void ApplicationConfig::setMPU9250_MODE(MPU9250_MODE mpu9250Mode) {
mitea1 0:f2815503561f 516 this->mpu9250Mode = mpu9250Mode;
mitea1 0:f2815503561f 517 }
mitea1 0:f2815503561f 518
mitea1 0:f2815503561f 519 void ApplicationConfig::setSI1143_MODE(SI1143_MODE si1143Mode) {
mitea1 0:f2815503561f 520 this->si1143Mode = si1143Mode;
mitea1 0:f2815503561f 521 }
mitea1 0:f2815503561f 522
mitea1 0:f2815503561f 523 void ApplicationConfig::setuBlox_MODE(uBLOX_MODE ubloxMode) {
mitea1 0:f2815503561f 524 this->ubloxMode = ubloxMode;
mitea1 0:f2815503561f 525 }
mitea1 0:f2815503561f 526
mitea1 0:f2815503561f 527 void ApplicationConfig::setLORA_MODE(LORA_MODE loraMode){
mitea1 0:f2815503561f 528 this->loraMode = loraMode;
mitea1 0:f2815503561f 529 }
mitea1 0:f2815503561f 530
mitea1 0:f2815503561f 531 void ApplicationConfig::setStateTaskLight(TASK_STATE _stateTaskLight){
mitea1 0:f2815503561f 532 this->stateTaskLight = _stateTaskLight;
mitea1 0:f2815503561f 533 }
mitea1 0:f2815503561f 534
mitea1 0:f2815503561f 535 void ApplicationConfig::setStateTaskTemperature(TASK_STATE _stateTaskTemperature){
mitea1 0:f2815503561f 536 this->stateTaskTemperature = _stateTaskTemperature;
mitea1 0:f2815503561f 537 }
mitea1 0:f2815503561f 538
mitea1 0:f2815503561f 539 void ApplicationConfig::setStateTaskPressure(TASK_STATE _stateTaskPressure){
mitea1 0:f2815503561f 540 this->stateTaskPressure = _stateTaskPressure;
mitea1 0:f2815503561f 541 }
mitea1 0:f2815503561f 542
mitea1 0:f2815503561f 543 void ApplicationConfig::setStateTaskHumidity(TASK_STATE stateTaskHumidity){
mitea1 0:f2815503561f 544 this->stateTaskHumidity = stateTaskHumidity;
mitea1 0:f2815503561f 545 }
mitea1 0:f2815503561f 546
mitea1 0:f2815503561f 547 void ApplicationConfig::setStateTaskAcceleration(TASK_STATE stateTaskAcceleration){
mitea1 0:f2815503561f 548 this->stateTaskAcceleration = stateTaskAcceleration;
mitea1 0:f2815503561f 549 }
mitea1 0:f2815503561f 550
mitea1 0:f2815503561f 551 void ApplicationConfig::setStateTaskGyroscope(TASK_STATE stateTaskGyroscope){
mitea1 0:f2815503561f 552 this->stateTaskGyroscope = stateTaskGyroscope;
mitea1 0:f2815503561f 553 }
mitea1 0:f2815503561f 554
mitea1 0:f2815503561f 555 void ApplicationConfig::setStateTaskTesla(TASK_STATE stateTaskTesla){
mitea1 0:f2815503561f 556 this->stateTaskTesla = stateTaskTesla;
mitea1 0:f2815503561f 557 }
mitea1 0:f2815503561f 558
mitea1 0:f2815503561f 559 void ApplicationConfig::setStateTaskProximity(TASK_STATE stateTaskProximity){
mitea1 0:f2815503561f 560 this->stateTaskProximity = stateTaskProximity;
mitea1 0:f2815503561f 561 }
mitea1 0:f2815503561f 562
mitea1 0:f2815503561f 563 void ApplicationConfig::setStateTaskGPS(TASK_STATE stateTaskGPS){
mitea1 0:f2815503561f 564 this->stateTaskGPS = stateTaskGPS;
mitea1 0:f2815503561f 565 }
mitea1 0:f2815503561f 566
mitea1 0:f2815503561f 567 void ApplicationConfig::setStateTaskLoRaMeasurement(TASK_STATE stateTaskLoRaMeasurement){
mitea1 0:f2815503561f 568 this->stateTaskLoraMeasurement = stateTaskLoRaMeasurement;
mitea1 0:f2815503561f 569 }
mitea1 0:f2815503561f 570
mitea1 0:f2815503561f 571 void ApplicationConfig::setStateLoRa(LORA_STATE stateLoRa){
mitea1 0:f2815503561f 572 //TODO implement usage of this function
mitea1 0:f2815503561f 573 this->stateLoRa = stateLoRa;
mitea1 0:f2815503561f 574 }
mitea1 0:f2815503561f 575
mitea1 0:f2815503561f 576