Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 21.04.2016, 13:27   #311
T_r_D
Старший Пользователь
 
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
T_r_D is a jewel in the roughT_r_D is a jewel in the roughT_r_D is a jewel in the rough
По умолчанию

Итак, продолжаем.
Чтоб магнитола видила дисплей в шину нужно слать ID 0x167.
А чтоб сбросить трип нужно слать в этот ID в нулевой байт 8 и состояние дисплея.
Тоесть.
Дисплей без удержания кнопки трипа 0x9,0x6,0xFF,0xFF,0x7F,0xFF,0x0, 0x0
А с удержанием кнопки 0x89,0x6,0xFF,0xFF,0x7F,0xFF,0x0, 0x0

Сама кнопка находится в ID 0x221 ,байт 0 бит 3:
Код выглядит так:
PHP код:
unsigned char DisplayTripReset[8] = {0x89,0x6,0xFF,0xFF,0x7F,0xFF,0x00x0};
            if (
bitRead(buf[0],3) == 1KeyCount KeyCount 1;
            if (
bitRead(buf[0],3) == 0KeyCount 0;
            if (
KeyCount 1CAN.sendMsgBuf(0x16708DisplayTripReset); 
При удержании кнопки этот ID повторяется раз в секунду!

Надо ещё проверить реакцию на 8А, а то реальный дисплей только при значении А и С отзывается на кнопку трипа.
Но похоже важен только последний бит в 0 байте.

Как вы уже поняли я это оттестировал в машине.
Всё работает. Осталось найти меню самой машины и проект с заменой дисплея будет завершён.
Дальше буду делать умный БП для планшета, но это уже не относиться к данной теме.
T_r_D вне форума   Ответить с цитированием