diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-12 19:38:49 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-16 17:10:41 +0100 |
commit | 24057b7fad6d4d1f1f264995d0f5865acf466004 (patch) | |
tree | ced9c92076a3f6c1e87f9aeb0312bfa2440fd3a1 /src/can | |
parent | 62eb024d989037ae7f2ba86de8b68c826cb61ec9 (diff) |
Make diagnostic manager initialization processus.
It is initiliazed with by default the first CAN bus
device in the CAN bus device list from CAN bus manager.
The object is instancied at configuration_t object first
invokation and after all CAN buses has been initialized then
the diag manager is initialized too.
Change-Id: I4894f2c62f575676c34efec3608b97de8c5326e1
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/can')
-rw-r--r-- | src/can/can-bus.cpp | 10 | ||||
-rw-r--r-- | src/can/can-bus.hpp | 6 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/can/can-bus.cpp b/src/can/can-bus.cpp index 7a18ce8..8edf5ba 100644 --- a/src/can/can-bus.cpp +++ b/src/can/can-bus.cpp @@ -186,13 +186,13 @@ int can_bus_t::init_can_dev() for(const auto& device : devices_name) { - can_devices_m_[device] = std::make_shared<can_bus_dev_t>(device, i); - if (can_devices_m_[device]->open() == 0) + can_devices_.push_back(std::make_shared<can_bus_dev_t>(device, i)); + if (can_devices_[i]->open() == 0) { i++; DEBUG(binder_interface, "Start reading thread"); NOTICE(binder_interface, "%s device opened and reading", device.c_str()); - can_devices_m_[device]->start_reading(*this); + can_devices_[i]->start_reading(*this); } else ERROR(binder_interface, "Can't open device %s", device.c_str()); @@ -349,8 +349,8 @@ void can_bus_t::push_new_vehicle_message(const openxc_VehicleMessage& v_msg) * * @return map can_bus_dev_m_ map */ -std::map<std::string, std::shared_ptr<can_bus_dev_t>> can_bus_t::get_can_devices() +const std::vector<std::shared_ptr<can_bus_dev_t>>& can_bus_t::get_can_devices() const { - return can_devices_m_; + return can_devices_; } diff --git a/src/can/can-bus.hpp b/src/can/can-bus.hpp index 17e60d2..d4d6d74 100644 --- a/src/can/can-bus.hpp +++ b/src/can/can-bus.hpp @@ -65,9 +65,9 @@ private: std::condition_variable new_decoded_can_message_; /// < condition_variable use to wait until there is a new vehicle message to read from the queue vehicle_message_q_ std::mutex decoded_can_message_mutex_; /// < mutex protecting the vehicle_message_q_ queue. - std::queue <openxc_VehicleMessage> vehicle_message_q_; /// < queue that'll store openxc_VehicleMessage to pushed + std::queue <openxc_VehicleMessage> vehicle_message_q_; /// < queue that'll store openxc_VehicleMessage to pushed - std::map<std::string, std::shared_ptr<can_bus_dev_t>> can_devices_m_; /// < Can device map containing all can_bus_dev_t objects initialized during init_can_dev function + std::vector<std::shared_ptr<can_bus_dev_t>> can_devices_; /// < Can device map containing all can_bus_dev_t objects initialized during init_can_dev function public: can_bus_t(int conf_file); @@ -87,6 +87,6 @@ public: openxc_VehicleMessage next_vehicle_message(); void push_new_vehicle_message(const openxc_VehicleMessage& v_msg); - std::map<std::string, std::shared_ptr<can_bus_dev_t>> get_can_devices(); + const std::vector<std::shared_ptr<can_bus_dev_t>>& get_can_devices() const; }; |