46 {
47 static int rollingId = 0;
48
50
52 msg[0] = 0x02;
54 rollingId = (rollingId + 1) & 0x3;
55 msg[3] = (rollingId << 4);
56
57 uint8_t tempBuffer1[4];
58 for (int i = 0; i < 4; i++) {
59 tempBuffer1[i] = msg[i];
60 }
61
63 msg[3] |= checksum1 & 0xF;
64
65
69 msg2[7] = (rollingId << 4);
70
71 uint8_t tempBuffer2[8];
72 for (int i = 0; i < 8; i++) {
73 tempBuffer2[i] = msg2[i];
74 }
75
77 msg2[7] |= checksum2 & 0xF;
78
79
81 msg3[0] = 0x00;
82 msg3[1] = 0xEA;
83 msg3[2] = 0x00;
84 msg3[3] = 0x00;
85 msg3[4] = 0x00;
86 msg3[5] = 0x00;
87 msg3[6] = 0x00;
88 rollingId = (rollingId + 1) & 0x3;
89 msg3[7] = (rollingId << 4);
90
91 uint8_t tempBuffer3[8];
92 for (int i = 0; i < 8; i++) {
93 tempBuffer3[i] = msg3[i];
94 }
95
97 msg3[7] |= checksum3 & 0xF;
98
99
101 msg4[0] = 0x50;
102 msg4[1] = 0x1d;
103 msg4[2] = 0xec;
104 msg4[3] = (rollingId << 4);
105
106 uint8_t tempBuffer4[4];
107 for (int i = 0; i < 4; i++) {
108 tempBuffer4[i] = msg4[i];
109 }
110
112 msg4[3] |= checksum4 & 0xF;
113
114
116 msg5[0] = 0x00;
117 msg5[1] = (rollingId << 4);
118
119 uint8_t tempBuffer5[2];
120 for (int i = 0; i < 2; i++) {
121 tempBuffer5[i] = msg5[i];
122 }
123
125 msg5[1] |= checksum5 & 0xF;
126
127
129 msg6[0] = 0x00;
130 msg6[1] = 0x00;
131 msg6[2] = (rollingId << 4);
132
133 uint8_t tempBuffer6[3];
134 for (int i = 0; i < 3; i++) {
135 tempBuffer6[i] = msg6[i];
136 }
137
139 msg6[2] |= checksum6 & 0xF;
140
141
143 msg7[0] = 0x00;
144 msg7[1] = 0x00;
145 msg7[2] = 0x00;
146 msg7[3] = 0x00;
147 msg7[4] = 0x00;
148 msg7[5] = 0x00;
149 msg7[6] = 0x00;
150 msg7[7] = (rollingId << 4);
151
152 uint8_t tempBuffer7[8];
153 for (int i = 0; i < 8; i++) {
154 tempBuffer7[i] = msg7[i];
155 }
156
158 msg7[7] |= checksum7 & 0xF;
159
160
162 msg8[7] = (rollingId << 4);
163
164 uint8_t tempBuffer8[8];
165 for (int i = 0; i < 8; i++) {
166 tempBuffer8[i] = msg8[i];
167 }
168
170 msg8[7] |= checksum8 & 0xF;
171
172
176 msg9[7] = (rollingId << 4);
177
178 uint8_t tempBuffer9[8];
179 for (int i = 0; i < 8; i++) {
180 tempBuffer9[i] = msg9[i];
181 }
182
184 msg9[7] |= checksum9 & 0xF;
185 }
186}
uint8_t calculateHondaChecksum(uint16_t canId, uint8_t length, uint8_t *data)
bool isInterval(CanInterval interval)
static float getOrZero(SensorType type)