X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flow-can-binding.cpp;h=ed1aa34c7ae274523c3e20aa25187386f92e25e7;hb=7b336475a398d37c4d5c4a534c87919263ae4b01;hp=d88ac996fce0e6c277defd739939938e609aa822;hpb=7591838644a3fcb5145b9ccc7200166debe7ba87;p=apps%2Fagl-service-can-low-level.git diff --git a/src/low-can-binding.cpp b/src/low-can-binding.cpp index d88ac996..ed1aa34c 100644 --- a/src/low-can-binding.cpp +++ b/src/low-can-binding.cpp @@ -139,8 +139,6 @@ static int subscribe_unsubscribe_signals(struct afb_req request, bool subscribe, // no matter what we want, worse case will be a fail unsubscription but at least we don't // poll a PID for nothing. if(found.front()->get_supported()) - subscribe = false; - if(subscribe) { float frequency = found.front()->get_frequency(); configuration_t::instance().get_diagnostic_manager().add_recurring_request( @@ -151,6 +149,8 @@ static int subscribe_unsubscribe_signals(struct afb_req request, bool subscribe, { configuration_t::instance().get_diagnostic_manager().cleanup_request( configuration_t::instance().get_diagnostic_manager().find_recurring_request(diag_req), true); + DEBUG(binder_interface, "Signal: %s isn't supported. Canceling operation.", sig.c_str()); + return -1; } } @@ -254,13 +254,15 @@ extern "C" /// Initialize CAN socket if(can_bus_manager.init_can_dev() == 0) + { can_bus_manager.start_threads(); - /// Initialize Diagnostic manager that will handle obd2 requests. - /// We pass by default the first CAN bus device to its Initialization. - /// TODO: be able to choose the CAN bus device that will be use as Diagnostic bus. - if(configuration_t::instance().get_diagnostic_manager().initialize()) - return 0; + /// Initialize Diagnostic manager that will handle obd2 requests. + /// We pass by default the first CAN bus device to its Initialization. + /// TODO: be able to choose the CAN bus device that will be use as Diagnostic bus. + if(configuration_t::instance().get_diagnostic_manager().initialize()) + return 0; + } ERROR(binder_interface, "There was something wrong with CAN device Initialization. Check your config file maybe"); return 1;