CAN парсер для БК на Nextion (Subaru Tribeca)

Greywolf-27
Offline
Зарегистрирован: 16.12.2013

Родное ГУ в этом авто морально устарело видимо еще в тот момент когда оно сошло со сборочной линии) От него естественно пришлось избавиться) но с ним избавиться пришлось и от родного БК, а вот это бы хотелось вернуть). В CAN все сообщения для этого имеются практически в готовом виде... К моему сожалению я говнокодер))) Все нужные на данный момент сообщения я собрал, нужно накидать скетч парсера, который будет засовывать все данные в переменные (для проверки и отладки можно выводить их в serial), отправку переменных в nextion я уже сам дорисую). Пока 23 переменных (в последствии возможно что-то добавится, естественно уже за отдельную оплату). Сроки не горят, но и затягивать не стоит) Ценник хотелось бы гуманный)))

Greywolf-27
Offline
Зарегистрирован: 16.12.2013

Список адресов и переменных которые надо из них получить:

Текущая скорость - ID:21 DLC:8 00 00 00 00 XX YY 00 00 - YYXX (HEX->DEC)
Скорость установленная на круиз контроле ID:22 DLC:8 00 00 00 XX 00 00 00 00 - (HEX->DEC)
Дверь ПЛ - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit0 (0x01)
Дверь ПП - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit1 (0x02)
Дверь ЗП - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit2 (0x04)
Дверь ЗЛ - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit3 (0x08)
Дверь багажная - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit4 (0x10)
Максимальная яркость подсветки - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit5 (0x20)
Наличие ключа в замке - ID:23 DLC:8 00 00 00 XX 00 00 00 00 - Bit6 (0x40)
Включение аксессуаров - ID:23 00 00 00 XX 00 00 00 00 - Bit7 (0X80)
Регулятор яркости подсветки - ID:23 DLC:8 00 00 00 00 XX 00 00 00 - (HEX->DEC)
Температура ДВС - ID:23 DLC:8 00 00 00 00 00 00 00 XX - (HEX->DEC)
Отображаемый суточный пробег - ID:40 DLC:8 00 X0 00 00 00 00 00 00 - X=4 TripA X=5 TripB (в serial выводим "0" для "A" и "1" для "B") (наверное правильнее тут смотреть в 4ый бит этого байта)
Моментальный расход - ID:40 DLC:8 00 00 00 00 XX 00 00 00 - ((HEX->DEC)/5)
Средний расход A - ID:40 DLC:8 00 00 00 00 00 XX 00 00 - ((HEX->DEC)/5)
Средний расход B - ID:40 DLC:8 00 00 00 00 00 00 XX 00 - ((HEX->DEC)/5)
Суточный пробег A - ID:41 DLC:8 XX YY 00 00 00 00 00 00 - YYXX (HEX->DEC)
Запас хода - ID:41 DLC:8 00 00 XX 00 00 00 00 00 - ((HEX->DEC)*10)
Одометр - ID:41 DLC:8 00 00 00 XX YY ZZ 00 00 - ZZYYXX ((HEX->DEC)/10) (один знак после запятой)
Cуточный пробег B - ID:41 DLC:8 00 00 00 00 00 00 XX YY - YYXX (HEX->DEC)
Уровень топлива - ID:80 DLC:7 XX 00 00 00 00 00 00 - (HEX->DEC)
Температура за бортом - ID:80 DLC:7 00 00 00 XX 00 00 00 - ((HEX->DEC)/2-40) (возможно отрицательное значение, один знак после запятой)
Педаль акселератора - ID:81 DLC:8 00 00 00 00 00 XX 00 00 - (HEX->DEC)
Greywolf-27
Offline
Зарегистрирован: 16.12.2013

Забыл про "железо"(
Желательно, Arduino Nano и шилд на MCP2515

И ещё вопрос... Математику мы же можем оставить на ардуино или лучше умножать делить и вычитать уже на Nextion?

sadman41
Offline
Зарегистрирован: 19.10.2016

Могу накидать на выходных.

Greywolf-27
Offline
Зарегистрирован: 16.12.2013

Очень хорошо)

Greywolf-27
Offline
Зарегистрирован: 16.12.2013

В очередной раз огромная благодарность Григорию. Все получилось даже лучше чем хотелось)