autowp/arduino-canhacker

компиляция для ESP32

iDenko opened this issue · 9 comments

Здравствуйте, Дмитрий. Хотел запустить ваш проект на ESP32, "прикрутить" к нему bluetooth. При компиляции скетча дает ошибку по библиотекам, выбираешь плату Nano3 - ошибок нет. Я так понимаю надо править библиотеку(и)? Возможно сделать версию для ESP32/ESP8266?

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

Присоединяюсь. Неплохо бы избавиться от MCP2515 и задействовать аппаратный CAN ESP32.

Я тут попробовал скрестить ужа с ежом. С lineReader похоже все ок, а вот в canHacker надо как то данные пересылать и принимать. Можт Дмитрий глянет, там вроде всего-ничего осталось дописать.
По крайней мере пакеты принимает.

#include <CAN.h>
#include <CanHacker.h>
#include <CanHackerLineReader.h>
#include <lib.h>

int packSize = 0;

#define t digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));

CanHackerLineReader *lineReader = NULL;
CanHacker *canHacker = NULL;

volatile bool canDataReceived = false;

void setup()
{
Serial.begin(115200);

// Serial.println("CAN Sniffer");
CAN.setPins(25, 27);

while (!CAN.begin(500E3)) {
	Serial.println("Starting CAN failed!");
	delay(1000);
}
// register the receive callback
CAN.onReceive(onReceive);

canHacker = new CanHacker(&Serial, NULL, NULL);
lineReader = new CanHackerLineReader(canHacker);

pinMode(LED_BUILTIN, OUTPUT);

}

void onReceive(int packetSize) {
canDataReceived = true;
packSize = packetSize;
t
}

void loop()
{
CanHacker::ERROR error;

if (canDataReceived)
{
	Serial.println(packSize);
	error = canHacker->processInterrupt();

	canDataReceived = 0;
	Serial.println(error);
}

}

void serialEventRun()
{
lineReader->process();
}

В качестве трансивера TJA1051

Solution here: https://github.com/mintynet/esp32-slcan

I have tried this with CAN Hacker but is not woring. arduino+mcp works well. esp32+sn65hvd23x does not wor well.

Any idea?

nevermind, ignore my previous message, I managed to get it working.

nevermind, ignore my previous message, I managed to get it working.

can you share code for esp32 to work with canhacker app?

nevermind, ignore my previous message, I managed to get it working.

How?