Code Review
/
apps
/
agl-service-can-low-level.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
sign: handle decode methods sign from can value
[apps/agl-service-can-low-level.git]
/
low-can-binding
/
diagnostic
/
diagnostic-manager.cpp
diff --git
a/low-can-binding/diagnostic/diagnostic-manager.cpp
b/low-can-binding/diagnostic/diagnostic-manager.cpp
index
ad1f3a7
..
f3c513c
100644
(file)
--- a/
low-can-binding/diagnostic/diagnostic-manager.cpp
+++ b/
low-can-binding/diagnostic/diagnostic-manager.cpp
@@
-56,16
+56,19
@@
diagnostic_manager_t::~diagnostic_manager_t()
///
/// this will initialize DiagnosticShims and cancel all active requests
/// if there are any.
///
/// this will initialize DiagnosticShims and cancel all active requests
/// if there are any.
-bool diagnostic_manager_t::initialize()
+bool diagnostic_manager_t::initialize(
std::string diagnostic_bus
)
{
{
- // Mandatory to set the bus before intialize shims.
- bus_ = application_t::instance().get_diagnostic_bus();
-
- init_diagnostic_shims();
- reset();
+ if (! diagnostic_bus.empty())
+ {
+ bus_ = diagnostic_bus;
+
init_diagnostic_shims();
+
reset();
- initialized_ = true;
- AFB_DEBUG("Diagnostic Manager initialized");
+ AFB_DEBUG("Diagnostic Manager initialized");
+ initialized_ = true;
+ return initialized_;
+ }
+ AFB_ERROR("Diagnostic Manager missing its bus name in the config");
return initialized_;
}
return initialized_;
}
@@
-256,7
+259,7
@@
active_diagnostic_request_t* diagnostic_manager_t::find_recurring_request(Diagno
if(entry != nullptr)
{
if(diagnostic_request_equals(&entry->get_handle()->request, &request))
if(entry != nullptr)
{
if(diagnostic_request_equals(&entry->get_handle()->request, &request))
- {return entry;}
+ return entry;
}
}
return nullptr;
}
}
return nullptr;
@@
-390,7
+393,7
@@
active_diagnostic_request_t* diagnostic_manager_t::add_recurring_request(Diagnos
}
}
else
}
}
else
- { AFB_DEBUG("Can't add request, one already exists with same key");}
+ AFB_DEBUG("Can't add request, one already exists with same key");
return entry;
}
return entry;
}
@@
-409,9
+412,7
@@
openxc_VehicleMessage diagnostic_manager_t::relay_diagnostic_response(active_dia
found_signals = utils::signals_manager_t::instance().find_signals(build_DynamicField((double) adr->get_pid()));
if(adr->get_decoder() != nullptr)
found_signals = utils::signals_manager_t::instance().find_signals(build_DynamicField((double) adr->get_pid()));
if(adr->get_decoder() != nullptr)
- {
value = adr->get_decoder()(&response, value);
value = adr->get_decoder()(&response, value);
- }
if((response.success && adr->get_name().size()) > 0)
{
if((response.success && adr->get_name().size()) > 0)
{
@@
-440,9
+441,7
@@
openxc_VehicleMessage diagnostic_manager_t::relay_diagnostic_response(active_dia
}
if(adr->get_callback() != nullptr)
}
if(adr->get_callback() != nullptr)
- {
adr->get_callback()(adr, &response, value);
adr->get_callback()(adr, &response, value);
- }
// Reset the completed flag handle to make sure that it will be reprocessed the next time.
adr->get_handle()->success = false;
// Reset the completed flag handle to make sure that it will be reprocessed the next time.
adr->get_handle()->success = false;
@@
-526,7
+525,7
@@
openxc_VehicleMessage diagnostic_manager_t::find_and_decode_adr(std::shared_ptr<
/// @return True if the active diagnostic request match the response.
bool diagnostic_manager_t::is_diagnostic_response(std::shared_ptr<message_t> m)
{
/// @return True if the active diagnostic request match the response.
bool diagnostic_manager_t::is_diagnostic_response(std::shared_ptr<message_t> m)
{
- if(m->get_
msg_format() == message_format_t::STANDARD || m->get_msg_format() == message_format_t::EXTENDED
)
+ if(m->get_
id() & CAN_SFF_MASK || m->get_id() & CAN_EFF_MASK
)
{
if (m->get_id() >= 0x7e8 && m->get_id() <= 0x7ef)
return true;
{
if (m->get_id() >= 0x7e8 && m->get_id() <= 0x7ef)
return true;