Совместными усилиями с lti1 (точнее это полностью его заслуга) данные кнопок пошли с таким скетчем:
PHP код:
#include <can.h>
#include <SPI.h>
#include <mcp2515.h>
struct can_frame canMsg;
MCP2515 mcp2515(10);
void setup() {
Serial.begin(115200);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_33KBPS);
mcp2515.setNormalMode();
Serial.println("------- CAN Read ----------");
Serial.println("ID DLC DATA");
}
void loop() {
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK)
{
if ((canMsg.can_id & 0x1FFFFFFF) == 0x10438040) //фильтр по ID, при необходимости раскомментировать
{ //фильтр по ID, при необходимости раскомментировать
Serial.print("[");
Serial.print((canMsg.can_id & 0x1FFFFFFF), HEX);
Serial.print("] [");
Serial.print(canMsg.can_dlc, HEX);
Serial.print("] ");
for (int i = 0; i<canMsg.can_dlc; i++) {
Serial.print(canMsg.data[i], HEX);
Serial.print(" ");
}
Serial.println();
}
}
}
Библиотеку работающую на скорости 33kbps прикладываю.
Осталось только понять как организовать из этого адаптер для кнопок руля для планшета (или в моем случае управление цифровым потенциометром mcp41100 на котором у меня сидит управление магнитолой Sony.