Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

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?

UserRevisionLine numberNew 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 }