PDA

Просмотр полной версии : ДжосТик iDrive CAN + Android + Andruino


Ацкий_Кот
20.03.2015, 19:01
Всем доброго времени суток, хочу поставить себе джостик с iDrive, который работает по кан шине.
Ставить будем в bmw e39 , уже стоит мафн на андроиде в стиле под родной, теперь хотелось бы и джостик в тему.

Собственно джостик.

http://www.euronavi.ru/published/publicdata/Z146698EURONAVI/attachments/SC/products_pictures/bmw-cic-x1-%285%29_enl.jpg

Имеет распиновку +12, Groung , Can-H , Can-L

Имеем в наличие андруинку Nano v7

Хотелось бы с помощью нее будить джостик и ловить с него данные.

В джостике на выходе висит микруха TJA1055T

Собственно вопрос номер один,
как разбудить устройство , тобишь данный джостик, при подаче питания нуль реакции, джостик новый куплен у оффдилера бмв.

зы темы аналогичные видел, но там простые джостики коммутировали напрямую андруинкой. Хотелось бы здесь реализовать полноценный джостик. С функционалом клавишь согласно их гравировке ))

T3CHNIK
20.03.2015, 22:02
Я заморачивался! скажем так если сами не осилите скеч для ардуины то можете забыть о родной схеме.....
Правда у меня был от Е60
Выпотрошил девайс и перерезал дорожки всех кнопок (там движения кнопок лево право верх низ это физические кнопки а не сенсорные) потом выпотрошил клавиатуру с ЭНКОДЕРОМ и подключил нужные клавиши к кнопкам джойстика! потом удалил сенсоры с крутилки и воткнул механический энкодер которого подключил к той-же плате от клавиатуры....
Покажется что колхоз и конечно жалко ковырять чудо девайс от БМВ (мне было пофиг так как не люблю бмв) но это самый легкий и надежный способ
в винде кнопки можно перенаправить с помощью KeyRemapper а в андрюше Multilanguage key refinder

cherkasoff
20.03.2015, 23:45
Имеет распиновку +12, Groung , Can-H , Can-L
Имеем в наличие андруинку Nano v7
Хотелось бы с помощью нее будить джостик и ловить с него данные.
В джостике на выходе висит микруха TJA1055T

Собственно вопрос номер один,
как разбудить устройство , тобишь данный джостик, при подаче питания нуль реакции, джостик новый куплен у оффдилера бмв.
зы темы аналогичные видел, но там простые джостики коммутировали напрямую андруинкой. Хотелось бы здесь реализовать полноценный джостик. С функционалом клавишь согласно их гравировке ))

Нужна ардуина, CAN-шилд, скетч, который будет выводить в терминал всё что получает по CAN.

Подать питание на джойстик, крутить-нажимать и смотреть, ловит ли что-нибудь ардуина. Скорее всего будет ловить. А там уже писать скетч.

Ацкий_Кот
23.03.2015, 09:51
Нужна ардуина, CAN-шилд, скетч, который будет выводить в терминал всё что получает по CAN.

Подать питание на джойстик, крутить-нажимать и смотреть, ловит ли что-нибудь ардуина. Скорее всего будет ловить. А там уже писать скетч.

Спасиб, жду когда приедет каншилд, вопрос в том как будить джостик.

Ацкий_Кот
23.03.2015, 09:58
Хотя есть идея изучить TJA1055T , ибо смысл использовать двойное преобразование , в кан потом обратно из кан, может удасться подключить на прямую не используя кан шину.

Смотрю даташит и не могу понять, эта микруха тупой трансивер или при определенной кодовой последовательности она бУдит устройство.

cherkasoff
23.03.2015, 17:00
Хотя есть идея изучить TJA1055T , ибо смысл использовать двойное преобразование , в кан потом обратно из кан, может удасться подключить на прямую не используя кан шину.

Смотрю даташит и не могу понять, эта микруха тупой трансивер или при определенной кодовой последовательности она бУдит устройство.
Не пойму, что значит будить? Он либо работает и отправляет коды, либо нет.

awtoap
23.03.2015, 20:35
Это значит что пока джойстик не получить заветную команду скажем на пробуждение или что установлены в машине соответствующие блоки, которые будут реагировать на этот джойст по шине, он не будет отдавать свои данные.

cherkasoff
24.03.2015, 00:19
Порыл интернеты, вот что пишут про БээНВэ:

No, K-CAN from E60 onwards is woken up over CAN. The modules use the Philips TJA1054 CAN transceiver that has a "wakeup" output, and that is used to enable the "inhibit" input of the devices main power control device (often an Infineon TLE4262). The slave devices on the bus are always supplied with Battery Voltage and ground. Any activity on the bus therefore causes the can transceiver to enable the devices power, which powers up the onboard micro. The micro then looks for a command to "stay awake". If it doesn't receive this command, it just goes back to sleep after about 4 secs.

Таким образом, чип должен получать с каким-то интервалом команду "не засыпай".

Вот еще, здесь уже пишут ЧТО ИМЕННО надо отправлять:

To send a wake up command to the k-can you need to sent a Terminal 15 / R on command.
This is canbus is 0x130, it will wake up all canbus devices (radio, Kombi, iDrive etc)

Sending packet {0x130, 5, 45, 40, 21, 8F, FE} at least every 750mS at the most and it will keep components awake.
The above command basically says, the ID is 0x130, it's 5 bytes long and the engine is running with the key in the ignition.

Осталось только понять что за K-CAN и чем оно отличается от CAN. Судя по всяким описаниям, это CAN на скорости 100kbps. В библиотеках я такое видел, вроде бы.

А вот еще пишут что iDrive это вообще ни какой не CAN:
the iDrive knob is actually LIN-bus protocol not CAN-BUS

Чем дальше в лес, тем больше дров :be:

cherkasoff
24.03.2015, 00:22
Нашел еще вот такой проект iDrivino (http://www.e90post.com/forums/showthread.php?t=712884) - ардуино и iDrive. Наверняка там можно нарыть интересного. Информации в сети - горы. Надо только лопату побольше и копать глубже :D

Ацкий_Кот
24.03.2015, 15:37
Спасибо за информацию, я не сильно знаю енглишь, но в первом цитировании сказано что от любого сигнала просыпается или всетаки второе вернее ?
То что там кан это 100% точно , максимальная 128кб\с скорость, и описание интерфейса подтверждает это.

Осталось дождаться с эбея каншилд и пробовать.

Ацкий_Кот
25.03.2015, 18:42
202 FD 00, а также только первые отсчетов байт, так что мы могли бы использовать только 202 FD (для максимальной яркости) или 202 44 (для тусклой яркости)

Также после отправки этой команды яркости, CON бодрствует, 100mA @ 12В

Чтоб не забыть , это корявый перевод гугла ))

Ацкий_Кот
17.04.2015, 14:32
Посылка 5C1
F0 00 00 63 - ПРИ АКТИВАЦИИ БЛОКА (ВКЛ ЗАЖИГАНИЯ)
00 00 00 63 - ОТПУСКАНИЕ КЛАВИШИ
13 00 XX 63 - ИЗМЕНЕНИЕ ГРОМКОСТИ, XX - направление колеса от 00 до 0F, при увеличении приращение на 1, при уменьшении декремент на 1, ограничено одним полубайтом, зацикленно, т.е при увеличении громкости после 0F следует 00, при уменьшении после 00 следует 0F
2A 00 00 63 - НАЖАТИЕ КОЛЕСА ГРОМКОСТИ
02 00 00 63 - СТРЕЛКА ВЛЕВО
03 00 00 63 - СТРЕЛКА ВПРАВО
14 00 XX 63 - КОЛЕСО ИЗМЕНЕНИЯ ПУНКТА МЕНЮ, XX - аналогично громкости
28 00 00 63 - НАЖАТИЕ КОЛЕСА МЕНЮ
1A 00 00 63 - КНОПКА "ТЕЛЕФОН"

Ацкий_Кот
05.05.2015, 15:41
Апну немного, приехал мой канбусшилд, а андруинка что-то не торопиться... имеющийся "обрезок" андруинки с нерабочим ISP портом оказался, не выдает тактирующие импульсы на ножке SCK

