Files
ESP_Project4_H26/include/can_bus.h
T

26 lines
584 B
C++

#ifndef CAN_BUS_H
#define CAN_BUS_H
#include <stdint.h>
// Rammategund CANopen-lagsins. Óháð Zephyr: engin dlc, engin flags.
// CANopen notar bara 11-bita staðlað ID
struct CanFrame
{
uint16_t id;
uint8_t len; // Fjöldi bytes 0-8
uint8_t data[8];
};
// Það eina sem CANopen-lagið veit um CAN-businn
// Móttaka er ekki hér: main loop sækir ramma og gefur CanopenNode::process()
class CanBus
{
public:
virtual ~CanBus() {}
// Skilar false ef ekki tókst að setja rammann í sendibiðröð
virtual bool send(const CanFrame &frame) = 0;
};
#endif