c8b0a561d4cd6e30f63acaa600e5464886b2eaaf
[apps/low-level-can-service.git] / src / isotp / isotp.c
1 #include <isotp/isotp.h>
2 #include <bitfield/bitfield.h>
3
4 const uint8_t ISO_TP_DEFAULT_RESPONSE_TIMEOUT = 100;
5 const bool ISO_TP_DEFAULT_FRAME_PADDING_STATUS = true;
6
7 /* void isotp_set_timeout(IsoTpHandler* handler, uint16_t timeout_ms) { */
8     /* handler->timeout_ms = timeout_ms; */
9 /* } */
10
11 IsoTpShims isotp_init_shims(LogShim log, SendCanMessageShim send_can_message,
12         SetTimerShim set_timer) {
13     IsoTpShims shims = {
14         log: log,
15         send_can_message: send_can_message,
16         set_timer: set_timer
17     };
18     return shims;
19 }
20
21 void isotp_message_to_string(const IsoTpMessage* message, char* destination,
22         size_t destination_length) {
23     snprintf(destination, destination_length, "ID: 0x%02x, Payload: 0x%02x%02x%02x%02x%02x%02x%02x%02x",
24             message->arbitration_id,
25             message->payload[0],
26             message->payload[1],
27             message->payload[2],
28             message->payload[3],
29             message->payload[4],
30             message->payload[5],
31             message->payload[6],
32             message->payload[7]);
33 }