26 lines
584 B
C++
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 |