38 virtual byte getServiceVersionID()
const override {
return 2; }
39 virtual Data getServiceData();
41 virtual void process()
override;
42 virtual void processAction(
const Action &action)
override;
45 CanTransport * canTransport;
49 void handleCanServiceMessage(
const VlcbMessage *msg);
50 void handleEnumeration(
unsigned int nn);
51 void handleSetCANID(
const VlcbMessage *msg,
unsigned int nn);
53 bool sendMessage(
const VlcbMessage *msg);
55 bool sendEmptyFrame(
bool rtr =
false);
56 bool sendCanFrame(CANFrame *msg) {
return canTransport->sendCanFrame(msg); }
57 void startCANenumeration(
bool fromENUM =
false);
59 void checkIncomingCanFrame();
60 void checkCANenumTimout();
63 bool enumeration_required =
false;
64 bool bCANenum =
false;
65 bool startedFromEnumMessage =
false;
66 unsigned long CANenumTime;
67 byte enum_responses[16];
CanService(CanTransport *tpt)
Definition CanService.h:34
Interface base class for CAN transport implementations.
Definition CanTransport.h:35
Interface base class for all VLCB services.
Definition Service.h:25
VlcbServiceTypes
Definition vlcbdefs.hpp:487
@ SERVICE_ID_CAN
Definition vlcbdefs.hpp:494