29 lines
648 B
C++
29 lines
648 B
C++
#ifndef ZEPHYR_CAN_BUS_H
|
|
#define ZEPHYR_CAN_BUS_H
|
|
|
|
#include <zephyr/device.h>
|
|
|
|
#include "can_bus.h"
|
|
|
|
// Útfærsla á CanBus með Zephyr CAN-drivernum.
|
|
// Eini staðurinn þar sem CAN-rammar fara á milli Zephyr og okkar sniðs.
|
|
|
|
class ZephyrCanBus : public CanBus
|
|
{
|
|
private:
|
|
const struct device *dev;
|
|
|
|
public:
|
|
ZephyrCanBus();
|
|
|
|
// Bitrate, síur og ræsing. Skilar 0 eða neikvæðum villukóða
|
|
int begin();
|
|
|
|
bool send(const CanFrame &frame) override;
|
|
|
|
// Sækir einn ramma úr móttökubiðröðinni án þess að bíða
|
|
// Skilar true ef rammi var til. Ekki hluti af CanBus
|
|
bool receive(CanFrame &out);
|
|
};
|
|
|
|
#endif |