PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Общение с машиной

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2015, 16:09   #41
xmetal
Пользователь
 
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
xmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant future
По умолчанию

я бы так записал ((bite3<<8) + byte4) / 20 + 50. По одометру идей пока нет.
xmetal вне форума   Ответить с цитированием
Старый 10.10.2015, 16:52   #42
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
По умолчанию

По одометру скатаюсь на работу сегодня и обратно и посмотрим что покажет.

Там впереди самое сложное останется.
Найти расход на 100км (моментальный уже есть), передачу RDS сообщений от магнитолы и второй трип счётчик который на бортовике отображается.
В принципе мне больше ни чего и не надо.

Это позволит перенести все показания которые отображаются ща на бортовике в планшет не прибегая к загрузке основной шины ELM327.
T_r_D вне форума   Ответить с цитированием
Старый 10.10.2015, 17:27   #43
xmetal
Пользователь
 
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
xmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant future
По умолчанию

Появились мысли по одометру. Это 3 байтное число. Показания округляются отбрасывая последнюю цифру, на самом деле там:
17 36 70 - 1123398
17 36 71 - 1123399
17 36 72 - 1123400
17 36 73 - 1123401
17 36 74 - 1123402
и тд
xmetal вне форума   Ответить с цитированием
Старый 11.10.2015, 12:38   #44
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
По умолчанию

Прокатился.
Вот что стало
17 38 174 112401

xmetal
так я изначально 3 байта давал имея в виду что это только одометр

Как это преобразование написать в коде-то?
T_r_D вне форума   Ответить с цитированием
Старый 11.10.2015, 13:57   #45
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от T_r_D Посмотреть сообщение
Прокатился.
Вот что стало
17 38 174 112401

xmetal
так я изначально 3 байта давал имея в виду что это только одометр

Как это преобразование написать в коде-то?
17 38 174 в Bin это 00010001 00100110 10101110
000100010010011010101110 в Dec 1124014
То есть, что бы получить фактический пробег нужно считать так:
((bite2<<16) + (bite1<<8) + byte0) / 10
lti1 вне форума   Ответить с цитированием
Старый 11.10.2015, 14:20   #46
xmetal
Пользователь
 
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
xmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant future
По умолчанию

Не забываем про приведение типов
unsigned long result = (((unsigned long)data[0] << 16) + ((unsigned int)data[1] << 8) + data[2])/10;

Код:
byte data[3] = {17,38,174};

void setup() {
  Serial.begin(115200);
}

void loop() {
  unsigned long result = (((unsigned long)data[0] << 16) + ((unsigned int)data[1] << 8) + data[2])/10;
  Serial.println(result);
  delay(1000);
}
xmetal вне форума   Ответить с цитированием
Старый 11.10.2015, 14:48   #47
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
По умолчанию

(unsigned long)data[0] << 16)
Вот оно что!
я писал
(int)buf[2] << 16 | (int)buf[3] << 8| buf[4]
и у меня выходила охинея
Просто данные не входили!
Во блин!

Зато пока искал причину- нашёл где расход на 100км не моментальный.
2A1 байты 3 и 4

Почти всё отискал
Осталось найти где данные от кнопок стрелочек магнитолы в режиме отличного от меню
и данные которые передаются текстом о названии радиостанции и данные которые она передаёт
T_r_D вне форума   Ответить с цитированием
Старый 11.10.2015, 14:52   #48
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

xmetal, собственно так и есть, как Вы выше писали.
T_r_D, int занимает 2 байта, а unsigned long 4 байта. У Вас получается 3, по этому и получалась охинея.
lti1 вне форума   Ответить с цитированием
Старый 11.10.2015, 15:16   #49
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
По умолчанию

Я уже осознал свою ошибку.

Народ- сильно не бейте! Я программированием занимался последний раз лет так 15 назад.

А по существу.
Я уже имею почти все данные кроме трипа который отображается на бортовике (не знаю нафига он мне) и нету текстовой инфы с магнитолы.
На остальное описание вроде есть, добавлю в скетч и посмотрю что получается (читать данные о CD и CD Changer), а так же вывод данных настроек (Menu).
Ещё там всякие Loud, TA, RDS и прочая шняга буковками выводится, но на это тоже вроде есть описание.
Ну и надо найти где прячут нажатие на стрелочки не в режиме Menu, а так же кнопки с 1 по 6.

Тоесть по сути я чисто для себя уже заменил TORQE. Нужно ещё сделать вольтметр или поискать передаётся ли эта инфа по шине.
Пока сидел в машине, то пришла в голову идея выкинуть нафиг блок климата, а кондеем управлять с планшета.

И тут кстати я подхожу к моменту когда нужно будет писать оболочку под это всё под андройд, а в этом я уж точно чайник!

весь список того что ща уже можно читать
Speed
RPM
Instant fuel consumption /100Km
Fuel consumption /100Km
Run on current fuel level
Odometr
Themperature (not water temp)
Steering while Scroll value
Steering while key
Radio key (частично)
Radio ON/OFF
Radio source
Radio band and frequency
Volume (выводится на секунду, нужно найти где всегда инфа есть)

Нашёл где трип прячется
2A1 байты 1 и 2

Пытался там же найти среднею скорость, но толи она не так же как всё выглядит, толи она просто не там.

Последний раз редактировалось T_r_D; 12.10.2015 в 19:02.
T_r_D вне форума   Ответить с цитированием
Старый 13.10.2015, 22:37   #50
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
По умолчанию

Народ, помогите с выдёргиванием инфы из
1E5 байта 5.
первые два
бита это показывает меню или нет и значение этого меню.
3 бит второе меню, 4 не используется, 5,6,7 значение второго меню.
Как в коде это воплотить?
Не могу не фига сообразить!
хотелось бы в виде
if (buf[5] >> 7 == 1)
без дополнительных переменных.
Как избавится от лишних данных в байте?
T_r_D вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 21:59.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot