diag_mngr: No diagnostic msg if no diagnostic_bus 80/23380/3
authorRomain Forlot <romain.forlot@iot.bzh>
Thu, 12 Dec 2019 09:35:38 +0000 (10:35 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 9 Jan 2020 15:25:36 +0000 (16:25 +0100)
Change-Id: I840fc6cc7e9cfd171b03cac508fedb8ece4b976d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
low-can-binding/binding/application.cpp
low-can-binding/binding/low-can-cb.cpp

index 0b8963c..c5dfa1b 100644 (file)
@@ -71,10 +71,13 @@ int application_t::add_message_set(std::shared_ptr<message_set_t> new_message_se
                                        return -1;
                        }
 
-                       for(auto new_diag_msg : new_message_set->get_diagnostic_messages())
+                       if(diagnostic_manager_.is_initialized())
                        {
-                               if(old_msg_set->add_diagnostic_message(new_diag_msg) < 0)
-                                       return -1;
+                               for(auto new_diag_msg : new_message_set->get_diagnostic_messages())
+                               {
+                                       if(old_msg_set->add_diagnostic_message(new_diag_msg) < 0)
+                                               return -1;
+                               }
                        }
                        return 0;
                }
index 0bee7ef..5e03c75 100644 (file)
@@ -79,7 +79,7 @@ int config_low_can(afb_api_t apiHandle, CtlSectionT *section, json_object *json_
        /// Initialize Diagnostic manager that will handle obd2 requests.
        /// We pass by default the first CAN bus device to its Initialization.
        if(! diagnotic_bus || application_t::instance().get_diagnostic_manager().initialize(diagnotic_bus))
-               AFB_WARNING("Diagnostic Manager: not initialized");
+               AFB_WARNING("Diagnostic Manager: not initialized. No diagnostic messages will be processed.");
 
        return 0;
 }