#include "obd2/diagnostic-manager.hpp"
-#include "low-can-binding.hpp"
+#include "../configuration.hpp"
+#include "../low-can-binding.hpp"
+
+diagnostic_manager_t::diagnostic_manager_t()
+{}
diagnostic_manager_t::diagnostic_manager_t(can_bus_dev_t& bus)
- : bus_(bus)
+ : bus_(&bus)
{}
-void diagnostic_manager_t::shims_logger(const char* m)
+bool shims_send(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size)
+{
+ can_bus_dev_t *can_bus_dev = config->get_diagnostic_manager().get_can_bus_dev();
+ return can_bus_dev->shims_send(arbitration_id, data, size);
+}
+
+void diagnostic_manager_t::shims_logger(const char* m, ...)
{
DEBUG(binder_interface, "%s", m);
}
void diagnostic_manager_t::shims_timer()
{}
+can_bus_dev_t* diagnostic_manager_t::get_can_bus_dev()
+{
+ return bus_;
+}
/**
* @brief initialize shims used by UDS lib and set initialized_ to true.
* It is needed before used the diagnostic manager fully because shims are
*/
void diagnostic_manager_t::init_diagnostic_shims()
{
- DiagnosticShims shims_ = diagnostic_init_shims(shims_logger, bus_.send_can_message, NULL);
+ DiagnosticShims shims_ = diagnostic_init_shims(shims_logger, shims_send, NULL);
initialized_ = true;
}
\ No newline at end of file