AGHAF  4.5.5
Annecy electronique Generic Hardware Access Framework
aghaf_dokline.h
Go to the documentation of this file.
1 // Copyright (c) 2019 by ANNECY ELECTRONIQUE, Chavanod, France
2 
6 
7 #ifndef EXXOTEST_AGHAF_DOKLINE_H
8 #define EXXOTEST_AGHAF_DOKLINE_H
9 
11 
12 #include "aghaf_kline.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
20 
22 typedef void *AGHAF_DoKLine_Channel;
23 
36 typedef void (*AGHAF_DoKLine_onMsgTx)(uint64_t timestamp, uint8_t flags,
37  uint32_t headerSize,
38  uint8_t const *header,
39  uint32_t footerSize,
40  uint8_t const *footer, uint32_t dataLen,
41  uint8_t const *data, void *userContext);
42 
55 typedef void (*AGHAF_DoKLine_onMsgRx)(uint64_t timestamp, uint8_t flags,
56  uint32_t headerSize,
57  uint8_t const *header,
58  uint32_t footerSize,
59  uint8_t const *footer, uint32_t dataLen,
60  uint8_t const *data, void *userContext);
61 
69 typedef void (*AGHAF_DoKLine_onMsgTxErr)(uint64_t timestamp,
70  AGHAF_DoKLine_Error error,
71  void *userContext);
72 
73 AGHAF_PUBLIC_FUNCTION(void, AGHAF_DoKLine_setOnMsgTxCallback,
74  (AGHAF_DoKLine_Channel channel,
75  AGHAF_DoKLine_onMsgTx callback, void *userContext));
76 AGHAF_PUBLIC_FUNCTION(void, AGHAF_DoKLine_setOnMsgRxCallback,
77  (AGHAF_DoKLine_Channel channel,
78  AGHAF_DoKLine_onMsgRx callback, void *userContext));
79 AGHAF_PUBLIC_FUNCTION(void, AGHAF_DoKLine_setOnMsgTxErrCallback,
80  (AGHAF_DoKLine_Channel channel,
81  AGHAF_DoKLine_onMsgTxErr callback, void *userContext));
82 
83 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_getChannelCount,
84  (AGHAF_KLine kline, uint8_t *count));
85 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_getFreeChannelCount,
86  (AGHAF_KLine kline, uint8_t *count));
88  (AGHAF_KLine kline));
89 AGHAF_PUBLIC_FUNCTION(void, AGHAF_DoKLine_releaseChannel,
90  (AGHAF_DoKLine_Channel channel));
91 
92 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_Channel_setParam,
93  (AGHAF_DoKLine_Channel channel,
94  AGHAF_DoKLine_ChannelParam param, uint32_t value));
95 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_Channel_getParam,
96  (AGHAF_DoKLine_Channel channel,
97  AGHAF_DoKLine_ChannelParam param, uint32_t *value));
98 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_Channel_start,
99  (AGHAF_DoKLine_Channel channel));
100 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_Channel_stop,
101  (AGHAF_DoKLine_Channel channel));
102 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_DoKLine_Channel_send,
103  (AGHAF_DoKLine_Channel channel, uint8_t flags,
104  uint32_t dataLen, uint8_t const *data));
105 
107 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif // EXXOTEST_AGHAF_DOKLINE_H
AGHAF_DoKLine_ChannelParam
List of parameters used to configure a DoKLine channel.
Definition: aghaf_dokline_enums.h:71
AGHAF_DoKLine_Error
List of possible errors in DoKLine.
Definition: aghaf_dokline_enums.h:26
AGHAF_DoKLine_Channel AGHAF_DoKLine_createChannel(AGHAF_KLine kline)
Create a channel.
Definition: aghaf_dokline.cpp:77
void AGHAF_DoKLine_setOnMsgTxCallback(AGHAF_DoKLine_Channel channel, AGHAF_DoKLine_onMsgTx callback, void *userContext)
set the callback on a transmission event
Definition: aghaf_dokline.cpp:13
AGHAF_Status AGHAF_DoKLine_getFreeChannelCount(AGHAF_KLine kline, uint8_t *count)
Return the number of free channels still available.
Definition: aghaf_dokline.cpp:66
void AGHAF_DoKLine_setOnMsgTxErrCallback(AGHAF_DoKLine_Channel channel, AGHAF_DoKLine_onMsgTxErr callback, void *userContext)
set the callback a transmission error event
Definition: aghaf_dokline.cpp:41
AGHAF_Status AGHAF_DoKLine_Channel_setParam(AGHAF_DoKLine_Channel channel, AGHAF_DoKLine_ChannelParam param, uint32_t value)
Set the parameter from a channel.
Definition: aghaf_dokline.cpp:125
void AGHAF_DoKLine_releaseChannel(AGHAF_DoKLine_Channel channel)
Release the channel.
Definition: aghaf_dokline.cpp:87
void(* AGHAF_DoKLine_onMsgRx)(uint64_t timestamp, uint8_t flags, uint32_t headerSize, uint8_t const *header, uint32_t footerSize, uint8_t const *footer, uint32_t dataLen, uint8_t const *data, void *userContext)
callback called when a frame is received on a DoKLine channel
Definition: aghaf_dokline.h:55
AGHAF_Status AGHAF_DoKLine_Channel_send(AGHAF_DoKLine_Channel channel, uint8_t flags, uint32_t dataLen, uint8_t const *data)
Send on the DoKLine channel in parameter.
Definition: aghaf_dokline.cpp:178
AGHAF_Status AGHAF_DoKLine_Channel_getParam(AGHAF_DoKLine_Channel channel, AGHAF_DoKLine_ChannelParam param, uint32_t *value)
Provide the value from a channel parameter.
Definition: aghaf_dokline.cpp:140
AGHAF_Status AGHAF_DoKLine_Channel_start(AGHAF_DoKLine_Channel channel)
Start a channel.
Definition: aghaf_dokline.cpp:153
void(* AGHAF_DoKLine_onMsgTx)(uint64_t timestamp, uint8_t flags, uint32_t headerSize, uint8_t const *header, uint32_t footerSize, uint8_t const *footer, uint32_t dataLen, uint8_t const *data, void *userContext)
callback called when a frame is transmitted on a DoKLine channel
Definition: aghaf_dokline.h:36
void AGHAF_DoKLine_setOnMsgRxCallback(AGHAF_DoKLine_Channel channel, AGHAF_DoKLine_onMsgRx callback, void *userContext)
set the callback on a reception event
Definition: aghaf_dokline.cpp:27
void(* AGHAF_DoKLine_onMsgTxErr)(uint64_t timestamp, AGHAF_DoKLine_Error error, void *userContext)
callback called when a transmission errors happens on a DoKLine channel
Definition: aghaf_dokline.h:69
void * AGHAF_DoKLine_Channel
handle on a DoKLine channel
Definition: aghaf_dokline.h:22
AGHAF_Status AGHAF_DoKLine_Channel_stop(AGHAF_DoKLine_Channel channel)
Stop a channel.
Definition: aghaf_dokline.cpp:164
AGHAF_Status AGHAF_DoKLine_getChannelCount(AGHAF_KLine kline, uint8_t *count)
Provide the number of channels available on the bus.
Definition: aghaf_dokline.cpp:55
void * AGHAF_KLine
handle on KLine
Definition: aghaf_kline.h:22
AGHAF_Status
enumerator to define the error type in aghaf functions
Definition: aghaf_global.h:120