Upload files to "/"

This commit is contained in:
2026-02-20 17:50:40 +00:00
commit 1c20034fb0
31 changed files with 6095 additions and 0 deletions

51
can_handler.h Normal file
View File

@@ -0,0 +1,51 @@
// can_handler.h - CAN FD Handler for MCP2518FD
#ifndef CAN_HANDLER_H
#define CAN_HANDLER_H
#include <Arduino.h>
#include <ACAN2517FD.h>
#include <SPI.h>
#include "config.h"
#include "types.h"
// CAN Controller instance
extern ACAN2517FD canController;
// CAN status flags
extern volatile bool canInitialized;
extern volatile uint32_t canRxCount;
extern volatile uint32_t canTxCount;
extern volatile uint32_t canErrorCount;
extern volatile uint32_t canOverflowCount;
// Initialize CAN FD controller
bool initCAN();
// Set CAN mode (0=Normal, 1=ListenOnly, 2=Loopback, 3=ListenOnlyLoopback)
bool setCANMode(uint8_t mode);
// Get current CAN mode
uint8_t getCANMode();
// CAN RX Task (runs on Core 0)
void canRxTask(void *pvParameters);
// CAN TX Task (runs on Core 0)
void canTxTask(void *pvParameters);
// Send CAN frame
bool sendCANFrame(uint32_t id, uint8_t* data, uint8_t len, bool isFD = true);
// Set CAN baudrates
bool setCANBaudrate(uint32_t arbitrationBaud, uint32_t dataBaud);
bool setCANBaudrateAndMode(uint32_t arbitrationBaud, uint32_t dataBaud, uint8_t mode, bool enableFD = true);
void getCANStats(uint32_t& rx, uint32_t& tx, uint32_t& errors);
// Interrupt service routine (forward declaration)
void IRAM_ATTR onCANInterrupt();
#endif // CAN_HANDLER_H