Mateusz Grzywacz / SDI12_device
Revision:
18:365e8aa4002c
Parent:
17:5cabfc047b40
Child:
19:a29b98ae0005
--- a/SDI12_device.h	Tue Aug 07 11:42:28 2018 +0000
+++ b/SDI12_device.h	Tue Aug 07 16:36:17 2018 +0000
@@ -53,18 +53,8 @@
         debug("DEFAULT\r\n");
     }
 
-    SDI12_device (SDI12 *inst, char address, EventQueue &mainDispatcher) : _sdi12(inst) {
-        sensorQueue = &EventQueue(4*EVENTS_QUEUE_SIZE);
+    SDI12_device (SDI12 *inst, char address) : _sdi12(inst) {
         setAddress(address);
-        parentQueue = &mainDispatcher;
-        sensorQueue->chain(parentQueue);
-        if(getIdentification(_ident_struct));
-    };
-
-    SDI12_device (SDI12 *inst, char address) : _sdi12(inst) {
-        sensorQueue = NULL;
-        setAddress(address);
-        parentQueue = NULL;
         if(getIdentification(_ident_struct));
     };
 
@@ -74,20 +64,13 @@
         _ident_struct = old._ident_struct;
 //        _sdi12 = old._sdi12; // non-copyable -.-
 
-        _measurementEventId = old._measurementEventId;
         _measurement = old._measurement;
         _valuesReadyCount = old._valuesReadyCount;
         _measurementReady = old._measurementReady;
-
-        parentQueue = old.parentQueue;
-        sensorQueue = old.sensorQueue;
     }
 
     ~SDI12_device () {
         delete [] _measurement.values;
-        // unchain event queue
-//        sensorQueue.cancel(_measurementEventId);
-        if (sensorQueue != NULL) sensorQueue->chain(NULL);
     }
 
     // concurrent means that device under measurement won't signal its prempt readiness to the bus
@@ -124,8 +107,6 @@
             debug("wait for %d measurement for %d seconds...", _measurement.count, waitFor);
             _valuesReadyCount = 0;
             _measurementReady = false;
-            if (parentQueue != NULL)
-                _measurementEventId = sensorQueue->call_in(waitFor * 1000 + 500, callback(this, &SDI12_device::read), '0'); // + some [ms] for good measure, not to be too early
 //            debug("measurement scheduled");
 //            if (_measurement.values != NULL) delete[] _measurement.values;
 //            _measurement.values = new float[measurementsCount];
@@ -212,14 +193,10 @@
     SDI12 *_sdi12;
     char _address;
 
-    int _measurementEventId;
     Measurement_struct _measurement;
     size_t _valuesReadyCount;
     bool _measurementReady;
 
-    EventQueue *parentQueue;
-    EventQueue *sensorQueue;
-
     bool getIdentification(Identification_struct &ident) {
 //        _sdi12->sendCommand(std::string(_address) + "I!");
         std::string question = "?I!";