Ацкий_Кот
27.05.2015, 10:47
As for "waking up" the iDrive knob, I've never tried what you're doing but I'll go out on a limb and say it doesn't need it. I'm willing to guess the knob is pretty dumb in that it just issues the same CAN commands over & over and lets the CAN gateway deal with the messages. Search my code in file idrivino.pde for the CAN section dealing w/ iDrive knob presses. You will be looking for CAN IDs starting with 0x1B8, which are the knob rotation & MENU button press. If you have an LCI iDrive controller, you'll have to sniff your own buttons related to the new direct buttons like NAV, etc.


заметка

Ацкий_Кот
27.05.2015, 12:19
Known Can-Bus Codes so far:
(0x202, 2, 0xFD 0x00) – Light to maximum.

заметка

Ацкий_Кот
02.06.2015, 12:38
Девайсы получил, с шилдом соединился удачно, но пока не могу понять как разбудить устройство, и если коды что выше верные, не могу понять как их отправить, по сути адрес данные посылки каким образом посылать, пока непонятно в теле программы адрес прописывать или из терминальной строки в каком то формате отправлять.

Ацкий_Кот
02.06.2015, 15:42
С адресом вроде разобрался , в скетче задается, осталось разобраться с данными подбирать из имеющихся

lti1
02.06.2015, 16:00
Я вот так в шину FF3 отправлял:
unsigned char stmp0[8] = {0x80,0xC3,0x00,0x02,0x00,0x00,0x00,0x00};
unsigned char stmp1[8] = {0x80,0xC3,0x00,0x01,0x00,0x00,0x00,0x00};

void loop()
{
CAN0.sendMsgBuf(0x3A, 0, 8, stmp0);
delay(1000);

CAN0.sendMsgBuf(0x3A, 0, 8, stmp1);
delay(1000);
}

Ацкий_Кот
02.06.2015, 18:58
Я вот так в шину FF3 отправлял:
unsigned char stmp0[8] = {0x80,0xC3,0x00,0x02,0x00,0x00,0x00,0x00};
unsigned char stmp1[8] = {0x80,0xC3,0x00,0x01,0x00,0x00,0x00,0x00};

void loop()
{
CAN0.sendMsgBuf(0x3A, 0, 8, stmp0);
delay(1000);

CAN0.sendMsgBuf(0x3A, 0, 8, stmp1);
delay(1000);
}


Спасибо сейчас не около девайса, завтра попробую

Chubaka885
02.06.2015, 22:08
Я пробовал в своё время разобраться. Плюнул на всё это и поставил во внутрь ардуино. Год уже работает без проблем.
Будем следить что у вас получится.

Ацкий_Кот
03.06.2015, 12:26
Ничего не понимаю пока, ток потребления 85mA , при нажатии на кнопки увелчивается на 0.1mA , при использовании крутилки на 4mA, но цуко нет подсветки, так не могу понять оно пробудилось или нет и почему нет ничего на шине CAN.

Chubaka885
03.06.2015, 14:14
Подсветка, скорей всего включается по команде. Там по-моему даже яркость регулируется командами по шине.
Ты уверен что взял правильный CAN шилд?

Gorynch
03.06.2015, 14:36
в iDrive используется TJA1054/5 (http://www.nxp.com/documents/data_sheet/TJA1054.pdf), а в шилде у тебя скорее всего MCP2551 (http://users.ece.utexas.edu/~valvano/Datasheets/MCP2551.pdf)

Я не стал разбираться с его CAN, потому как машина не BMW была. Просто сделал свою плату с концевиками и прикрутил всё к mega16 и V-USB

lti1
03.06.2015, 15:28
А есть ли разница какой чип используется? Протокол CAN единый.

tto4ka
03.06.2015, 16:04
Вот тутhttp://www.volcano.at/iDrive/?p=21 у человека все есть :) собираюсь собирать шилд как у него, только на 1054, а то 55 дорогая шибко

Gorynch
03.06.2015, 16:51
А есть ли разница какой чип используется? Протокол CAN единый.

Есть (http://pccar.ru/showpost.php?p=276552&postcount=15)

Gorynch
03.06.2015, 17:47
Вот тутhttp://www.volcano.at/iDrive/?p=21 у человека все есть :) собираюсь собирать шилд как у него, только на 1054, а то 55 дорогая шибко

Я бы посоветовал взять Pro micro на atmega32u4 из-за аппаратного USB

tto4ka
03.06.2015, 18:20
Так что то я совсем в ардуинах запустался, я что то про мини на сайте производителя не вижу, китайские вижу, а оригинального нет :) Ладно в принципе не важно это :) Все равно едет и то и то :) Если он герберы даст, то перерисую и под про мини и вытравлю и тех и тех плат

Chubaka885
03.06.2015, 20:50
Так что то я совсем в ардуинах запустался, я что то про мини на сайте производителя не вижу, китайские вижу, а оригинального нет :) Ладно в принципе не важно это :) Все равно едет и то и то :) Если он герберы даст, то перерисую и под про мини и вытравлю и тех и тех плат
Для про мини нужен будет USB-UART. PВыше уже написали лучше брать про микро или леонардо.

tto4ka
03.06.2015, 21:26
Для про мини нужен будет USB-UART. PВыше уже написали лучше брать про микро или леонардо.
Очепятался я :) Не вижу на сайте про микро :)
В общем мне едет:
Leonardo Pro Micro ATmega32U4 16MHz
Arduino MICRO ATmega32U4 16MHz
На сколь я понял TJA1054at отличается от TJA1055t только энергопотреблением 10ма против 5 и у TJA1055 посильнее защита от скачков напряжения?

Ацкий_Кот
08.06.2015, 11:13
Есть (http://pccar.ru/showpost.php?p=276552&postcount=15)

Озадачен.... может в этом трабла....
Хотя поправьте меня TJA1055T разве не совместим с каншилдом на MCP2551

Gorynch
08.06.2015, 11:42
либо MCP2515 + TJA1055T, либо MCP2515 + MCP2551
2515 - трансляция сообщений из CAN в SPI
2551, 1055/1054 - согласователь уровней CAN и 2515

P.S. Вместо 2515 может быть сразу контроллер с поддержкой CAN

Ацкий_Кот
08.06.2015, 12:05
Сейчас проверил , каншилдом отправляю , usb elm327 принимает данные

Ацкий_Кот
08.06.2015, 12:07
либо MCP2515 + TJA1055T, либо MCP2515 + MCP2551
2515 - трансляция сообщений из CAN в SPI
2551, 1055/1054 - согласователь уровней CAN и 2515

P.S. Вместо 2515 может быть сразу контроллер с поддержкой CAN

Может не так написал у меня в джойстика стоит 1055 , а в шилде 2551 + 2515

awtoap
08.06.2015, 12:12
Походу драйвера КАН не совместимы...в шилд тоже нужно пихать TJA1050(1055)

Ацкий_Кот
08.06.2015, 12:49
Походу драйвера КАН не совместимы...в шилд тоже нужно пихать TJA1050(1055)

Вот елки зеленые, так отсылать научился данные, вот как бы заставить elm 327 работать на 100кбит\с вместо 125кбит\с для контроля данных

Ацкий_Кот
08.06.2015, 13:00
Заказал пока 1050 на всякий случай, бум думать може пока едет какой конвертер из навеснухи можно собрать ?

Ацкий_Кот
08.06.2015, 15:26
ХМ сейчас глянул даташиты на 1050 и 2551 , микрухи идентичны абсолютно
поправьте если не так


тогда для контроля попробую заставить работать elm327 на 100 кбит\с и добивать джойстик

Gorynch
08.06.2015, 16:48
Если внимательно посмотришь на ссылку, что я давал выше, то увидишь, что уровни сигналов разные. Вот именно согласованием уровней и занимаются 2551 и 1055. Каждая заточена под свои уровни.
В джойстике у тебя 1055 преобразует сигнал конотроллера в CAN с соот-ми уровнями. А ты пытаешься их связать с 2551, которая рассчитана на другие уровни. Получается нестыковка.
Скажем так, пока я не заменил 2551 на 1041 (в машине стоит 1041 или 1050, не помню точно), ничего не получалось.
Но пока едет 1050 - пытайся, может получится ;)

