|
4 | 4 |
|
5 | 5 | // Stock longitudinal
|
6 | 6 | #define TOYOTA_BASE_TX_MSGS \
|
7 |
| - {0x191, 0, 8, true}, {0x412, 0, 8, true}, {0x343, 0, 8}, {0x1D2, 0, 8}, /* LKAS + LTA + ACC & PCM cancel cmds */ \ |
| 7 | + {0x191, 0, 8}, {0x412, 0, 8}, {0x343, 0, 8}, {0x1D2, 0, 8}, /* LKAS + LTA + ACC & PCM cancel cmds */ \ |
8 | 8 |
|
9 | 9 | #define TOYOTA_COMMON_TX_MSGS \
|
10 | 10 | TOYOTA_BASE_TX_MSGS \
|
11 |
| - {0x2E4, 0, 5, true}, \ |
| 11 | + {0x2E4, 0, 5}, \ |
12 | 12 |
|
13 | 13 | #define TOYOTA_COMMON_SECOC_TX_MSGS \
|
14 | 14 | TOYOTA_BASE_TX_MSGS \
|
15 |
| - {0x2E4, 0, 8, true}, {0x131, 0, 8, true}, \ |
| 15 | + {0x2E4, 0, 8}, {0x131, 0, 8}, \ |
16 | 16 |
|
17 | 17 | #define TOYOTA_COMMON_LONG_TX_MSGS \
|
18 | 18 | TOYOTA_COMMON_TX_MSGS \
|
@@ -386,8 +386,14 @@ static int toyota_fwd_hook(int bus_num, int addr) {
|
386 | 386 | }
|
387 | 387 |
|
388 | 388 | if (bus_num == 2) {
|
| 389 | + // block stock lkas messages and stock acc messages (if OP is doing ACC) |
| 390 | + // in TSS2, 0x191 is LTA which we need to block to avoid controls collision |
| 391 | + bool is_lkas_msg = ((addr == 0x2E4) || (addr == 0x412) || (addr == 0x191)); |
| 392 | + // on SecOC cars 0x131 is also LTA |
| 393 | + is_lkas_msg |= toyota_secoc && (addr == 0x131); |
389 | 394 | // in TSS2 the camera does ACC as well, so filter 0x343
|
390 |
| - bool block_msg = ((addr == 0x343) && !toyota_stock_longitudinal); |
| 395 | + bool is_acc_msg = (addr == 0x343); |
| 396 | + bool block_msg = is_lkas_msg || (is_acc_msg && !toyota_stock_longitudinal); |
391 | 397 | if (!block_msg) {
|
392 | 398 | bus_fwd = 0;
|
393 | 399 | }
|
|
0 commit comments