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.
Diff: SDI12_device.h
- 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!";