11.10.2018, 23:13 | #271 |
Новый Пользователь
Регистрация: 08.01.2018
Возраст: 32
Город: Нижний Новгород
Регион: 77, 97, 99, 177
Машина: Audi
Сообщений: 12
|
|
11.10.2018, 23:55 | #272 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Это странный вопрос.
Ни как его не посчитать. Это скорость шины автомобиля и она задана производителем. И я выше писал что у скетча нет возможности считывать этот параметр с программы. Скорость шины нужно править в скетче. Да, это не удобно если скорости шин разные в машине или если несколько авто, но когда я это делал мне это было не надо. А ща уже не помню что там надо делать чтоб заработала настройка из программы. Хотя можно взять описание протокола и дописать библиотеку. |
12.10.2018, 00:03 | #273 |
Новый Пользователь
Регистрация: 08.01.2018
Возраст: 32
Город: Нижний Новгород
Регион: 77, 97, 99, 177
Машина: Audi
Сообщений: 12
|
Перефразирую.
Реальная скорость шины задается в скетче, но у CANHacker свой протокол. Поймет ли он, если я в скетче задам скорость 100kbps, а в программе укажу 500kbps? Просто я вижу что CANHacker передает в шилд команду if (lw232CanChannelMode == LW232_STATUS_CAN_CLOSED) { idx = HexHelper:: parseNibbleWithLimit(lw232Message[1], LW232_CAN_BAUD_NUM); lw232CanSpeedSelection = lw232CanBaudRates[idx]; И lw232CanSpeedSelection будет соответствовать 500kbps например |
12.10.2018, 08:34 | #274 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Угу, только и всего.
А потом это ни где не обрабатывается. Про это выше и написал. От скорости структура посылки пакета не меняется, так что всё будет хорошо. Но если хочется чтоб из программы устанавливалась скорость, то нужно её отлавливать в скетче и конфигурировать кан шилд. Можете допилить, вам только спасибо скажут. |
12.10.2018, 21:46 | #275 | |
Новый Пользователь
Регистрация: 26.02.2017
Возраст: 60
Город: Елец
Регион: 48
Машина: Кива Рива 2013
Сообщений: 19
|
Цитата:
Вдвойне удивительно слышать это от Вас. А чем Вас это не устраивает? CAN.init_Mask(0, 0, 0x7F8); // there are 2 mask in mcp2515, you need to set both of them CAN.init_Mask(1, 0, 0x7F8); CAN.init_Filt(0, 0, PID_REPLY); // 0x7E8 - 0x7EF И ничего в ардуину не валится. В Ардуине нет фильтров, более того - вообще для CAN ничего нет. Но в MCP2515 то есть. |
|
12.10.2018, 21:59 | #276 |
Новый Пользователь
Регистрация: 26.02.2017
Возраст: 60
Город: Елец
Регион: 48
Машина: Кива Рива 2013
Сообщений: 19
|
|
12.10.2018, 22:41 | #277 |
Пользователь
Регистрация: 13.04.2011
Город: Ростов-на-Дону
Регион: 61
Машина: Z51
Сообщений: 42
|
Продолжаю свою эпопею.
Да, я могу подтвердить, что Канхакер в связке с Ардуиной конкретно глючит в вин 10. Что-то начудили мелкомягкие индусы в новой ОС. Переставил ОС в ноуте, поставил 8.1 и всё отлично работает! Однако не всё так радостно. Мне нужно найти пакеты климата, один чел с Драйва (владелец Теаны, по факту одноплатформенная машина с моим Мурано), нашел адреса пакетов климата, 0х54А и 0х54В. НО! У меня на этих адресах ничего нет! Есть какой-то обмен на 0х54С, но там всего пара значений, которые меняются без прямой связи с нажатием кнопок климата. Я спросил у этого чела, что не так, на что он мне ответил, что "правильный, православный" CAN-Hacker видит ВСЕ пакеты, а моя поделка большую часть пакетов теряет. Сам он конечно использует правильный девайс. Как думаете, может быть так, что бы в одном адресном диапазоне часть пакетов отлавливается, а часть теряется? |
12.10.2018, 23:32 | #278 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Отвечаю по порядку.
Про аппаратный фильтр МЦП. Он есть, но его мало. В ардуине конечно нет ни чего для кана. Если его хватит, то используйте, но как правило, этого фильтра мало. У него 11 или 12 ID всего можно фильтровать (могу ошибаться по количеству). НСО154 любой покупай. Разницы нет. Про пакеты и "правильный" канхакер. Нет, такого быть не может. Даже если ардуина не успеет отловить пакет, то они, как правило цикличны. Тоесть ID идёт с каким-то интервалом постоянно. Только значения разные. Потери значений могут быть, а вот всего ID нет. Рано или поздно его всё равно обработает ардуина. Соответственно- открой нам уже тайну- разбери любой блок подключённый к КАН в авто. Такие потери пакетов свойственны когда разные протоколы КАН. Ну тоесть FS и FT. Открыв блок поймём какой протокол. Отличае протоколов не программное, а физическое! Там уровни сигналов разные. А если не хочешь вскрывать, то закажи трансивер TJA1054 или TJA1055. Спаяй всю его обводку и включи его вместо трансивера на шилде. Вот что я имел в виду под РАЗНЫМИ: HS CAN FT CAN Нравится? Совсем похожи да? Поэтому и сказал- вскрой блок, ну или если есть трансивер под FT(fault tolerant), то пробуй его. Я пробовал FT читать трансивером HS (Или FS, что одно и тоже. F - fast, H- high), результат похож на твой, только ID побольше... Но всё равно не полный список. Так что вскрывай и смотри. PS. "правильный" канхакер собран на СТМ. Пакетов не теряет, но на этом вся его правильность и заканчивается. Ещё раз- пакеты, как правило, идут циклично. Тоесть с повтором в несколько миллисекунд. Данные там конечно разные, но ID одинаков. Так что можно потерять одну посылку ID, но какую-то последующию всё равно поймаешь. Может данные нужные ты и пропустишь, но чтоб совсем пропустить ID не получится. И "адресный диапазон" тут не подходит. Тут всё в диапазоне 11 или 29 бит пакета. Почитай описание протокола. |
13.10.2018, 10:11 | #279 |
Пользователь
Регистрация: 13.04.2011
Город: Ростов-на-Дону
Регион: 61
Машина: Z51
Сообщений: 42
|
Спасибо за разъяснения. Скорее всего дело не в потери пакетов, а в том, что смотреть надо другие адреса. Для моей машины адреса другие, а какие, это и предстоит выяснить.
В общем есть чем заняться на выходных |
13.10.2018, 11:06 | #280 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
У тебя при подключении к шине в канхакере должно быть много ID. Если это не так, то или не туда подключился или несовпадение физического протокола.
И не адреса, а идентификаторы пакетов- ID. Вскрывай блок для начала. |
Здесь присутствуют: 6 (пользователей: 0 , гостей: 6) | |
|
|