Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Service.cpp@27:a1c37c596bfc, 2018-09-18 (annotated)
- Committer:
- lo
- Date:
- Tue Sep 18 19:54:51 2018 +0000
- Revision:
- 27:a1c37c596bfc
- Parent:
- 24:92c30dabfda4
- Child:
- 32:3bef9b81f639
disabled constructorr and added methods in Service
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
patrick_duc | 19:4b147d8f9164 | 1 | #include "Service.hpp" |
patrick_duc | 13:5414193da1de | 2 | |
patrick_duc | 20:b0281e8a375a | 3 | using namespace misnet; |
lo | 27:a1c37c596bfc | 4 | /* |
patrick_duc | 20:b0281e8a375a | 5 | Service::Service(DEVICE_TYPE type, |
patrick_duc | 20:b0281e8a375a | 6 | MISNET_CODE misnet_code, |
patrick_duc | 20:b0281e8a375a | 7 | STATE state, |
patrick_duc | 20:b0281e8a375a | 8 | ACCESS_TYPE access_type, |
patrick_duc | 20:b0281e8a375a | 9 | REQUEST_MODE request_mode, |
patrick_duc | 20:b0281e8a375a | 10 | UP_MODE up_mode, |
patrick_duc | 20:b0281e8a375a | 11 | ACCESS_PIN access_pins[6], |
patrick_duc | 24:92c30dabfda4 | 12 | uint32_t subsample_rate, |
patrick_duc | 24:92c30dabfda4 | 13 | Value& delta_threshold, |
patrick_duc | 24:92c30dabfda4 | 14 | Value& low_threshold_limit, |
patrick_duc | 24:92c30dabfda4 | 15 | Value& high_threshold_limit, |
patrick_duc | 20:b0281e8a375a | 16 | ACTION action, |
patrick_duc | 20:b0281e8a375a | 17 | OUTPUT_MODE output_mode, |
patrick_duc | 20:b0281e8a375a | 18 | std::string comment) |
patrick_duc | 20:b0281e8a375a | 19 | : device_type(type), misnet_code(misnet_code), state(state), |
patrick_duc | 20:b0281e8a375a | 20 | access_type(access_type), request_mode(request_mode), |
patrick_duc | 24:92c30dabfda4 | 21 | up_mode(up_mode), subsample_rate(subsample_rate), delta_threshold(delta_threshold), |
patrick_duc | 24:92c30dabfda4 | 22 | low_threshold_limit(low_threshold_limit), high_threshold_limit(high_threshold_limit), |
patrick_duc | 24:92c30dabfda4 | 23 | action(action), output_mode(output_mode), |
patrick_duc | 24:92c30dabfda4 | 24 | comment(comment), activation_nb(0) { |
patrick_duc | 13:5414193da1de | 25 | for (int i = 0; i < 6; i++) { |
patrick_duc | 13:5414193da1de | 26 | this->access_pins[i] = access_pins[i]; |
patrick_duc | 13:5414193da1de | 27 | } |
patrick_duc | 24:92c30dabfda4 | 28 | |
patrick_duc | 24:92c30dabfda4 | 29 | this->current_value._value.type = Value::NOT_SET; |
patrick_duc | 24:92c30dabfda4 | 30 | this->previous_value._value.type = Value::NOT_SET; |
patrick_duc | 20:b0281e8a375a | 31 | } |
lo | 27:a1c37c596bfc | 32 | */ |
patrick_duc | 20:b0281e8a375a | 33 | |
patrick_duc | 20:b0281e8a375a | 34 | bool Service::processHeartbeat() { |
patrick_duc | 20:b0281e8a375a | 35 | if (this->readyToSample()) { |
patrick_duc | 20:b0281e8a375a | 36 | //DEBUG("\tReady to sample !\n"); |
patrick_duc | 20:b0281e8a375a | 37 | this->activation_nb = 0; |
patrick_duc | 20:b0281e8a375a | 38 | return true; |
patrick_duc | 20:b0281e8a375a | 39 | } |
patrick_duc | 20:b0281e8a375a | 40 | |
patrick_duc | 20:b0281e8a375a | 41 | //DEBUG("\tNot ready to sample...\n"); |
patrick_duc | 20:b0281e8a375a | 42 | ++(this->activation_nb); |
patrick_duc | 20:b0281e8a375a | 43 | |
patrick_duc | 20:b0281e8a375a | 44 | return false; |
patrick_duc | 13:5414193da1de | 45 | } |
patrick_duc | 13:5414193da1de | 46 | |
patrick_duc | 20:b0281e8a375a | 47 | |
patrick_duc | 21:8524d815c587 | 48 | bool Service::valueToBeSentToGateway() { |
patrick_duc | 21:8524d815c587 | 49 | if (this->up_mode == Service::BY_RANGE) { |
patrick_duc | 24:92c30dabfda4 | 50 | DEBUG("About to compare value %s to low limit (%s) and high limit (%s)\n", |
patrick_duc | 24:92c30dabfda4 | 51 | this->current_value.toString().c_str(), this->low_threshold_limit.toString().c_str(), |
patrick_duc | 24:92c30dabfda4 | 52 | this->high_threshold_limit.toString().c_str()); |
patrick_duc | 21:8524d815c587 | 53 | return ((this->low_threshold_limit.compareTo(this->current_value) > 0) |
patrick_duc | 21:8524d815c587 | 54 | || (this->current_value.compareTo(this->high_threshold_limit) > 0)); |
patrick_duc | 21:8524d815c587 | 55 | } |
patrick_duc | 20:b0281e8a375a | 56 | |
patrick_duc | 21:8524d815c587 | 57 | if (this->up_mode == Service::BY_DELTA) { |
patrick_duc | 22:a5929d3668b6 | 58 | return this->current_value.isAbsoluteDifferenceValueGreaterThanDelta(this->previous_value, this->delta_threshold); |
patrick_duc | 21:8524d815c587 | 59 | } |
patrick_duc | 20:b0281e8a375a | 60 | |
patrick_duc | 21:8524d815c587 | 61 | return (this->current_value.isDifferentFrom(this->previous_value)); |
patrick_duc | 13:5414193da1de | 62 | } |