libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
ch32_can_def.cpp
1// NOLINTBEGIN(cppcoreguidelines-pro-type-cstyle-cast,performance-no-int-to-ptr)
2#include "ch32_can_def.hpp"
3
4ch32_can_id_t CH32_CAN_GetID(CAN_TypeDef* addr)
5{
6 // NOLINTBEGIN
7 if (addr == nullptr)
8 {
9 return CH32_CAN_ID_ERROR;
10 }
11#if defined(CAN1)
12 else if (addr == CAN1)
13 {
14 return CH32_CAN1;
15 }
16#endif
17#if defined(CAN2)
18 else if (addr == CAN2)
19 {
20 return CH32_CAN2;
21 }
22#endif
23 return CH32_CAN_ID_ERROR;
24 // NOLINTEND
25}
26
27CAN_TypeDef* CH32_CAN_GetInstanceID(ch32_can_id_t id)
28{
29 switch (id)
30 {
31#if defined(CAN1)
32 case CH32_CAN1:
33 return CAN1;
34#endif
35#if defined(CAN2)
36 case CH32_CAN2:
37 return CAN2;
38#endif
39 default:
40 return nullptr;
41 }
42}
43
44// NOLINTEND(cppcoreguidelines-pro-type-cstyle-cast,performance-no-int-to-ptr)