Byggern
can.h
1 #pragma once
2 
6 struct CanMessage {
10  uint8_t size;
11 
15  uint8_t *data;
16 
20  uint16_t id;
21 
28  CanMessage(uint8_t size, uint8_t *data, uint16_t id): size(size), data(data), id(id){}
29 };
30 
34 class CAN{
35 
36 protected:
37  void (*upper_level)(CanMessage &data);
38 
39 public:
44  virtual void SendMessage(CanMessage &message) = 0;
45 
50  void SetUpperLevel(void (*handler)(CanMessage &data)) {
51  this->upper_level = handler;
52  }
53 };
Struct defining a CAN Message.
Definition: can.h:6
CanMessage(uint8_t size, uint8_t *data, uint16_t id)
Definition: can.h:28
uint16_t id
Definition: can.h:20
uint8_t * data
Definition: can.h:15
void SetUpperLevel(void(*handler)(CanMessage &data))
Definition: can.h:50
uint8_t size
Definition: can.h:10
Purely virtual class defining a CAN interface.
Definition: can.h:34