Ацкий_Кот
08.06.2015, 18:03
Gorynch , спасиб за инфу посмотрим

так а пока я настроил елм327 на 100кб\с
делать так

atdp B - устанавливаем нужный кан протокол с 125кб\с
at pp 2b sv 05 - устанавливаем скорость для него 100кб\с

впринципе в мануале есть, но вдруг с енглишем кто не сильно дружит

YAM1966
08.06.2015, 18:17
Если бы все было так сложно с драйверами и разбросом уровней, то ничего бы не работало в автомобиле по CAN шине...
Вы шину-то нагрузили на терминатор?

p.s. в джойстике его нет.

Ацкий_Кот
08.06.2015, 18:23
Если бы все было так сложно с драйверами и разбросом уровней, то ничего бы не работало в автомобиле по CAN шине...
Вы шину-то нагрузили на терминатор?

p.s. в джойстике его нет.


Можно на ты,
да пробовал и так и так, данные по шине ходят , мониторю elm327

YAM1966
08.06.2015, 18:31
Тогда еще есть тонкий момент с временами битовой синхронизации CAN приемника.
Описание от родителя (http://www.bosch-semiconductors.de/media/pdf_1/canliteratur/cia99paper.pdf)
Не знаю как они задаются в ELM, но в процах со встроенным CAN и 2515 есть кучка регистров для этого...

Ацкий_Кот
08.06.2015, 18:33
Да еще не могу послать
Can-Bus Codes
(0x202, 2, 0xFD 0x00) – Light to maximum.

Шина сыпет еррор если в данных F идет первая

Ацкий_Кот
10.06.2015, 14:48
прогресс почти мал, гоняю данные по кан шине can-shield <=> elm327 , а джойстик молчит, единственное непонятное наблюдение , почему меняется ток потребления при вращении джойстика и нажатии кнопок, истина гдето рядом )) , но где?

Возможно джойстик бодрствует и спамит в кан шину, но 1055 не пускает данные пока не будет определенной команды, так чтоли ???

Ацкий_Кот
10.06.2015, 15:32
Прочитал тут работу одного чеха, он зачемто мутил переходник

айдрайв <=> can 1055 <=> переходник <=> can 2551 <=> его девайс

есть мысль что 1055 и 2551 несовместимы, получается я нашел не те даташиты, щяс буду копать дальше.

Ацкий_Кот
10.06.2015, 15:46
Если я правильно понял даташиты , то так разные каны у них, хотя не могу понять как на некоторых форумах типа е90 буржуйского управляли айдрайвом с елм где стоит таже 2551...

получается верхний графиг это 2551 , а нижний это 1055 (1050)

http://savepic.su/3752044.jpg

Сейчас гляну для уверенности осцилографом ....

Gorynch
10.06.2015, 15:50
Ещё раз: 1055 не умеет пускать или не пускать, это просто преобразователь уровней. Если грубо сравнить, в компьютере СОМ порт имеет уровни от -(минус)12В до + (плюс)12В. Как его подключить, например, к микрокотроллеру, у которого входы рассчитаны на диапазон от 0В до +5В? С помощью преобразователя уровней, например, МАХ232. При этом МаХ232 никак не вмешивается в информационную составляющую сигнала. Он только преобразует сигнал -12..-3В в +5В (логическая единица), а +3..+12В - в 0В (логический нуль).

Посмотри это (https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CGoQFjAJahUKEwjUjqauhIXGAhUIwHIKHcbGAOA&url=http%3A%2F%2Fwww.carx24.de%2FE65_Codes.xls&ei=BCF4VdT8CIiAywPGjYOADg&usg=AFQjCNF9aqRFIoLwLR4Rs9wJ4LyFjLzzJg&sig2=4g1srRwlm2nmtMGRFtoqEw&bvm=bv.95277229,d.bGQ)

Gorynch
10.06.2015, 15:53
Прочитал тут работу одного чеха, он зачемто мутил переходник

айдрайв <=> can 1055 <=> переходник <=> can 2551 <=> его девайс

есть мысль что 1055 и 2551 несовместимы, получается я нашел не те даташиты, щяс буду копать дальше.

