Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Service.cpp@20:b0281e8a375a, 2018-09-02 (annotated)
- Committer:
- patrick_duc
- Date:
- Sun Sep 02 22:24:14 2018 +0000
- Revision:
- 20:b0281e8a375a
- Parent:
- 19:4b147d8f9164
- Child:
- 21:8524d815c587
Gestion de la liste des composants candidats pour ?chantillonnage et des valeurs lues sur les capteurs.
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; |
patrick_duc | 20:b0281e8a375a | 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 | 20:b0281e8a375a | 12 | uint32_t subsample_rate, |
patrick_duc | 20:b0281e8a375a | 13 | ACTION action, |
patrick_duc | 20:b0281e8a375a | 14 | OUTPUT_MODE output_mode, |
patrick_duc | 20:b0281e8a375a | 15 | std::string comment) |
patrick_duc | 20:b0281e8a375a | 16 | : device_type(type), misnet_code(misnet_code), state(state), |
patrick_duc | 20:b0281e8a375a | 17 | access_type(access_type), request_mode(request_mode), |
patrick_duc | 20:b0281e8a375a | 18 | up_mode(up_mode), action(action), output_mode(output_mode), |
patrick_duc | 20:b0281e8a375a | 19 | comment(comment), subsample_rate(subsample_rate), activation_nb(0) { |
patrick_duc | 13:5414193da1de | 20 | for (int i = 0; i < 6; i++) { |
patrick_duc | 13:5414193da1de | 21 | this->access_pins[i] = access_pins[i]; |
patrick_duc | 13:5414193da1de | 22 | } |
patrick_duc | 20:b0281e8a375a | 23 | } |
patrick_duc | 20:b0281e8a375a | 24 | |
patrick_duc | 20:b0281e8a375a | 25 | |
patrick_duc | 20:b0281e8a375a | 26 | bool Service::processHeartbeat() { |
patrick_duc | 20:b0281e8a375a | 27 | if (this->readyToSample()) { |
patrick_duc | 20:b0281e8a375a | 28 | //DEBUG("\tReady to sample !\n"); |
patrick_duc | 20:b0281e8a375a | 29 | this->activation_nb = 0; |
patrick_duc | 20:b0281e8a375a | 30 | return true; |
patrick_duc | 20:b0281e8a375a | 31 | } |
patrick_duc | 20:b0281e8a375a | 32 | |
patrick_duc | 20:b0281e8a375a | 33 | //DEBUG("\tNot ready to sample...\n"); |
patrick_duc | 20:b0281e8a375a | 34 | ++(this->activation_nb); |
patrick_duc | 20:b0281e8a375a | 35 | |
patrick_duc | 20:b0281e8a375a | 36 | return false; |
patrick_duc | 13:5414193da1de | 37 | } |
patrick_duc | 13:5414193da1de | 38 | |
patrick_duc | 20:b0281e8a375a | 39 | |
patrick_duc | 20:b0281e8a375a | 40 | std::string Service::getValueAsString(GENERIC_VALUE& value) { |
patrick_duc | 20:b0281e8a375a | 41 | std::ostringstream stringStream; |
patrick_duc | 20:b0281e8a375a | 42 | |
patrick_duc | 20:b0281e8a375a | 43 | switch (value.type) { |
patrick_duc | 20:b0281e8a375a | 44 | case Service::NOT_SET: |
patrick_duc | 20:b0281e8a375a | 45 | break; |
patrick_duc | 20:b0281e8a375a | 46 | |
patrick_duc | 20:b0281e8a375a | 47 | case Service::BOOLEAN: |
patrick_duc | 20:b0281e8a375a | 48 | stringStream << (this->current_value.value.bool_value ? "true" : "false"); |
patrick_duc | 20:b0281e8a375a | 49 | break; |
patrick_duc | 20:b0281e8a375a | 50 | |
patrick_duc | 20:b0281e8a375a | 51 | case Service::CHAR: |
patrick_duc | 20:b0281e8a375a | 52 | stringStream << this->current_value.value.char_value; |
patrick_duc | 20:b0281e8a375a | 53 | break; |
patrick_duc | 20:b0281e8a375a | 54 | |
patrick_duc | 20:b0281e8a375a | 55 | case Service::UINT8_T: |
patrick_duc | 20:b0281e8a375a | 56 | #ifdef TEST_ENVIRONMENT |
patrick_duc | 20:b0281e8a375a | 57 | stringStream << std::to_string(this->current_value.value.uint8_value); |
patrick_duc | 20:b0281e8a375a | 58 | #else |
patrick_duc | 20:b0281e8a375a | 59 | stringStream << this->current_value.value.uint8_value; |
patrick_duc | 20:b0281e8a375a | 60 | #endif |
patrick_duc | 20:b0281e8a375a | 61 | break; |
patrick_duc | 20:b0281e8a375a | 62 | |
patrick_duc | 20:b0281e8a375a | 63 | case Service::INT8_T: |
patrick_duc | 20:b0281e8a375a | 64 | #ifdef TEST_ENVIRONMENT |
patrick_duc | 20:b0281e8a375a | 65 | stringStream << std::to_string(this->current_value.value.int8_value); |
patrick_duc | 20:b0281e8a375a | 66 | #else |
patrick_duc | 20:b0281e8a375a | 67 | stringStream << this->current_value.value.int8_value; |
patrick_duc | 20:b0281e8a375a | 68 | #endif |
patrick_duc | 20:b0281e8a375a | 69 | break; |
patrick_duc | 20:b0281e8a375a | 70 | |
patrick_duc | 20:b0281e8a375a | 71 | case Service::UINT16_T: |
patrick_duc | 20:b0281e8a375a | 72 | stringStream << this->current_value.value.uint16_value; |
patrick_duc | 20:b0281e8a375a | 73 | break; |
patrick_duc | 20:b0281e8a375a | 74 | |
patrick_duc | 20:b0281e8a375a | 75 | case Service::INT16_T: |
patrick_duc | 20:b0281e8a375a | 76 | stringStream << this->current_value.value.int16_value; |
patrick_duc | 20:b0281e8a375a | 77 | break; |
patrick_duc | 20:b0281e8a375a | 78 | |
patrick_duc | 20:b0281e8a375a | 79 | case Service::UINT32_T: |
patrick_duc | 20:b0281e8a375a | 80 | stringStream << this->current_value.value.uint32_value; |
patrick_duc | 20:b0281e8a375a | 81 | break; |
patrick_duc | 20:b0281e8a375a | 82 | |
patrick_duc | 20:b0281e8a375a | 83 | case Service::INT32_T: |
patrick_duc | 20:b0281e8a375a | 84 | stringStream << this->current_value.value.int32_value; |
patrick_duc | 20:b0281e8a375a | 85 | break; |
patrick_duc | 20:b0281e8a375a | 86 | |
patrick_duc | 20:b0281e8a375a | 87 | case Service::FLOAT: |
patrick_duc | 20:b0281e8a375a | 88 | stringStream << this->current_value.value.float_value; |
patrick_duc | 20:b0281e8a375a | 89 | break; |
patrick_duc | 20:b0281e8a375a | 90 | |
patrick_duc | 20:b0281e8a375a | 91 | case Service::DOUBLE: |
patrick_duc | 20:b0281e8a375a | 92 | stringStream << this->current_value.value.double_value; |
patrick_duc | 20:b0281e8a375a | 93 | break; |
patrick_duc | 20:b0281e8a375a | 94 | |
patrick_duc | 20:b0281e8a375a | 95 | case Service::TIME: |
patrick_duc | 20:b0281e8a375a | 96 | stringStream << this->current_value.value.time_value; |
patrick_duc | 20:b0281e8a375a | 97 | break; |
patrick_duc | 20:b0281e8a375a | 98 | |
patrick_duc | 20:b0281e8a375a | 99 | default: |
patrick_duc | 20:b0281e8a375a | 100 | stringStream << "Value not set !"; |
patrick_duc | 20:b0281e8a375a | 101 | break; |
patrick_duc | 20:b0281e8a375a | 102 | } |
patrick_duc | 20:b0281e8a375a | 103 | |
patrick_duc | 20:b0281e8a375a | 104 | return stringStream.str(); |
patrick_duc | 13:5414193da1de | 105 | } |