-
Notifications
You must be signed in to change notification settings - Fork 631
/
Copy pathconstants.py
79 lines (63 loc) · 1.62 KB
/
constants.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
"""
Defines shared CAN constants.
"""
# Generic socket constants
SO_TIMESTAMPNS = 35
SO_TIMESTAMPING = 37
SOF_TIMESTAMPING_RX_SOFTWARE = 1 << 3
SOF_TIMESTAMPING_SOFTWARE = 1 << 4
SOF_TIMESTAMPING_RAW_HARDWARE = 1 << 6
CAN_ERR_FLAG = 0x20000000
CAN_RTR_FLAG = 0x40000000
CAN_EFF_FLAG = 0x80000000
# BCM opcodes
CAN_BCM_TX_SETUP = 1
CAN_BCM_TX_DELETE = 2
CAN_BCM_TX_READ = 3
# BCM flags
SETTIMER = 0x0001
STARTTIMER = 0x0002
TX_COUNTEVT = 0x0004
TX_ANNOUNCE = 0x0008
TX_CP_CAN_ID = 0x0010
RX_FILTER_ID = 0x0020
RX_CHECK_DLC = 0x0040
RX_NO_AUTOTIMER = 0x0080
RX_ANNOUNCE_RESUME = 0x0100
TX_RESET_MULTI_IDX = 0x0200
RX_RTR_FRAME = 0x0400
CAN_FD_FRAME = 0x0800
CAN_RAW = 1
CAN_BCM = 2
SOL_CAN_BASE = 100
SOL_CAN_RAW = SOL_CAN_BASE + CAN_RAW
CAN_RAW_FILTER = 1
CAN_RAW_ERR_FILTER = 2
CAN_RAW_LOOPBACK = 3
CAN_RAW_RECV_OWN_MSGS = 4
CAN_RAW_FD_FRAMES = 5
MSK_ARBID = 0x1FFFFFFF
MSK_FLAGS = 0xE0000000
PF_CAN = 29
SOCK_RAW = 3
SOCK_DGRAM = 2
AF_CAN = PF_CAN
SIOCGIFNAME = 0x8910
SIOCGIFINDEX = 0x8933
SIOCGSTAMP = 0x8906
EXTFLG = 0x0004
CANFD_BRS = 0x01 # bit rate switch (second bitrate for payload data)
CANFD_ESI = 0x02 # error state indicator of the transmitting node
CANFD_FDF = 0x04 # mark CAN FD for dual use of struct canfd_frame
# CAN payload length and DLC definitions according to ISO 11898-1
CAN_MAX_DLC = 8
CAN_MAX_RAW_DLC = 15
CAN_MAX_DLEN = 8
# CAN FD payload length and DLC definitions according to ISO 11898-7
CANFD_MAX_DLC = 15
CANFD_MAX_DLEN = 64
CANFD_MTU = 72
STD_ACCEPTANCE_MASK_ALL_BITS = 2**11 - 1
MAX_11_BIT_ID = STD_ACCEPTANCE_MASK_ALL_BITS
EXT_ACCEPTANCE_MASK_ALL_BITS = 2**29 - 1
MAX_29_BIT_ID = EXT_ACCEPTANCE_MASK_ALL_BITS