autowp / arduino-canhacker

CanHacker (lawicel) CAN adapter on Arduino + MCP2515
MIT License
372 stars 114 forks source link

mcp2515 со скоростью 83.333 #1

Open Kronos-ooo opened 8 years ago

Kronos-ooo commented 8 years ago

Здравствуйте, Дмитрий! Подскажите пожалуйста, пытаюсь подключиться к interior can шине mercedes w220 ардуиной мега с can shield, чтобы посмотреть пакеты. Шина работает на частоте 83.333 кбит/с. Программа для просмотра canhacker. Соответственно, там такой скорости нет. На просторах интернета нашел программу mbtime для моего контроллера. Для необходимой скорости она мне выдает следующие параметры tq=8, brp-1=11, osc1=192, %err=83.333 Как их привести к необходимому виду для внесения в ручном режиме в canhacker не могу понять.

autowp commented 8 years ago

Действительно, в комманде S протокола Lawicel не предусмотрено такой скорости, однако в библиотеке https://github.com/autowp/arduino-mcp2515 такой режим описан.

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

https://github.com/autowp/arduino-canhacker/blob/master/CanHacker.cpp#L58

MCP2515::ERROR error = mcp2515->setBitrate(bitrate);
MCP2515::ERROR error = mcp2515->setBitrate(MCP2515::CAN_83K3BPS);
TheRo0T commented 7 years ago

Было бы удобно, если пользователь мог сам указать значение для регистров ( https://github.com/autowp/arduino-mcp2515/blob/master/mcp2515.h ) задающее скорость. Вроде в канхакере есть такой функционал.

evgeny5454 commented 4 years ago

Могу ли я поменять данную строчку кода: case '1': writeDebugStream(F("Set bitrate 20KBPS\n")); bitrate = CAN_20KBPS; break; На такой вариант: case '1': writeDebugStream(F("Set bitrate 20KBPS\n")); bitrate = CAN_83K3BPS; break;

Что бы при выборе 20KBPS модуль конфигурировался на скорость 83.3KBPS?

https://github.com/autowp/arduino-canhacker/blob/master/CanHacker.cpp#L58

autowp commented 4 years ago

можете

master8282 commented 4 years ago

Можно еще потом exeшник hex редактором открыть и заменить 20kbit/s на 83k3 b/s для эстетичности.

xeythum commented 8 months ago

Действительно, в комманде S протокола Lawicel не предусмотрено такой скорости, однако в библиотеке https://github.com/autowp/arduino-mcp2515 такой режим описан.

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

https://github.com/autowp/arduino-canhacker/blob/master/CanHacker.cpp#L58

MCP2515::ERROR error = mcp2515->setBitrate(bitrate);
MCP2515::ERROR error = mcp2515->setBitrate(MCP2515::CAN_83K3BPS);

Не получается при компиляции ошибку выдает.

xeythum commented 8 months ago

Действительно, в комманде S протокола Lawicel не предусмотрено такой скорости, однако в библиотеке https://github.com/autowp/arduino-mcp2515 такой режим описан.

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

https://github.com/autowp/arduino-canhacker/blob/master/CanHacker.cpp#L58

MCP2515::ERROR error = mcp2515->setBitrate(bitrate);
MCP2515::ERROR error = mcp2515->setBitrate(MCP2515::CAN_83K3BPS);

помогите, подправить код