And minor fixes.
Change-Id: Ica55c0708edd86d0aa37e7117b3c3fad551a0167
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
#include "can-bus.hpp"
#include "can-message.hpp"
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
/// @brief Class constructor
/// @param dev_name String representing the device name into the linux /dev tree
#include <condition_variable>
#include "openxc.pb.h"
-#include "utils/timer.hpp"
-#include "can/can-signals.hpp"
-#include "can/can-message.hpp"
-
-#include "low-can-binding.hpp"
-
+#include "../utils/timer.hpp"
+#include "can-signals.hpp"
+#include "can-message.hpp"
#include "can-bus-dev.hpp"
+#include "../low-can-binding.hpp"
+
// TODO actual max is 32 but dropped to 24 for memory considerations
#define MAX_ACCEPTANCE_FILTERS 24
// TODO this takes up a ton of memory
* limitations under the License.
*/
-#include "can/can-message.hpp"
+#include "can-message.hpp"
#include <cstring>
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
/********************************************************************************
*
#include <cstdint>
#include <linux/can.h>
-#include "utils/timer.hpp"
+#include "../utils/timer.hpp"
+#include "can-message-set.hpp"
#define CAN_MESSAGE_SIZE 8
#include <string>
#include "openxc.pb.h"
-#include "utils/timer.hpp"
-#include "can/can-bus.hpp"
-#include "can/can-message.hpp"
-#include "obd2/obd2-signals.hpp"
+#include "../utils/timer.hpp"
+#include "can-bus.hpp"
+#include "can-message.hpp"
+#include "../obd2/obd2-signals.hpp"
extern "C"
{
* limitations under the License.
*/
+#include "active-diagnostic-request.hpp"
+
active_diagnostic_request_t::active_diagnostic_request_t()
: can_bus_dev_{nullptr}, uint32_t id_{0}, DiagnosticRequestHandle{nullptr}, name_{""},
decoder_{nullptr}, callback_{nullptr}, reccuring_{false}, wait_for_multiple_responses_{false},
#include "uds/uds.h"
#include "uds/uds_types.h"
-#include "can/can-bus.hpp"
-#include "can/can-message.hpp"
+#include "../can/can-bus-dev.hpp"
+#include "../can/can-message.hpp"
+#include "diagnostic-manager.hpp"
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
class active_diagnostic_request_t;
-class can_bus_dev_t;
+class diagnostic_manager_t;
/* Public: The signature for an optional function that can apply the neccessary
* formula to translate the binary payload into meaningful data.
public:
active_diagnostic_request_t();
- void updateDiagnosticRequestEntry(DiagnosticsManager* manager, CanBus* bus, DiagnosticRequest* request,
- const char* name, bool waitForMultipleResponses, const DiagnosticResponseDecoder decoder,
+ void updateDiagnosticRequestEntry(diagnostic_manager_t* manager, can_bus_dev_t* bus, DiagnosticRequest* request,
+ const std::string name, bool wait_for_multiple_responses, const DiagnosticResponseDecoder decoder,
const DiagnosticResponseCallback callback, float frequencyHz);
};
* limitations under the License.
*/
-#include "obd2/diagnostic-manager.hpp"
+#include <algorithm>
+#include "diagnostic-manager.hpp"
+
+#include "uds/uds.h"
#include "../configuration.hpp"
-#include "../low-can-binding.hpp"
+
#define MAX_REQUEST_ENTRIES 50
diagnostic_manager_t::diagnostic_manager_t()
#pragma once
+#include <queue>
#include <vector>
#include "uds/uds.h"
-#include "can/can-bus-dev.hpp"
-#include "can/can-message.hpp"
-#include "obd2/active-diagnostic-request.hpp"
+#include "../can/can-bus-dev.hpp"
+#include "../can/can-message.hpp"
+#include "active-diagnostic-request.hpp"
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
/* Private: Each CAN bus needs its own set of shim functions, so this should
* match the maximum CAN controller count.
std::vector<active_diagnostic_request_t> free_request_entries_; /*!< freeRequestEntries - A list of all available slots for active diagnostic
* requests. This free list is backed by statically allocated entries in
* the requestListEntries attribute.*/
- std::vector<active_diagnostic_request_t> request_list_entries_ /*!< requestListEntries - Static allocation for all active diagnostic requests.*/
+ std::vector<active_diagnostic_request_t> request_list_entries_; /*!< requestListEntries - Static allocation for all active diagnostic requests.*/
bool initialized_; /*!< * initialized - True if the DiagnosticsManager has been initialized with shims. It will interface with the uds-c lib*/
void checkSupportedPids(const active_diagnostic_request_t& request,
const DiagnosticResponse& response, float parsedPayload);
- bool addRecurringRequest(DiagnosticRequest* request, const char* name,
+ bool add_request(DiagnosticRequest* request, const std::string name,
+ bool waitForMultipleResponses, const DiagnosticResponseDecoder decoder,
+ const DiagnosticResponseCallback callback);
+
+ bool add_recurring_request(DiagnosticRequest* request, const char* name,
bool waitForMultipleResponses, const DiagnosticResponseDecoder decoder,
const DiagnosticResponseCallback callback, float frequencyHz);
void reset();
-
- void add_request(int pid);
};
}
return false;
*/
-}
+ return false;
+}
void obd2_signal_t::add_request(int pid)
{
DiagnosticRequest request = {
arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID,
- mode: 0x1, has_pid: true, pid_ };
+ mode: 0x1, has_pid: true, pid: pid_ };
}
/**
#include <vector>
#include "uds/uds.h"
-#include "can/can-bus.hpp"
-#include "can/can-message.hpp"
+#include "../can/can-bus.hpp"
+#include "../can/can-message.hpp"
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
enum UNIT {
POURCENT,
* limitations under the License.
*/
-#include "utils/openxc-utils.hpp"
+#include "openxc-utils.hpp"
openxc_VehicleMessage build_VehicleMessage_with_SimpleMessage(openxc_DynamicField_Type type, const openxc_SimpleMessage& message)
{
public:
frequency_clock_t();
-}
\ No newline at end of file
+};
\ No newline at end of file