а вот это (http://www.pccar.ru/showpost.php?p=329822&postcount=26) я кому писал?

и не во всех elm стоит 2551, в некоторых 1040, потому и смогли подключиться

Ацкий_Кот
10.06.2015, 16:15
блин , я сейчас окончательно запутался , и кажись 1055 и 1050 тоже разные....

Ацкий_Кот
10.06.2015, 16:17
а вот это (http://www.pccar.ru/showpost.php?p=329822&postcount=26) я кому писал?

и не во всех elm стоит 2551, в некоторых 1040, потому и смогли подключиться

Читал это, я просто запутался в даташитах....
вот 1040 если ставил, тогда все проясняет...

Вопрос знатокам 1050 меня спасет или это тоже самое что 2551 ?

Ацкий_Кот
10.06.2015, 16:22
смотрю даташиты и вижу 1050 и 1040 одно и тоже.....

YAM1966
10.06.2015, 16:26
Да все прекрасно работает и на 2551, нагрузочный резюк 100...120 Ом, и CANL на массу.
Другое дело, что кроме как на регулировку подсветки девайс передает данные только на адрес 0x500 и т.д., как описано у мужика тут (http://www.volcano.at/iDrive/?paged=4).
Необходим правильный пакет инициализации, а его никто ни где не описывает или он для старых авто.

p.s. договорился с BMW-шниками снифануть обмен на реальной шине....

Ацкий_Кот
10.06.2015, 16:54
сделал как написано выше , посыпались повторяющиеся пакеты
ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF


зы если бмвешники снимут лог будет классно, у меня у знакомых нет бмв с айдрайвом ((
зыы мне бы для начало подсветку включить ...

YAM1966, если не трудно , обЪясните что дало нам замыкание Л шины на землю ?

YAM1966
10.06.2015, 17:08
У меня 2 канала CAN в контроллере я их запараллелил, одним передаю и принимаю, вторым контролирую только прием.
По осциллографу увидел ответы от джойстика, а контроллер их не принял, хотя прекрасно принимает свои-же с первого канала. Посмотрел уровни, оказалось они одинаковые как для CANH так и для CANL. Т.е. дифференциального сигнала нет. Видать схемотехника CAN шины в авто предусматривает кроме нагрузочного резистора еще и делитель.
Замкнув CANL на массу - просто получаем таки нужный дифф сигнал для приемника трансивера. Ничего плохого это не даст, так как драйвер его садит на массу или выдает Z.

p.s. подсветка включается вторым пакетом, так как первый будит джойстик...
Далее он работает не отключаясь все время.

Ацкий_Кот
10.06.2015, 17:11
Спасибо за разъяснение, буду дальше копать .
зы: мне кажется что , то что я принимаю по кан , мусор возможно

Ацкий_Кот
10.06.2015, 17:16
Кстати по поводу делителя, нужно будет по эксперементировать, в даташитах чтото проскакивало про подключение к vcc и gnd двух резюков на кан Л и Н

Ацкий_Кот
10.06.2015, 17:40
YAM1966 , по поводу включения подсветки , подскажите команду.

YAM1966
10.06.2015, 17:43
202 FD 00
202 - адрес
FD 00 данные

p.s. все шестнадцатиричное...

Ацкий_Кот
10.06.2015, 17:46
202 FD 00
202 - адрес
FD 00 данные

Никакой реакции,
так отправляю через андруинку
unsigned char stmp2[2] = {0xFD, 0x00};
CAN0.sendMsgBuf(0x202, 0, 2, stmp2);

если отправляю через елм, то возвращяет еррор дата, но данные отправляет.

Я правильно понимаю, что адрес это ID ?

YAM1966
10.06.2015, 18:01
Да, верно...

p.s.
Только вот непонятно описание Вашего CAN шилда (http://www.seeedstudio.com/wiki/CAN-BUS_Shield):
CAN.sendMsgBuf(INT8U id, INT8U ext, INT8U len, data_buf);

id должен быть 11 битным, а под него INT8U - как по мне, так это 8 бит отводится

я уже молчу про расширенный идентификатор 29 битный...

В исходниках (https://github.com/Seeed-Studio/CAN_BUS_Shield) вроде нормально...
INT32U m_nID; /* can id */
и
INT8U sendMsgBuf(INT32U id, INT8U ext, INT8U rtr, INT8U len, INT8U *buf);

Ацкий_Кот
10.06.2015, 18:33
Вот например отправляю андруинкой и что ловит елмка


4E7 67 01 FE FF FF FF FF FF <DATA ERROR
5E7 99 E1 FE 00 06 FF FF FF <DATA ERROR
это спамит джойстик как понимаю

202 FD 00 00 00 00 00 00 00 <DATA ERROR
это шлет андруинка



код поправил на

INT32U canId = 0x202;
CAN.sendMsgBuf(canId, 0, 8, stmp);

результат одинаков, света нет (

YAM1966
10.06.2015, 19:09
а сам джойстик исправен в принципе?

Ацкий_Кот
11.06.2015, 09:42
а сам джойстик исправен в принципе?
новый куплен у дилера bmw

YAM1966
11.06.2015, 09:55
Может дело в том, что после ошибки NoAck на первый пакет пробуждения необходимо очищать признак ошибки перед передачей следующего?

Ацкий_Кот
11.06.2015, 10:28
Заметил особенность, если поставить скорость 125кб\с
то джой шлет пакеты только

4E7 67 01 FE FF FF FF FF FF

и еще при 125кб\с ток потребления джоя возрастает на 15мА

Ацкий_Кот
11.06.2015, 10:30
Может дело в том, что после ошибки NoAck на первый пакет пробуждения необходимо очищать признак ошибки перед передачей следующего?

Можно поподробнее ?
Где можно видеть эту ошибку ?

YAM1966
11.06.2015, 10:51
Изучите даташит на mcp2515 (ERROR DETECTION) и исходники CAN шилда.
Я ардуинами не балуюсь.

Ацкий_Кот
11.06.2015, 10:53
Изучите даташит на mcp2515 (ERROR DETECTION) и исходники CAN шилда.
Я ардуинами не балуюсь.

Так в том то дело что со стороны андрунки никаких ошибок )

YAM1966
11.06.2015, 13:03
Я пока изучаю лог BMW отсюда (http://www.m5board.com/vbulletin/e60-m5-e61-m5-touring-discussion/214354-any-interest-e60-can-bus-code-hacking-2.html).

tto4ka
13.06.2015, 20:58
новый куплен у дилера bmw
А если не секрет сколь он стоит у диллера?

YAM1966
19.06.2015, 15:09
Что-то заглохло... Внесу свою лепту.
Если кратко - то все работает по CAN для iDrive с кнопкой CD
XMfpGUbGYmI
Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто.
Буду ваять контроллер под это дело.

Gorynch
19.06.2015, 15:26
работает с mcp2551?

YAM1966
19.06.2015, 15:44
Куда оно денется ;)
Только CANL в mcp2551 надо соединить с массой.

Ацкий_Кот
23.06.2015, 03:54
А если не секрет сколь он стоит у диллера?
Тогда 10тр сейчас не знаю :pleasantry:

Ацкий_Кот
23.06.2015, 03:56
Что-то заглохло... Внесу свою лепту.


сейчас в отпуске , как выйду продолжу изыскания :drinks_cheers::smart:

Ацкий_Кот
23.06.2015, 04:00
Что-то заглохло... Внесу свою лепту.
Если кратко - то все работает по CAN для iDrive с кнопкой CD
XMfpGUbGYmI
Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто.
Буду ваять контроллер под это дело.

Это так понимаю не с андруино работает ?

YAM1966
23.06.2015, 10:52
Это так понимаю не с андруино работает ?

Нет, не с ардуино.
Я ардуино не перевариваю :pleasantry:
Если и пользую, то ТОЛЬКО полностью со своим софтом.

Ацкий_Кот
29.06.2015, 10:28
И так я на работе , есть две недели на доделку проекта, потом новая работа, как там будет ли время хз.

Что имеем на данный момент

после того как повесили CANL на землю получаем циклические пакеты

ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF
ID: 4E7 Data: 67 01 FE FF FF FF FF FF

если выставить скорость 125 то пакет остается один

ID: 4E7 Data: 67 01 FE FF FF FF FF FF

причем андруинка его не видит, видет только elm-ка

Ацкий_Кот
29.06.2015, 10:32
написал чуваку с вулкано, что бы это могло быть , он ответил

I did never get 4E7 I think, maybe you have an older controler, they are a little bit different?

Типо он не получал пакеты с 4E7, возмжно контроллеры разные.

Но

Anyway, 5E7 is described here for my controller

тобишь 5Е7 у него было и это норм, возможно 4Е7 это посылка типа ошибка или чтото в этом роде.

Думаем дальше...

Ацкий_Кот
29.06.2015, 14:45
Пока склоняюсь , что джой принимать не может из-за костыля в виде CANL - на земле.

YAM1966
29.06.2015, 14:56
Пока склоняюсь , что джой принимать не может из-за костыля в виде CANL - на земле.

У меня он так и работает, CANL джойстика и драйвера MCP2551 на земле.
TJA1055T (http://www.nxp.com/documents/data_sheet/TJA1055.pdf) - fault tolerant трансивер.
В Table 4. Bus failures это 4-й вариант.
По этой таблице CANL вообще можно не подключать, или закоротить на массу, на питание, на батарею, или вообще на CANH и все будет работать...

p.s.
пакеты с ID 0x4E7 и 0x5E7 я тоже от него получаю.

Ацкий_Кот
30.06.2015, 11:59
У меня он так и работает, CANL джойстика и драйвера MCP2551 на земле.
TJA1055T (http://www.nxp.com/documents/data_sheet/TJA1055.pdf) - fault tolerant трансивер.
В Table 4. Bus failures это 4-й вариант.
По этой таблице CANL вообще можно не подключать, или закоротить на массу, на питание, на батарею, или вообще на CANH и все будет работать...

p.s.
пакеты с ID 0x4E7 и 0x5E7 я тоже от него получаю.

Так так , а обязательно второй кан адаптер сажать на массу ?
у меня джой к акб подключен,
сейчас попробую посадить на массу шилд и елмку

Ацкий_Кот
30.06.2015, 12:03
не не помогло, приехала микруха tja1050 попробую ее

я так понимаю , что джой не принимает посылки...

Ацкий_Кот
30.06.2015, 12:06
YAM1966, Я правильно понимаю , что достаточно послать на 202 адрес FD 00
и подсветка должна включиться без всяких доппосылок

Ацкий_Кот
30.06.2015, 12:43
Блин косякнул с 1050 обломал ногу (((, ждем следующую и пытаемся заставить работать то что есть

YAM1966
30.06.2015, 13:27
YAM1966, Я правильно понимаю , что достаточно послать на 202 адрес FD 00
и подсветка должна включиться без всяких доппосылок

Если это первое включение, то надо его передать 2 раза, так на первый пакет девайс только проснется...

Ацкий_Кот
30.06.2015, 19:54
Если это первое включение, то надо его передать 2 раза, так на первый пакет девайс только проснется...

Постоянно передаю, толку ноль пока.... Такое чувство что джой не видит данные.

Попробую его завтра диагностикой пройтись, шнурок беховский есть , прога тоже.

YAM1966
30.06.2015, 19:57
Постоянно передаю, толку ноль пока.... Такое чувство что джой не видит данные.

Попробую его завтра диагностикой пройтись, шнурок беховский есть , прога тоже.

Ну, если есть осциллограф - это элементарно проверить на выходе данных в приемопередатчике джойстика, а не гадать.

Ацкий_Кот
01.07.2015, 11:02
Ну, если есть осциллограф - это элементарно проверить на выходе данных в приемопередатчике джойстика, а не гадать.

надо будет попробовать

Ацкий_Кот
06.07.2015, 11:11
Заказал такой модуль , ждем
MCP2515 CAN Bus модуль TJA1050

awtoap
06.07.2015, 11:17
Вроде как TJA1050 тоже самое, что и MCP2551...тебе нужен fault-tolerant трансивер.

Ацкий_Кот
06.07.2015, 15:56
Вроде как TJA1050 тоже самое, что и MCP2551...тебе нужен fault-tolerant трансивер.
Можно подробнее ? на какой микросхеме сборку лучше взять? я так понимаю 53 , 54 ?

awtoap
06.07.2015, 18:27
1054 точно

Ацкий_Кот
07.07.2015, 09:56
1054 точно

а есть ли аналог 1054 только исполнение 8ног ?

awtoap
07.07.2015, 12:43
пока не подскажу

Ацкий_Кот
09.07.2015, 10:57
пока не подскажу

Ждем тогда как приедет 1054, вернее я даже два заказал 1050 и 1054,и будем экспериментировать дальше.

lti1
09.07.2015, 11:07
Что то у меня тоже не получилось, ни с Arduino + CAN-BUS Shield, ни с CAN Hacker (http://www.carhelp.info/forums/showthread.php?t=97740). iDrive просыпается, подсветка включается, а данные от него не идут, CAN-L на землю или нет, не важно. Заказал TJA1055.

Ацкий_Кот
09.07.2015, 13:39
Что то у меня тоже не получилось, ни с Arduino + CAN-BUS Shield, ни с CAN Hacker (http://www.carhelp.info/forums/showthread.php?t=97740). iDrive просыпается, подсветка включается, а данные от него не идут, CAN-L на землю или нет, не важно. Заказал TJA1055.

Вот у меня наоборот данные от него идут а к нему нет, вот по этому заказал туже что внутри стоит 1054, 55 скорее всего не пойдет , кто вкурсе поправте, а то может тоже 55 заказать ?

update 1054 и 1055 полностью идеинтичны по функционалу, отличаются тока 55 улучшенной защитой по высокому напряжению и более морозоустойчива -50 против -40

lti1
09.07.2015, 17:30
update 1054 и 1055 полностью идеинтичны по функционалу, отличаются тока 55 улучшенной защитой по высокому напряжению и более морозоустойчива -50 против -40
Что то про морозоустойчивость ни чего не нашел. (http://www.ru.nxp.com/products/interface_and_connectivity/can_lin_flexray_transceivers/can_transceivers/TJA1055T.html)
The most important improvements of the TJA1055 with respect to the TJA1054 and TJA1054A are:
Improved ElectroStatic Discharge (ESD) performance
Lower current consumption in sleep mode
Wake-up signalling on RXD and ERR without VCC active
3 V interfacing with microcontroller possible with TJA1055T/3

Kisel39
11.07.2015, 08:38
К сожелению джойстик не разбирая передал lti1, но могу для эксперемента купить еще один. Кому потом понадобится отдам, мне он без надобности.
Всё намного проще, надо из джойстика выпаять tja1055, ведь в реальный can не собираетесь его подключать , использовать только rx tx, и из адаптера так же изъять mcp2551, вывод 4 ERR подключить к vcc , а вот с 1 INH надо разобраться.
Mcp2515 подключить напрямую к процу джойстика.
Сфоткайте крупным планом плату.

lti1
12.07.2015, 02:41
Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто.Не досмотрел, оказывается у меня не правильный iDrive с кнопкой Media, а не CD.
40427
Необходим правильный пакет инициализации, а его никто ни где не описывает или он для старых авто.
p.s. договорился с BMW-шниками снифануть обмен на реальной шине....Юрий, если получится, поделитесь?

YAM1966
12.07.2015, 11:07
Не досмотрел, оказывается у меня не правильный iDrive с кнопкой Media, а не CD.
Юрий, если получится, поделитесь?
Ну почему-же он не правильный :wink2: .
Поделюсь, осталось за малым. Найти авто с таким джойстиком и снять протокол.
У меня мой с MEDIA только подсветку и включает.
А вот с кнопкой CD все пучком (нашел на местном СТО X5 с таким джойстиком и снял лог)

p.s.
Сначала писал Pavel Paces (http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6979432&punumber%3D6950783) по поводу инициализации, в ответ "Hi Yuri, what is it for us in this deal? Many regards, Pavel.".
Думаю понятно...

Ацкий_Кот
14.07.2015, 20:52
К сожелению джойстик не разбирая передал lti1, но могу для эксперемента купить еще один. Кому потом понадобится отдам, мне он без надобности.
Всё намного проще, надо из джойстика выпаять tja1055, ведь в реальный can не собираетесь его подключать , использовать только rx tx, и из адаптера так же изъять mcp2551, вывод 4 ERR подключить к vcc , а вот с 1 INH надо разобраться.
Mcp2515 подключить напрямую к процу джойстика.
Сфоткайте крупным планом плату.

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

lti1
21.07.2015, 01:28
Наконец то "завел" свой iDrive с кнопкой Media, только пока не работает энкодер, буду копать дальше. Видео работы. (https://www.dropbox.com/s/89z5wy50u02c6j5/iDrive_1.mov?dl=0)
Подключал к Arduino при помощи самодельного CAN-BUS Shield (http://pccar.ru/showthread.php?p=289078#post289078), без подключения CAN-L на землю и без термирующего резистора, просто CAN-L к CAN-L, а CAN-H к CAN-H.

YAM1966
23.07.2015, 20:38
Завелся и энкодер на джойстике с кнопкой MEDIA
-FK7HH5PY1s

Ацкий_Кот
23.07.2015, 23:50
Так один я опаздываю, значит так понимаю, не в шильде дело , или я что то упускаю ?

lti1, так почему ранее не работало? или с нормальным шилдом не работало, а с самодельным заработало , правильно ?
значит собака зарылась именно в шилде ?

зы еще вижу отличие что у меня джойстик с кнопкой сд вместо медиа, но думаю тут не принципиально

lti1
24.07.2015, 14:50
Завелся и энкодер на джойстике с кнопкой MEDIA
Подтверждаю, все заработало. Видео работы. (https://www.dropbox.com/s/266afuq32x1ztoc/iDrive%2BCAN-BUS_Shield%2BArduino.mov?dl=0) Юрий, спасибо за подсказки!
Так один я опаздываю, значит так понимаю, не в шильде дело , или я что то упускаю ?

lti1, так почему ранее не работало? или с нормальным шилдом не работало, а с самодельным заработало , правильно ?
значит собака зарылась именно в шилде ?
У меня дело было не в шилде, подозреваю, что у Вас тоже не в этом дело. Микросхемы, что на самодельном, что на "нормальном" шилде одинаковые MCP2551 и MCP2515. На массу CAN-L подключать не нужно, так же не нужно подключать термирующий резистор, и без этого все работает. Подсветка кнопок у Вас регулируется? 202 FD 00 - максимальная яркость, 202 00 00 - минимальная.
зы еще вижу отличие что у меня джойстик с кнопкой сд вместо медиа, но думаю тут не принципиально
Разница есть, у Юрия работает и с кнопкой CD и с MEDIA. У меня один джойстик iDrive, с кнопкой MEDIA.

Ацкий_Кот
24.07.2015, 21:40
Подсветка кнопок у Вас регулируется? 202 FD 00 - максимальная яркость, 202 00 00 - минимальная.

Разница есть, у Юрия работает и с кнопкой CD и с MEDIA. У меня один джойстик iDrive, с кнопкой MEDIA.

Нет подсветка не включается, уточните , а какая скорость Can у вас ?

lti1
24.07.2015, 21:47
Нет подсветка не включается, уточните , а какая скорость Can у вас ?100 кбит/сек.

YAM1966
26.07.2015, 19:12
Сделал поддержку обоих видов джойстиков в своем контроллере версии 4 (http://pccar.ru/showthread.php?p=333778#post333778).

lti1
26.07.2015, 21:13
А я скрестил с Remote Inputs Manager (http://forum.xda-developers.com/showthread.php?t=2635159), вот, что получилось (https://www.dropbox.com/s/yz1elfc34aw6igf/iDrive%2BRemoteInputsMgr.mov?dl=0).

Ацкий_Кот
30.07.2015, 15:17
Не могу понять в чем же у меня загвоздка, у вас YAM1966 , lti1 , новые контроллеры ?
может мой нужно закодировать как либо...
Я уже не знаю куда еще копать , с 1050 вообще никакой реакции, жду 1054 скоро приедет, или у меня контроллер какой капризный,
какой номер у вас на контроллере выбит ?

YAM1966
30.07.2015, 15:33
Не могу понять в чем же у меня загвоздка, у вас YAM1966 , lti1 , новые контроллеры ?
может мой нужно закодировать как либо...
Я уже не знаю куда еще копать , с 1050 вообще никакой реакции, жду 1054 скоро приедет, или у меня контроллер какой капризный,
какой номер у вас на контроллере выбит ?

Задница моего с MEDIA (http://firepic.org/?v=6.2015-07-30_rob71glyfnml.jpg).
С CD отдал уже...

Ацкий_Кот
30.07.2015, 15:39
Задница моего с MEDIA (http://firepic.org/?v=6.2015-07-30_rob71glyfnml.jpg).
С CD отдал уже...
Спасиб, но это точно не мойу мну с СД )

lti1
30.07.2015, 15:57
Задница моего с MEDIA (http://firepic.org/?v=6.2015-07-30_rob71glyfnml.jpg).
С CD отдал уже...У меня такой же.

Ацкий_Кот
31.07.2015, 10:58
lti1, у тебя тоже б\у контроллер ?

lti1
31.07.2015, 11:16
lti1, у тебя тоже б\у контроллер ?Да, но по моему навряд ли это на что то влияет.

Ацкий_Кот
31.07.2015, 11:50
Да, но по моему навряд ли это на что то влияет.

Вот если с 1054 не заработает , то остается два варианта, либо мой новый контроллер не рабочий, либо действительно пока не закодируешь его под машину , работать не будет...

YAM1966
31.07.2015, 12:44
Вот если с 1054 не заработает , то остается два варианта, либо мой новый контроллер не рабочий, либо действительно пока не закодируешь его под машину , работать не будет...

Периферия под машину не кодируется, так как можно элементарно ставить любые однотипные джойстики на авто.
Даже такой на место такого.
http://cnet1.cbsistatic.com/hub/i/r/2009/03/17/58cdda6e-cc2e-11e2-9a4a-0291187b029a/resize/620x/32cce4ef0743cd13c81945dec0e7a1ee/idrive-gen-1-2.jpg

lti1
31.07.2015, 13:07
Вот если с 1054 не заработает , то остается два варианта, либо мой новый контроллер не рабочий, либо действительно пока не закодируешь его под машину , работать не будет...Периферия под машину не кодируется, так как можно элементарно ставить любые однотипные джойстики на авто.
Даже такой на место такого.Я тоже думаю, что у Вас сложность в чем то другом.
Вы пробовали обмениваться данными по CAN с каким то ещё устройством, например считать, что то в авто и отправить какой то пакет?
Скетч выложите.
Проверьте, этот скетч должен плавно вначале прибавить яркость подсветки кнопок, потом убавить.
#include <mcp_can.h>
#include <SPI.h>

long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];

MCP_CAN CAN0(10);

unsigned char stmp0[2] = {0xFD,0x00}; // 0x202

void setup()
{
CAN0.begin(CAN_100KBPS);
}

void loop()
{
for (int i=0; i <= 253; i++)
{
stmp0[0] = i;
CAN0.sendMsgBuf(0x202, 0, 2, stmp0);
delay(5);
}
delay(1000);
for (int i=253; i >= 0; i--)
{
stmp0[0] = i;
CAN0.sendMsgBuf(0x202, 0, 2, stmp0);
delay(5);
}
delay(1000);
}

Ацкий_Кот
31.07.2015, 14:43
Спасибо попробую, кстати приехала 1054 вечером ее заберу с почты,
выходные пройдут в экспериментах )))

да я посылал команды шилдом, и ловил их же elm327

Agrimotor
08.09.2015, 17:41
Здравствуйте, изучил всю ветку форума о джойстике. У меня на руках оказался Джойстик idrive с клавишей медиа и переходник USB <-> CAN, не могу его даже разбудить. так как я вижу что вы решили задачку прошу о помощи, можно пример наполнения сообщения о инициализации? какой вводить ID в сообщение и на какой скорости передачи?

Зарание спасибо.

lti1
08.09.2015, 21:19
Здравствуйте, изучил всю ветку форума о джойстике. У меня на руках оказался Джойстик idrive с клавишей медиа и переходник USB <-> CAN, не могу его даже разбудить. так как я вижу что вы решили задачку прошу о помощи, можно пример наполнения сообщения о инициализации? какой вводить ID в сообщение и на какой скорости передачи?

Зарание спасибо.
Яркость подсветки на джойстике с помощь скетча из этого поста (http://pccar.ru/showthread.php?p=334181#post334181) меняется?

Agrimotor
09.09.2015, 09:13
Пока только подключил к CAN, у меня переходник, на компе что-то вроде терминала, вопрос в том что 0x202 - это ID в шестнадцатиричном виде или же первый байт сообщения?

lti1
09.09.2015, 09:17
Пока только подключил к CAN, у меня переходник, на компе что-то вроде терминала, вопрос в том что 0x202 - это ID в шестнадцатиричном виде или же первый байт сообщения?А, невнимательно прочел Ваше первое сообщение. Скорость 100 кбит/сек, ID: 202, отправлять нужно два байта FD 00, при этом подсветка должна включится, если отправить 00 00, яркость подсветки должна стать минимальной.

YAM1966
09.09.2015, 10:58
В новых джойстиках стоят TJA1043T, скорость в них 500Kbit/s....

Agrimotor
09.09.2015, 11:30
На сообщения что-то ноль реакции, А вы еще не могли бы подсказать, джойстик сам питаеться от каого напряжения?

YAM1966
09.09.2015, 11:31
На сообщения что-то ноль реакции, А вы еще не могли бы подсказать, джойстик сам питаеться от каого напряжения?
Его распиновка:
1 +12V
2 GND
3 CANH
4 CANL

casper82
10.09.2015, 21:25
Как я понимаю, через Ваш Hid контроллер можно подключить idrive джойстик. Но как я понял, вариантов джойстиков несколько - с какими работает?

YAM1966
10.09.2015, 22:17
Как я понимаю, через Ваш Hid контроллер можно подключить idrive джойстик. Но как я понял, вариантов джойстиков несколько - с какими работает?

Проверял с такими:
41005
Со всеми работает.

Agrimotor
14.09.2015, 11:00
А, невнимательно прочел Ваше первое сообщение. Скорость 100 кбит/сек, ID: 202, отправлять нужно два байта FD 00, при этом подсветка должна включится, если отправить 00 00, яркость подсветки должна стать минимальной.

Удалось зажечь подсветку на джойстике!
А как получить с него данные?

Agrimotor
14.09.2015, 17:18
Мне удалось получить значения всех кнопок, но ни ка не могу справиться с вращающейся частью.

Ацкий_Кот
22.09.2015, 22:35
Ох чет с новой арбайтен из темы выпал, надо наверстать

YAM1966
23.09.2015, 12:40
В версии 8.04 для iDrive добавлена поддержка джойстиков, работающих на скорости 500KBit/s. Фото джойстика в шапке (http://pccar.ru/showthread.php?t=20460).
41094

Сержок
28.10.2015, 23:16
Видео готового устройства с демонстрацией работы джойстика есть у кого?

lti1
28.10.2015, 23:46
Видео готового устройства с демонстрацией работы джойстика есть у кого?
http://pccar.ru/showpost.php?p=330919&postcount=72
http://pccar.ru/showpost.php?p=333556&postcount=106
http://pccar.ru/showpost.php?p=333785&postcount=112

romansson
11.12.2015, 19:35
И так вступил на этот непростой путь.
Имеется:
1. китайски клон Arduino UNO,
2. именно такой Can Bus Shield
http://www.elecfreaks.com/wiki/index.php?title=CAN-BUS_Shield.

Подопытные джойстики:
1. Третий джойстик слева из поста YAM1966
http://pccar.ru/attachment.php?attachmentid=41094&thumb=1&d=1442997819. Кнопка CD. Отличается артикулом(мой 9240956).

2. Самый обычный джойстик от системы MASK/CCC.Артикул 6979472.

http://i.ebayimg.com/00/s/MTYwMFgxMjAw/z/cgUAAOSwMmBVzyQv/$_1.JPG.

Второй джойстик рабочий 100% с первым пока не ясно.

Для проверки работоспособности использовал скетч lti1 с морганием подсветкой. При подключении CAN-h(ar)<--->Can-h(Con) и CAN-L(ard)<---CAN-L(con) ничего не работает. Если L с обеих сторон посадить на землю, то джойстик начинает плавно гаснуть-и загораться.

Теперь проблема с приёмом, потому как у меня принимается тоже, что и у ТС, а именно:

ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF

Поделитесь, pls, рабочим скетчем или соображениями о том, что делать дальше. Пока топчусь на месте изучая комбинации с/без нагрузочного резистора и землей.

Ацкий_Кот
12.01.2016, 17:46
Второй джойстик рабочий 100% с первым пока не ясно.

Для проверки работоспособности использовал скетч lti1 с морганием подсветкой. При подключении CAN-h(ar)<--->Can-h(Con) и CAN-L(ard)<---CAN-L(con) ничего не работает. Если L с обеих сторон посадить на землю, то джойстик начинает плавно гаснуть-и загораться.

Теперь проблема с приёмом, потому как у меня принимается тоже, что и у ТС, а именно:

ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF

Поделитесь, pls, рабочим скетчем или соображениями о том, что делать дальше. Пока топчусь на месте изучая комбинации с/без нагрузочного резистора и землей.

Скетчи есть в теме, у меня катастрофически времени не хватает на продолжение эксперемента, но надеюсь добью джой.
У вас хоть подсветка работает )

Garen
13.01.2016, 14:06
Это джой для плеера? Объясните пожалуйста.
Или его можно замакросить и на другие функции? Или это фантастика?

YAM1966
13.01.2016, 14:09
Это джой для плеера? Объясните пожалуйста.
Или его можно замакросить и на другие функции? Или это фантастика?
Это штатный джойстик от BMW для управления чем угодно, хоть подводной лодкой ;) через его CAN интерфейс.
Обычно используют на авто для управления мультимедиа.

lti1
13.01.2016, 14:09
Это джой для плеера? Объясните пожалуйста.
Или его можно замакросить и на другие функции? Или это фантастика?
Это джойстик для BMW :smile1:
http://pccar.ru/showthread.php?t=20460

YAM1966
13.01.2016, 14:12
Это джойстик для BMW :smile1:
http://pccar.ru/showthread.php?t=20460

Уточню, не ДЛЯ BMW, а ОТ BMW :derisive:
Иногда думают что раз он от BMW, то только в BMW и можно использовать...

lti1
13.01.2016, 14:18
Уточню, не ДЛЯ BMW, а ОТ BMW :derisive:Ну если б/у то ОТ, а если новый то ДЛЯ :smile1:
Иногда думают что раз он от BMW, то только в BMW и можно использовать...Ну для этого можно почитать эту тему. В подписи не у меня ни у тебя BMW нет:smile1:
Ну не сдержался я...

Ацкий_Кот
13.01.2016, 14:53
Это джой для плеера? Объясните пожалуйста.
Или его можно замакросить и на другие функции? Или это фантастика?

На любые функции, как говориться чего душа пожелает.

romansson
02.02.2016, 19:42
У это джойстики от BMW для BMW) Цель управлять планшетом, нештатными камерами кругового обзора, а так же штатным БК с этого джойстика. Врезаюсь в разрез джойстика и в определенный момент ретранслирую его сигналы автомобилю, а в определенный нет.
Но вот тем, чтобы получить что-то от джойстика - проблемы. Доигрался с землей и напряжениями, так, что спалил Arduino.
Если подсветка моргает, то значит джойстик инициализировался и по идее должен передавать команды, я правильно помнимаю?

Ацкий_Кот
04.02.2016, 20:35
У это джойстики от BMW для BMW) Цель управлять планшетом, нештатными камерами кругового обзора, а так же штатным БК с этого джойстика. Врезаюсь в разрез джойстика и в определенный момент ретранслирую его сигналы автомобилю, а в определенный нет.
Но вот тем, чтобы получить что-то от джойстика - проблемы. Доигрался с землей и напряжениями, так, что спалил Arduino.
Если подсветка моргает, то значит джойстик инициализировался и по идее должен передавать команды, я правильно помнимаю?

Если подсветка отвечает, то да. Только загрузите скетч где не моргает а просто включается.

Ацкий_Кот
13.06.2016, 02:21
И так вступил на этот непростой путь.
.........................
Для проверки работоспособности использовал скетч lti1 с морганием подсветкой. При подключении CAN-h(ar)<--->Can-h(Con) и CAN-L(ard)<---CAN-L(con) ничего не работает. Если L с обеих сторон посадить на землю, то джойстик начинает плавно гаснуть-и загораться.

Теперь проблема с приёмом, потому как у меня принимается тоже, что и у ТС, а именно:

ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF

Поделитесь, pls, рабочим скетчем или соображениями о том, что делать дальше. Пока топчусь на месте изучая комбинации с/без нагрузочного резистора и землей.

Есть прогресс ? Я наконец нашел время тоже продолжить ломать свой джой.

Ацкий_Кот
13.06.2016, 17:37
C 1054 каном, показывает ошибку в санщине, выключил детект ошибок но результата нет, блин таки кажись джой наверно бракованный все больше склоняюсь к этой версии , буду дальше его пытать, если не получиться, наверное подключусь мимо кан контроллера на тх-rx

Ацкий_Кот
13.06.2016, 18:01
Есть прогресс с 1054 каном
джой сыпет
ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF
без сажания на землю L линии

ковыряю дальше...

Ацкий_Кот
13.06.2016, 19:26
Кажись я поторопился с выводами, это "спамит" как раз контроллер кан...
То есть его поведение как джостик с Л-на земле

Ацкий_Кот
13.06.2016, 20:20
Выяснил следующее
1050 совместим 1054 , но не совместим 2551

тоесть шилд с 2551 не работает ни с 1050 ни с 1054,
данные не бегают

продолжаю эксперемент

lti1
13.06.2016, 21:23
Зато 2551 великолепно работает с iDrive без всяких подтяжек к земле :smile1:
Вообще странно, 2551 - это аналог 1050 (или наоборот).

Ацкий_Кот
13.06.2016, 22:16
И так выводы, джой походу не рабочий, я напрамую соеденил rxtx и на выхо джоя видел нужные посылки, тока сам джой не але...

Микросхема 1055 в джое работает в обе стороны отлично. посмотрю можно ли что сделать с джоем и если ничо буду искать другой

Ацкий_Кот
13.06.2016, 22:18
Зато 2551 великолепно работает с iDrive без всяких подтяжек к земле :smile1:
Вообще странно, 2551 - это аналог 1050 (или наоборот).
нене вот как раз 2551 требует подтяжки

Ацкий_Кот
13.06.2016, 22:31
Пауза до того как найду новый джой

Ацкий_Кот
13.06.2016, 22:41
Если у кого есть джой, предложения в личку

lti1
13.06.2016, 23:51
нене вот как раз 2551 требует подтяжки
Повторюсь, подтяжка не требуется, вот подтверждение http://pccar.ru/showthread.php?p=333785#post333785

Управление подсветкой заработало?

Ацкий_Кот
15.06.2016, 00:36
Повторюсь, подтяжка не требуется, вот подтверждение http://pccar.ru/showthread.php?p=333785#post333785

Управление подсветкой заработало?
у меня джой дохлый

Ацкий_Кот
30.06.2016, 23:38
С новым джоем влет все заработало

Ацкий_Кот
30.06.2016, 23:54
теперь осталось научится принимать от него

Ацкий_Кот
01.07.2016, 00:44
плиз, поделитесь ардуино кодом приема , а то на рх \ тх есть данные, а ардуинка молчит

Ацкий_Кот
23.11.2016, 00:23
Помогите топикстартеру , не понимаю почему с джоя не вижу пакетов....

vtyns
08.12.2016, 22:34
ребят кто сможет сделать контроллер для idrive и планшета? желательно ближе к краснодару или по россии. пишите в личку,, цену и все обсудим

cup_root
14.01.2017, 18:31
Друзья, всех рад приветствовать!
Иду двумя путями и пока... два тупика.
Первый: Arduino UNO (https://duino.ru/arduino-uno-ch340g.html), MCP2515 (с TJA1050) Shield.
Пытаюсь залить предложенный скетч для регулировки яркости - не работает никак.

Второй OBD-II DCAN <---> USB (INPA) адаптер (MCP2515 с TJA1040). Пытаюсь включить подсветку - тоже никак.

Джойстик с моей машины, там работает.

lti1
14.01.2017, 18:50
На шилде MCP2515 (с TJA1050) кварц у Вас стоит 8 мгц, а большинство библиотек написаны под 16 мгц, поищите, на форуме где-то было решение. Так же попробуйте поменять скорость CAN шины на 500 кбит.
А вообще есть отличное готовое решение http://pccar.ru/showthread.php?t=20460

cup_root
14.01.2017, 19:14
Спасибо за такой быстрый ответ!
Скорость CAN-шины для этого джоя именно 100 - это K-CAN, а не PT-CAN.
В скетче я пробовал инициализировать под 8МГц, но не помогло. Кстати строка:
CAN0.begin(CAN_100KBPS);
- дает ошибку:
no matching function for call to 'MCP_CAN::begin(int)'
съедает только в таком виде:

if (CAN0.begin(MCP_ANY, CAN_100KBPS, MCP_8MHZ)==CAN_OK) Serial.println("MCP2515 Initialized Successfully!");
else Serial.println("Error Initializing MCP2515...");

Может надо какую-то другую библиотеку искать?

Ацкий_Кот
26.01.2017, 01:35
Может надо какую-то другую библиотеку искать?
А физически все правильно подключено, стандартная библиотека норм работает, у меня запускается управление светом, а вот от джоя данные получить не могу.

per2per
10.11.2017, 19:18
привет всем собрал гетвей из ардуино https://www.youtube.com/watch?v=x615yKLVCF0 . Кодирую на столе блоки через инженерки. При программировании вываливается ошибка. Похоже изза отсутствия сигнала wake up. Пробовал sam и frm блоки.

IAmOrion
29.07.2018, 00:40
Hi, sorry to bring up and old thread, but has anyone been successful with the PCB from volcano.at/iDrive ?

I've seen some people here mention it. I've made the circuit, and following someone post in this thread, I tested the code with 0x202 to make the light fade in and out, and it WORKS.

The problem is, I don't get anything FROM the device :(

Here's the schematic

http://www.volcano.at/iDrive/wp-content/uploads/2015/06/Micro-Shield.png

The code I am using is here:

http://www.volcano.at/iDrive/?page_id=268

But, because he doesn't give the iDrive.h file which has he codes, I'm kind of guessing I think. I wonder if it's because I'm not "waking" the device so it never sends anything - even when the light is on, it does nothing.

Here is my code for iDrive.h


const byte interruptPin = 3;

#define MSG_IN_INPUT 0x267
#define MSG_INPUT_BUTTON 0xc0
#define MSG_INPUT_BUTTON_MENU 0x01
#define MSG_INPUT_BUTTON_BACK 0x02
#define MSG_INPUT_BUTTON_OPTION 0x04
#define MSG_INPUT_BUTTON_RADIO 0x08
#define MSG_INPUT_BUTTON_CD 0x10
#define MSG_INPUT_BUTTON_NAV 0x20
#define MSG_INPUT_BUTTON_TEL 0x40
#define MSG_INPUT_CENTER 0xde
#define MSG_INPUT_STICK 0xdd
#define MSG_INPUT_STICK_UP 0x1
#define MSG_INPUT_STICK_RIGHT 0x2
#define MSG_INPUT_STICK_DOWN 0x4
#define MSG_INPUT_STICK_LEFT 0x8
#define MSG_INPUT_STICK_CENTER 0x0
#define MSG_INPUT_PRESSED 0x01
#define MSG_INPUT_RELEASED 0x00

#define MSG_IN_ROTARY 0x264
#define MSG_IN_ROTARY_INIT 0x277
#define MSG_IN_PING_REPLY 0x563
#define MSG_IN_STATUS 0x991
#define MSG_STATUS_NO_INIT 0x992
#define MSG_IN_TIMEOUT 0x993

#define MSG_OUT_ROTARY_INIT 0x123
#define MSG_OUT_DIM 0x202
#define MSG_OUT_WAKEUP 0x267 //0x1B8 //0x267


Apologies too, I don't speak, read or write Russian, so I've been browsing the forum using google translate.

EDIT: I have already paid Yuriy (YAM1966) for his board which is in the post on it's way to me, but I would still like to know why I can't make this work

Google translation of above:

Привет, извините, что воспитывал и старую нить, но кто-нибудь удался с PCB от volcano.at/iDrive?

Я видел, как некоторые люди упоминают об этом. Я сделал схему и после того, как кто-то опубликовал эту тему, я проверил код с 0x202, чтобы заставить свет исчезать и исчезать, и он РАБОТАЕТ.

Проблема в том, что я ничего не получаю от устройства :(

Вот схематическая

[IMG] http://www.volcano.at/iDrive/wp-content/uploads/2015/06/Micro-Shield.png [/ IMG]

Код, который я использую, приведен здесь:

http://www.volcano.at/iDrive/?page_id=268

Но, поскольку он не дает файл iDrive.h, который имеет коды, я думаю, что я думаю. Интересно, не потому ли, что я не «пробуждаю» устройство, чтобы он никогда ничего не посылал - даже когда свет горит, он ничего не делает.

Вот мой код для iDrive.h

Извинения тоже, я не говорю, не читаю и не пишу по-русски, поэтому я просматриваю форум с помощью google translate.

EDIT: Я уже заплатил Юрию (YAM1966) за его совет, который находится в должности на моем пути, но мне все равно хотелось бы знать, почему я не могу сделать эту работу

kostyasha
13.01.2019, 17:34
Джойстик с 500кбит/с, адаптер 2515 проскакивают 5E7 (rotary state), но кнопки и крутилка дают команды. А вот сенса (если она там есть, но шайба здоровая и джойстик 2017 года) молчит. Для нее отдельная инициализация случайно не нужна?

Vladget
13.01.2019, 18:32
Hi, sorry to bring up and old thread, but has anyone been successful with the PCB from volcano.at/iDrive ?

.....

http://www.volcano.at/iDrive/wp-content/uploads/2015/06/Micro-Shield.png

The code I am using is here:

http://www.volcano.at/iDrive/?page_id=268

..............
Apologies too, I don't speak, read or write Russian, so I've been browsing the forum using google translate.

EDIT: I have already paid Yuriy (YAM1966) for his board which is in the post on it's way to me, but I would still like to know why I can't make this work

......

EDIT: Я уже заплатил Юрию (YAM1966) за его совет, который находится в должности на моем пути, но мне все равно хотелось бы знать, почему я не могу сделать эту работу

Это что ?? http://www.volcano.at/iDrive/?page_id=268 это не открывается

"Not Found
The requested URL /iDrive/wp-content/uploads/2015/06/Micro-Shield.png was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."

надо исправить !!

kostyasha
22.01.2019, 04:24
Джойстик с 500кбит/с, адаптер 2515 проскакивают 5E7 (rotary state), но кнопки и крутилка дают команды. А вот сенса (если она там есть, но шайба здоровая и джойстик 2017 года) молчит. Для нее отдельная инициализация случайно не нужна?

В общем на последних моделях джойстиков им нужен еще и активатор тача.