Advertisement
blastermak

processData Controllino

Sep 5th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. processData::processData(EthernetClient client){
  2.     _client = client;
  3. }
  4.  
  5. //Function to store data into own variables
  6. //Inputdata is gotten from XBee serial stream
  7. //
  8. void processData::storeData(String inputString){
  9.     // Serial.print("input: "); Serial.println(inputString);
  10.     if (inputString[0] == '#'){
  11.         int numSensor = inputString[1] - '0';
  12.         // Serial.print("numSensor: "); Serial.println(numSensor);
  13.         int delimiterIndex = 3;
  14.         for (int i = 0;i<numSensor;i++){
  15.             int end = inputString.indexOf('?',delimiterIndex);
  16.             // Serial.print("End: "); Serial.println(end);
  17.             // Serial.print("index: "); Serial.println(inputString.substring(delimiterIndex, end));
  18.             this->splitSensorData(inputString.substring(delimiterIndex, end));
  19.             delimiterIndex = end + 1;
  20.         }
  21.     }
  22.    
  23. }
  24.  
  25. void processData::splitSensorData(String inputString){
  26.     // Serial.print("input split: "); Serial.println(inputString);
  27.     int delimiterIndex = 0;
  28.     int end = inputString.indexOf('&', delimiterIndex);
  29.     this->_sensorId = inputString.substring(delimiterIndex, end);
  30.     Serial.print("sensorid: "); Serial.println(this->_sensorId);
  31.     delimiterIndex = end + 1;
  32.     end = inputString.indexOf('&',delimiterIndex);
  33.     // Serial.print("End: "); Serial.println(end);
  34.     this->_sensorType = inputString.substring(delimiterIndex, end);
  35.     // Serial.print("index: "); Serial.println(inputString.substring(delimiterIndex, end));
  36.     // Serial.print("sensortype: "); Serial.println(this->_sensorType);
  37.     delimiterIndex = end + 1;
  38.     // end = inputString.indexOf('&',delimiterIndex);
  39.     String sensorValue = inputString.substring(delimiterIndex,inputString.indexOf('#'));
  40.     if (sensorValue.indexOf('/') != -1){
  41.         this->_sensorValue1 = sensorValue.substring(0,sensorValue.indexOf('/'));
  42.         this->_sensorValue2 = sensorValue.substring(sensorValue.indexOf('/')+1,sensorValue.indexOf('#'));
  43.         // Serial.print("value1: "); Serial.println(this->_sensorValue1);
  44.         // Serial.print("value2: "); Serial.println(this->_sensorValue2);
  45.     } else {
  46.         this->_sensorValue1 = sensorValue;
  47.         this->_sensorValue2 = "";
  48.         // Serial.print("value1: "); Serial.println(this->_sensorValue1);
  49.     }
  50.     this->upload();
  51.     // this->postMQTT();
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement