Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Component.hpp@37:b565750d9978, 2018-10-16 (annotated)
- Committer:
- patrick_duc
- Date:
- Tue Oct 16 11:28:33 2018 +0000
- Branch:
- Integration
- Revision:
- 37:b565750d9978
- Parent:
- 32:3bef9b81f639
- Child:
- 38:9b43b2415093
Suite d'integration
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
patrick_duc | 13:5414193da1de | 1 | #ifndef __COMPONENT_HPP__ |
patrick_duc | 13:5414193da1de | 2 | #define __COMPONENT_HPP__ |
patrick_duc | 13:5414193da1de | 3 | |
patrick_duc | 20:b0281e8a375a | 4 | #include "Context.h" |
patrick_duc | 20:b0281e8a375a | 5 | |
patrick_duc | 37:b565750d9978 | 6 | |
patrick_duc | 13:5414193da1de | 7 | #include <vector> |
patrick_duc | 20:b0281e8a375a | 8 | #include <sstream> |
patrick_duc | 20:b0281e8a375a | 9 | |
patrick_duc | 19:4b147d8f9164 | 10 | #include "Service.hpp" |
patrick_duc | 13:5414193da1de | 11 | |
patrick_duc | 20:b0281e8a375a | 12 | |
patrick_duc | 20:b0281e8a375a | 13 | namespace misnet { |
patrick_duc | 20:b0281e8a375a | 14 | class Component; |
patrick_duc | 20:b0281e8a375a | 15 | } |
patrick_duc | 20:b0281e8a375a | 16 | |
patrick_duc | 37:b565750d9978 | 17 | class misnet::Component { |
patrick_duc | 37:b565750d9978 | 18 | public: |
patrick_duc | 20:b0281e8a375a | 19 | |
patrick_duc | 37:b565750d9978 | 20 | enum COMPONENT_ID { |
patrick_duc | 37:b565750d9978 | 21 | HTS221 = 1, |
patrick_duc | 37:b565750d9978 | 22 | LPS22HB = 2, |
patrick_duc | 37:b565750d9978 | 23 | LSM303A = 3, |
patrick_duc | 37:b565750d9978 | 24 | LSM6DSL = 4, |
patrick_duc | 37:b565750d9978 | 25 | BME280 = 5, |
patrick_duc | 37:b565750d9978 | 26 | DS18B20 = 6 |
patrick_duc | 37:b565750d9978 | 27 | }; |
patrick_duc | 37:b565750d9978 | 28 | |
patrick_duc | 37:b565750d9978 | 29 | Component(COMPONENT_ID id, std::vector<misnet::Service*>& services) { |
patrick_duc | 37:b565750d9978 | 30 | this->id = id; |
patrick_duc | 37:b565750d9978 | 31 | this->services = services; |
patrick_duc | 37:b565750d9978 | 32 | } |
patrick_duc | 37:b565750d9978 | 33 | |
patrick_duc | 37:b565750d9978 | 34 | std::vector<misnet::Service*>& getServices() { |
patrick_duc | 37:b565750d9978 | 35 | return this->services; |
patrick_duc | 37:b565750d9978 | 36 | } |
patrick_duc | 13:5414193da1de | 37 | |
patrick_duc | 37:b565750d9978 | 38 | COMPONENT_ID getId() { |
patrick_duc | 37:b565750d9978 | 39 | return this->id; |
patrick_duc | 37:b565750d9978 | 40 | } |
patrick_duc | 37:b565750d9978 | 41 | |
patrick_duc | 37:b565750d9978 | 42 | // Loop on all component services to read their value |
patrick_duc | 37:b565750d9978 | 43 | void readValues(std::vector<misnet::Service *> servicesWithAsynchronousRead) { |
patrick_duc | 37:b565750d9978 | 44 | for (std::vector<misnet::Service*>::iterator |
patrick_duc | 37:b565750d9978 | 45 | srvIt = this->services.begin(); |
patrick_duc | 37:b565750d9978 | 46 | srvIt != this->services.end(); |
patrick_duc | 37:b565750d9978 | 47 | srvIt++) { |
patrick_duc | 37:b565750d9978 | 48 | (*srvIt)->readValue(servicesWithAsynchronousRead); |
patrick_duc | 13:5414193da1de | 49 | } |
patrick_duc | 37:b565750d9978 | 50 | } |
patrick_duc | 37:b565750d9978 | 51 | |
patrick_duc | 37:b565750d9978 | 52 | std::string toString() { |
patrick_duc | 37:b565750d9978 | 53 | std::ostringstream stringStream; |
patrick_duc | 37:b565750d9978 | 54 | stringStream << "Component id : " << this->id << std::endl; |
patrick_duc | 37:b565750d9978 | 55 | |
patrick_duc | 37:b565750d9978 | 56 | for (std::vector<misnet::Service*>::iterator it = services.begin(); it != services.end(); it++) { |
patrick_duc | 37:b565750d9978 | 57 | misnet::Service * service = *it; |
patrick_duc | 37:b565750d9978 | 58 | stringStream << service->toString() << std::endl; |
patrick_duc | 13:5414193da1de | 59 | } |
patrick_duc | 13:5414193da1de | 60 | |
patrick_duc | 37:b565750d9978 | 61 | return stringStream.str(); |
patrick_duc | 37:b565750d9978 | 62 | } |
patrick_duc | 13:5414193da1de | 63 | |
patrick_duc | 13:5414193da1de | 64 | |
patrick_duc | 37:b565750d9978 | 65 | private: |
patrick_duc | 37:b565750d9978 | 66 | COMPONENT_ID id; |
patrick_duc | 37:b565750d9978 | 67 | std::vector<misnet::Service*> services; |
patrick_duc | 13:5414193da1de | 68 | }; |
patrick_duc | 13:5414193da1de | 69 | |
patrick_duc | 37:b565750d9978 | 70 | #endif // __COMPONENT_HPP__ |