BOROSOFTWAREAll work →
scantool/diag_l2_test.c 78 lines
1/*
2 * freediag - Vehicle Diagnostic Utility
3 *
4 * Copyright (C) 2017-2018 fenugrec
5 *
6 * Test L2 driver. Only intended for use by diag_test.c
7 * to exercise low-level libdiag code paths.
8 *
9 */
10
11
12#include "diag.h"
13#include "diag_l2.h"
14#include "diag_err.h"
15#include "diag_os.h"
16
17#define TEST_TIMER_DURATION 500 /** time (ms) before returning from timer callback func */
18
19
20int dl2p_test_startcomms( struct diag_l2_conn *dl2c, flag_type flags,
21 unsigned int bitrate, target_type target, source_type source) {
22 (void) dl2c;
23 (void) flags;
24 (void) bitrate;
25 (void) target;
26 (void) source;
27 return 0;
28}
29
30/*
31 */
32
33int dl2p_test_stopcomms(struct diag_l2_conn *pX) {
34 (void) pX;
35 return 0;
36}
37
38int dl2p_test_send(struct diag_l2_conn *d_l2_conn, struct diag_msg *msg) {
39 (void) d_l2_conn;
40 (void) msg;
41 return diag_iseterr(DIAG_ERR_BADVAL);
42}
43
44int dl2p_test_recv(struct diag_l2_conn *d_l2_conn, unsigned int timeout,
45 void (*callback)(void *handle, struct diag_msg *msg), void *handle) {
46 (void) d_l2_conn;
47 (void) timeout;
48 (void) callback;
49 (void) handle;
50 return diag_iseterr(DIAG_ERR_BADVAL);
51}
52
53struct diag_msg * dl2p_test_request(struct diag_l2_conn *d_l2_conn, struct diag_msg *msg,
54 int *errval) {
55 (void) d_l2_conn;
56 (void) msg;
57 *errval = DIAG_ERR_GENERAL;
58 return diag_pseterr(DIAG_ERR_BADVAL);
59}
60
61void dl2p_test_timer(struct diag_l2_conn *dl2c) {
62 (void) dl2c;
63 diag_os_millisleep(TEST_TIMER_DURATION);
64 return;
65}
66
67const struct diag_l2_proto diag_l2_proto_test = {
68 DIAG_L2_PROT_TEST,
69 "TEST",
70 0,
71 dl2p_test_startcomms,
72 dl2p_test_stopcomms,
73 dl2p_test_send,
74 dl2p_test_recv,
75 dl2p_test_request,
76 dl2p_test_timer
77};
78