AGHAF  4.5.5
Annecy electronique Generic Hardware Access Framework
aghaf_can_v2.h
1 #ifndef EXXOTEST_AGHAF_CAN_V2_H
2 #define EXXOTEST_AGHAF_CAN_V2_H
3 
4 #include "aghaf_can_common.h"
5 #include "aghaf_global.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
13 
15 typedef void *AGHAF_CAN;
16 
26 typedef void (*AGHAF_CAN_onMessageTx)(uint64_t timestamp, uint32_t ident,
27  uint8_t flags, uint16_t dataLen,
28  uint8_t const *data, void *userContext);
29 
39 typedef void (*AGHAF_CAN_onMessageRx)(uint64_t timestamp, uint32_t ident,
40  uint8_t flags, uint16_t dataLen,
41  uint8_t const *data, void *userContext);
42 
49 typedef void (*AGHAF_CAN_onError)(uint64_t timestamp, AGHAF_CAN_Error error,
50  void *userContext);
51 
58 typedef void (*AGHAF_CAN_onBusChange)(uint64_t timestamp, uint8_t chipState,
59  void *userContext);
60 
69 typedef void (*AGHAF_CAN_onBusLoad)(uint64_t timestamp, uint8_t chipState,
70  uint8_t busLoad, AGHAF_CAN_Error error,
71  void *userContext);
72 
73 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_useAPI, ());
74 
75 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnMessageTxCallback,
76  (AGHAF_CAN can, AGHAF_CAN_onMessageTx callback,
77  void *userContext));
78 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnMessageRxCallback,
79  (AGHAF_CAN can, AGHAF_CAN_onMessageRx callback,
80  void *userContext));
81 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnErrorCallback,
82  (AGHAF_CAN can, AGHAF_CAN_onError callback,
83  void *userContext));
84 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnBusChangeCallback,
85  (AGHAF_CAN can, AGHAF_CAN_onBusChange callback,
86  void *userContext));
87 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnBusLoadCallback,
88  (AGHAF_CAN can, AGHAF_CAN_onBusLoad callback,
89  void *userContext));
90 
91 AGHAF_PUBLIC_FUNCTION(AGHAF_CAN, AGHAF_CAN_v2_get,
92  (AGHAF_Device device, uint8_t index));
93 AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_getIndex, (AGHAF_CAN can));
94 AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_getCount, (AGHAF_Device device));
95 
96 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_activate, (AGHAF_CAN can));
97 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_deactivate, (AGHAF_CAN can));
98 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_isActivated,
99  (AGHAF_CAN can, AGHAF_BOOL *isActivated));
100 
101 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_getParam,
102  (AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t *value));
103 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_setParam,
104  (AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t value));
105 
106 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_supportedModes,
107  (AGHAF_CAN can, AGHAF_CAN_Mode **modes,
108  uint8_t *nbModes));
109 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedModes,
110  (AGHAF_CAN_Mode * modes));
111 
112 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_getChipSstate,
113  (AGHAF_CAN can, AGHAF_CAN_ChipState *chipState));
114 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_BusOn, (AGHAF_CAN can));
115 
116 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_supportedTerminations,
117  (AGHAF_CAN can, uint32_t **terminations,
118  uint32_t *nbTerminations));
120  (AGHAF_CAN can, uint32_t **terminations,
121  uint32_t *nbTerminations));
122 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedTerminations,
123  (uint32_t * terminations));
124 
125 AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_Periodic_getCount, (AGHAF_CAN can));
126 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_Periodic_send,
127  (AGHAF_CAN can, uint8_t frameDatalen,
128  uint8_t const *frameData, uint8_t frameFlags,
129  uint32_t frameIdent, uint8_t index, uint8_t flags,
130  uint32_t period));
131 
132 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_supportedFilters,
133  (AGHAF_CAN can, uint16_t *globalFilterCaps,
134  AGHAF_CAN_FilterDesc **values, uint16_t *size));
135 AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedFilters,
136  (AGHAF_CAN_FilterDesc * values));
137 
138 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_addFilter,
139  (AGHAF_CAN can, AGHAF_CAN_FilterId idType,
141  uint32_t id1, uint32_t id2));
142 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_clearFilters, (AGHAF_CAN bus));
143 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_filtersCount,
144  (AGHAF_CAN can, AGHAF_CAN_FilterId idType,
145  uint16_t *count));
146 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_reject,
147  (AGHAF_CAN bus, AGHAF_CAN_RejectType rejectType,
148  AGHAF_BOOL rtr));
149 
150 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_sendMessage,
151  (AGHAF_CAN can, uint32_t ident, uint8_t flags,
152  uint16_t dataLen, uint8_t const *data));
153 
155 
156 #ifdef __cplusplus
157 }
158 #endif
159 
160 #endif
AGHAF_CAN_FilterMode
enumerator to choose the type of the filter: accept or reject
Definition: aghaf_can_enums.h:82
AGHAF_CAN_RejectType
enumerator to choose the type of exclusion filter
Definition: aghaf_can_enums.h:66
AGHAF_CAN_Param
List of parameters used to configure a CAN bus.
Definition: aghaf_can_enums.h:136
AGHAF_CAN_FilterId
enumerator to choose the identifier type for can filter
Definition: aghaf_can_enums.h:76
AGHAF_CAN_Mode
Possible modes for CAN.
Definition: aghaf_can_enums.h:118
AGHAF_CAN_ChipState
Enumeration of the chip states.
Definition: aghaf_can_enums.h:39
AGHAF_CAN_Error
Enumerator to describe the error on the bus.
Definition: aghaf_can_enums.h:100
AGHAF_CAN_FILTER_Type
type of the filter
Definition: aghaf_can_enums.h:88
AGHAF_Status AGHAF_CAN_v2_setParam(AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t value)
Set the value from a CAN parameter.
Definition: aghaf_can_v2.cpp:165
void(* AGHAF_CAN_onMessageTx)(uint64_t timestamp, uint32_t ident, uint8_t flags, uint16_t dataLen, uint8_t const *data, void *userContext)
callback function called when a message is transmitted on a CAN
Definition: aghaf_can_v2.h:26
uint8_t AGHAF_CAN_v2_Periodic_getCount(AGHAF_CAN can)
Return the number of periodic message available on a CAN bus.
Definition: aghaf_can_v2.cpp:262
AGHAF_Status AGHAF_CAN_v2_getChipSstate(AGHAF_CAN can, AGHAF_CAN_ChipState *chipState)
Return the chip state from the bus.
Definition: aghaf_can_v2.cpp:200
AGHAF_Status AGHAF_CAN_v2_activate(AGHAF_CAN can)
activate a CAN bus
Definition: aghaf_can_v2.cpp:116
AGHAF_Status AGHAF_CAN_v2_supportedTerminationsLs(AGHAF_CAN can, uint32_t **terminations, uint32_t *nbTerminations)
Request the supported low speed terminations from a CAN bus.
Definition: aghaf_can_v2.cpp:241
AGHAF_CAN AGHAF_CAN_v2_get(AGHAF_Device device, uint8_t index)
return the CAN bus at index in parameter
Definition: aghaf_can_v2.cpp:86
AGHAF_Status AGHAF_CAN_v2_reject(AGHAF_CAN bus, AGHAF_CAN_RejectType rejectType, AGHAF_BOOL rtr)
Set a global filter.
Definition: aghaf_can_v2.cpp:365
AGHAF_Status AGHAF_CAN_v2_BusOn(AGHAF_CAN can)
reactivate the bus after an error
Definition: aghaf_can_v2.cpp:211
void(* AGHAF_CAN_onMessageRx)(uint64_t timestamp, uint32_t ident, uint8_t flags, uint16_t dataLen, uint8_t const *data, void *userContext)
callback function called when a message is received on a CAN
Definition: aghaf_can_v2.h:39
uint8_t AGHAF_CAN_v2_getIndex(AGHAF_CAN can)
return the index from a CAN bus
Definition: aghaf_can_v2.cpp:96
void(* AGHAF_CAN_onBusChange)(uint64_t timestamp, uint8_t chipState, void *userContext)
callback function called when a bus change happens on a CAN
Definition: aghaf_can_v2.h:58
uint8_t AGHAF_CAN_v2_getCount(AGHAF_Device device)
return the number of CAN bus from a device
Definition: aghaf_can_v2.cpp:106
AGHAF_Status AGHAF_CAN_v2_filtersCount(AGHAF_CAN can, AGHAF_CAN_FilterId idType, uint16_t *count)
Provide the current number of filters.
Definition: aghaf_can_v2.cpp:325
AGHAF_Status AGHAF_CAN_v2_isActivated(AGHAF_CAN can, AGHAF_BOOL *isActivated)
Request if a CAN bus is yet activated or not.
Definition: aghaf_can_v2.cpp:137
AGHAF_Status AGHAF_CAN_v2_addFilter(AGHAF_CAN can, AGHAF_CAN_FilterId idType, AGHAF_CAN_FILTER_Type type, AGHAF_CAN_FilterMode mode, uint32_t id1, uint32_t id2)
add a filter to the CAN bus
Definition: aghaf_can_v2.cpp:300
void * AGHAF_CAN
handle on CAN
Definition: aghaf_can_v2.h:15
void AGHAF_CAN_v2_freeSupportedFilters(AGHAF_CAN_FilterDesc *values)
Free the memory allocated with AGHAF_CAN_Bus_supportedFilters.
Definition: aghaf_can_v2.cpp:354
void(* AGHAF_CAN_onBusLoad)(uint64_t timestamp, uint8_t chipState, uint8_t busLoad, AGHAF_CAN_Error error, void *userContext)
callback function called when a bus laod is from a CAN is transmitted
Definition: aghaf_can_v2.h:69
AGHAF_Status AGHAF_CAN_v2_Periodic_send(AGHAF_CAN can, uint8_t frameDatalen, uint8_t const *frameData, uint8_t frameFlags, uint32_t frameIdent, uint8_t index, uint8_t flags, uint32_t period)
Add a periodic message to send.
Definition: aghaf_can_v2.cpp:280
AGHAF_Status AGHAF_CAN_v2_supportedFilters(AGHAF_CAN can, uint16_t *globalFilterCaps, AGHAF_CAN_FilterDesc **values, uint16_t *size)
Provide the supported filters from a CAN bus.
Definition: aghaf_can_v2.cpp:342
void AGHAF_CAN_v2_freeSupportedModes(AGHAF_CAN_Mode *modes)
Free the memory allocated with AGHAF_CAN_Bus_supportedModes.
Definition: aghaf_can_v2.cpp:190
AGHAF_Status AGHAF_CAN_v2_sendMessage(AGHAF_CAN can, uint32_t ident, uint8_t flags, uint16_t dataLen, uint8_t const *data)
send data on a CAN bus
Definition: aghaf_can_v2.cpp:380
AGHAF_Status AGHAF_CAN_v2_supportedModes(AGHAF_CAN can, AGHAF_CAN_Mode **modes, uint8_t *nbModes)
Request the supported modes from the CAN bus in parameter.
Definition: aghaf_can_v2.cpp:180
void AGHAF_CAN_v2_setOnBusLoadCallback(AGHAF_CAN can, AGHAF_CAN_onBusLoad callback, void *userContext)
set the callback called on a bus noad event
Definition: aghaf_can_v2.cpp:73
void AGHAF_CAN_v2_setOnMessageRxCallback(AGHAF_CAN can, AGHAF_CAN_onMessageRx callback, void *userContext)
set the callback called on a rx event
Definition: aghaf_can_v2.cpp:35
void(* AGHAF_CAN_onError)(uint64_t timestamp, AGHAF_CAN_Error error, void *userContext)
callback function called when an error happens on a CAN
Definition: aghaf_can_v2.h:49
AGHAF_Status AGHAF_CAN_v2_getParam(AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t *value)
Provide the value from a CAN parameter.
Definition: aghaf_can_v2.cpp:152
AGHAF_Status AGHAF_CAN_v2_supportedTerminations(AGHAF_CAN can, uint32_t **terminations, uint32_t *nbTerminations)
Request the supported terminations from a CAN bus.
Definition: aghaf_can_v2.cpp:225
void AGHAF_CAN_v2_setOnBusChangeCallback(AGHAF_CAN can, AGHAF_CAN_onBusChange callback, void *userContext)
set the callback called on a bus change event
Definition: aghaf_can_v2.cpp:60
AGHAF_Status AGHAF_CAN_v2_clearFilters(AGHAF_CAN bus)
clear the filters from a bus
Definition: aghaf_can_v2.cpp:313
void AGHAF_CAN_v2_useAPI()
Inform the library tu use the V2 CAN API.
Definition: aghaf_can_v2.cpp:12
void AGHAF_CAN_v2_freeSupportedTerminations(uint32_t *terminations)
Free the memory allocated with AGHAF_CAN_Bus_supportedTerminations or AGHAF_CAN_Bus_supportedTerminat...
Definition: aghaf_can_v2.cpp:253
void AGHAF_CAN_v2_setOnMessageTxCallback(AGHAF_CAN can, AGHAF_CAN_onMessageTx callback, void *userContext)
set the callback called on a tx event
Definition: aghaf_can_v2.cpp:22
AGHAF_Status AGHAF_CAN_v2_deactivate(AGHAF_CAN can)
deactivate a CAN bus
Definition: aghaf_can_v2.cpp:126
void AGHAF_CAN_v2_setOnErrorCallback(AGHAF_CAN can, AGHAF_CAN_onError callback, void *userContext)
set the callback called on error event
Definition: aghaf_can_v2.cpp:48
AGHAF_Status
enumerator to define the error type in aghaf functions
Definition: aghaf_global.h:120
AGHAF_BOOL
enumerator to get a bool definition
Definition: aghaf_global.h:114
void * AGHAF_Device
handle on an exxotest device
Definition: aghaf_global.h:175