AGHAF 4.5.7
Annecy electronique Generic Hardware Access Framework
Loading...
Searching...
No Matches
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
8extern "C" {
9#endif
10
13
15typedef void *AGHAF_CAN;
16
26typedef 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
39typedef 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
49typedef void (*AGHAF_CAN_onError)(uint64_t timestamp, AGHAF_CAN_Error error,
50 void *userContext);
51
58typedef void (*AGHAF_CAN_onBusChange)(uint64_t timestamp, uint8_t chipState,
59 void *userContext);
60
69typedef void (*AGHAF_CAN_onBusLoad)(uint64_t timestamp, uint8_t chipState,
70 uint8_t busLoad, AGHAF_CAN_Error error,
71 void *userContext);
72
73AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_useAPI, ());
74
75AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnMessageTxCallback,
76 (AGHAF_CAN can, AGHAF_CAN_onMessageTx callback,
77 void *userContext));
78AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnMessageRxCallback,
79 (AGHAF_CAN can, AGHAF_CAN_onMessageRx callback,
80 void *userContext));
81AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnErrorCallback,
82 (AGHAF_CAN can, AGHAF_CAN_onError callback,
83 void *userContext));
84AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnBusChangeCallback,
85 (AGHAF_CAN can, AGHAF_CAN_onBusChange callback,
86 void *userContext));
87AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_setOnBusLoadCallback,
88 (AGHAF_CAN can, AGHAF_CAN_onBusLoad callback,
89 void *userContext));
90
91AGHAF_PUBLIC_FUNCTION(AGHAF_CAN, AGHAF_CAN_v2_get,
92 (AGHAF_Device device, uint8_t index));
93AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_getIndex, (AGHAF_CAN can));
94AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_getCount, (AGHAF_Device device));
95
96AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_activate, (AGHAF_CAN can));
97AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_deactivate, (AGHAF_CAN can));
98AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_isActivated,
99 (AGHAF_CAN can, AGHAF_BOOL *isActivated));
100
101AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_getParam,
102 (AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t *value));
103AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_setParam,
104 (AGHAF_CAN can, AGHAF_CAN_Param param, uint32_t value));
105
106AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_supportedModes,
107 (AGHAF_CAN can, AGHAF_CAN_Mode **modes,
108 uint8_t *nbModes));
109AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedModes,
110 (AGHAF_CAN_Mode * modes));
111
112AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_getChipSstate,
113 (AGHAF_CAN can, AGHAF_CAN_ChipState *chipState));
114AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_BusOn, (AGHAF_CAN can));
115
117 (AGHAF_CAN can, uint32_t **terminations,
118 uint32_t *nbTerminations));
120 (AGHAF_CAN can, uint32_t **terminations,
121 uint32_t *nbTerminations));
122AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedTerminations,
123 (uint32_t *terminations));
124
125AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_CAN_v2_Periodic_getCount, (AGHAF_CAN can));
126AGHAF_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));
131AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_Periodic_send_v2,
132 (AGHAF_CAN can, uint8_t frameDatalen,
133 uint8_t const *frameData, uint8_t frameFlags,
134 uint32_t frameIdent, uint8_t index, uint8_t flags,
135 uint32_t offset, uint32_t period));
136
137AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_supportedFilters,
138 (AGHAF_CAN can, uint16_t *globalFilterCaps,
139 AGHAF_CAN_FilterDesc **values, uint16_t *size));
140AGHAF_PUBLIC_FUNCTION(void, AGHAF_CAN_v2_freeSupportedFilters,
141 (AGHAF_CAN_FilterDesc * values));
142
143AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_addFilter,
144 (AGHAF_CAN can, AGHAF_CAN_FilterId idType,
146 uint32_t id1, uint32_t id2));
147AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_clearFilters, (AGHAF_CAN bus));
148AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_filtersCount,
149 (AGHAF_CAN can, AGHAF_CAN_FilterId idType,
150 uint16_t *count));
151AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_reject,
152 (AGHAF_CAN bus, AGHAF_CAN_RejectType rejectType,
153 AGHAF_BOOL rtr));
154
155AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_CAN_v2_sendMessage,
156 (AGHAF_CAN can, uint32_t ident, uint8_t flags,
157 uint16_t dataLen, uint8_t const *data));
158
160
161#ifdef __cplusplus
162}
163#endif
164
165#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_Status AGHAF_CAN_v2_Periodic_send_v2(AGHAF_CAN can, uint8_t frameDatalen, uint8_t const *frameData, uint8_t frameFlags, uint32_t frameIdent, uint8_t index, uint8_t flags, uint32_t offset, uint32_t period)
Add a periodic message to send.
Definition aghaf_can_v2.cpp:304
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:390
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:350
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:325
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:379
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:367
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:405
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:338
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