1818#include "drivers/CANvenient_SocketCAN.h"
1919#include "drivers/CANvenient_Softing.h"
2020#include "drivers/CANvenient_PEAK.h"
21+ #include "drivers/CANvenient_TinyCan.h"
2122
2223struct can_iface can_interface [CAN_MAX_INTERFACES ] = {0 };
2324char can_error_reason [1024 ] = {0 };
@@ -50,6 +51,12 @@ CANVENIENT_API int can_find_interfaces(void)
5051 return status ;
5152 }
5253
54+ status = tinycan_find_interfaces ();
55+ if (status < 0 )
56+ {
57+ return status ;
58+ }
59+
5360 return softing_find_interfaces ();
5461}
5562
@@ -83,6 +90,8 @@ CANVENIENT_API int can_open(int index, enum can_baudrate baud)
8390 return socketcan_open (index );
8491 case CAN_VENDOR_SOFTING :
8592 return softing_open (index );
93+ case CAN_VENDOR_MHS :
94+ return tinycan_open (index );
8695 default :
8796 case CAN_VENDOR_NONE :
8897 set_error_reason ("No CAN interface found at specified index." );
@@ -116,6 +125,9 @@ CANVENIENT_API void can_close(int index)
116125 case CAN_VENDOR_SOFTING :
117126 softing_close (index );
118127 break ;
128+ case CAN_VENDOR_MHS :
129+ tinycan_close (index );
130+ break ;
119131 default :
120132 case CAN_VENDOR_NONE :
121133 break ;
@@ -167,6 +179,8 @@ CANVENIENT_API int can_update(int index)
167179 break ;
168180 case CAN_VENDOR_SOFTING :
169181 return softing_update (index );
182+ case CAN_VENDOR_MHS :
183+ return tinycan_update (index );
170184 default :
171185 case CAN_VENDOR_NONE :
172186 set_error_reason ("No CAN interface found at specified index." );
@@ -181,7 +195,7 @@ CANVENIENT_API int can_get_baudrate(int index, enum can_baudrate* baud)
181195 set_error_reason ("Channel index is out-of-range." );
182196 return -1 ;
183197 }
184- else if (!baud )
198+ else if (! baud )
185199 {
186200 set_error_reason ("Output parameter is NULL." );
187201 return -1 ;
@@ -256,6 +270,8 @@ CANVENIENT_API int can_set_baudrate(int index, enum can_baudrate baud)
256270 return socketcan_set_baudrate (index , baud );
257271 case CAN_VENDOR_SOFTING :
258272 return softing_set_baudrate (index , baud );
273+ case CAN_VENDOR_MHS :
274+ return tinycan_set_baudrate (index , baud );
259275 default :
260276 case CAN_VENDOR_NONE :
261277 set_error_reason ("No CAN interface found at specified index." );
@@ -283,6 +299,8 @@ CANVENIENT_API int can_send(int index, struct can_frame* frame)
283299 return socketcan_send (index , frame );
284300 case CAN_VENDOR_SOFTING :
285301 return softing_send (index , frame );
302+ case CAN_VENDOR_MHS :
303+ return tinycan_send (index , frame );
286304 default :
287305 case CAN_VENDOR_NONE :
288306 set_error_reason ("No CAN interface found at specified index." );
@@ -310,6 +328,8 @@ CANVENIENT_API int can_recv(int index, struct can_frame* frame, u64* timestamp)
310328 return socketcan_recv (index , frame , timestamp );
311329 case CAN_VENDOR_SOFTING :
312330 return softing_recv (index , frame , timestamp );
331+ case CAN_VENDOR_MHS :
332+ return tinycan_recv (index , frame , timestamp );
313333 default :
314334 case CAN_VENDOR_NONE :
315335 set_error_reason ("No CAN interface found at specified index." );
0 commit comments