April 11th, 2020

Костерок

Фильтрация сообщений bxCAN на STM32F0x2

Кто бы подумал, что не так уж тривиально установить фильтр bxCAN на прием абсолютно всех сообщений!
По-наитию кажется: активируем нулевой фильтр в режиме MASK с нулями в ID и MASK (т.е. вообще ничего не трогаем, кроме CAN->FA1R = CAN_FA1R_FACT0;), и все зашибись!
А вот фигвам! Не работает оно так. Сижу, экспериментирую "методом Монте-Карло" (в гугле что-то глухо по этому поводу).
UPD: shit! В RM сказано, что регистры CAN_FiRx инициализируются как "0xXXXX XXXX"... Ну, охренеть просто... Добавил строчку CAN->sFilterRegister[0].FR1 = 0; — вуаля! Работает!!!
promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
Костерок

13-й день...

У нас народ придумал классный тег: "САОизоляция" и выкладывает под ним фотографии со своих прогулок.
Я сегодня прогулялся совсем немного: от силы километров 6 по асфальту. Зашел на работу за разъемами (чтобы удобно было к "девборде" шнурки подсоединять). Мне на работе сильно не хватает стола такой же ширины, как дома:

В идеале бы еще Г-образное дополнение справа, чтобы можно было еще больше железок разложить равномерным слоем…
Продолжаю работу над CAN-сниффером (который я почему-то на гитхабе обозвал "usbcdc").
Т.к. в STM32 нет фильтров, позволяющих не принимать сообщения от определенных идентификаторов, сделал софтовый буфер-фильтр на 10 штук. Теперь еще надо добавить возможность перенастройки фильтров из интерфейса, и можно сказать, более-менее полноценный сниффер будет готов — подключайся себе хоть с планшета к шине, да смотри, что там происходит.
После этого можно будет CAN'овский код переносить на управлялку шаговиками и уже заниматься непосредственно разработкой железяк для модернизации аппаратуры в Н2.