AGHAF  4.5.5
Annecy electronique Generic Hardware Access Framework
aghaf_kline.h
Go to the documentation of this file.
1 // Copyright (c) 2019 by ANNECY ELECTRONIQUE, Chavanod, France
2 
6 
7 #ifndef EXXOTEST_AGHAF_KLINE_H
8 #define EXXOTEST_AGHAF_KLINE_H
9 
10 #include <ghap/aghaf_kline_enums.h>
11 
12 #include "aghaf_global.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
20 
22 typedef void *AGHAF_KLine;
23 
32 typedef void (*AGHAF_KLine_onMsgTx)(uint64_t timestamp, uint8_t flags,
33  uint16_t dataLen, uint8_t const *data,
34  void *userContext);
35 
44 typedef void (*AGHAF_KLine_onMsgRx)(uint64_t timestamp, uint8_t flags,
45  uint16_t dataLen, uint8_t const *data,
46  void *userContext);
47 
53 typedef void (*AGHAF_KLine_onSOM)(uint64_t timestamp, void *userContext);
54 
61 typedef void (*AGHAF_KLine_onTxError)(uint64_t timestamp,
62  AGHAF_KLine_Error error,
63  void *userContext);
64 
71 typedef void (*AGHAF_KLine_onRxError)(uint64_t timestamp,
72  AGHAF_KLine_Error error,
73  void *userContext);
74 
83 typedef void (*AGHAF_KLine_on5BaudInit)(uint64_t timestamp, uint8_t flags,
84  uint16_t dataLen, uint8_t const *data,
85  void *userContext);
86 
87 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOnMsgTxCallback,
88  (AGHAF_KLine kline, AGHAF_KLine_onMsgTx callback,
89  void *userContext));
90 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOnMsgRxCallback,
91  (AGHAF_KLine kline, AGHAF_KLine_onMsgRx callback,
92  void *userContext));
93 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOnSomCallback,
94  (AGHAF_KLine kline, AGHAF_KLine_onSOM callback,
95  void *userContext));
96 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOnTxErrorCallback,
97  (AGHAF_KLine kline, AGHAF_KLine_onTxError callback,
98  void *userContext));
99 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOnRxErrorCallback,
100  (AGHAF_KLine kline, AGHAF_KLine_onRxError callback,
101  void *userContext));
102 AGHAF_PUBLIC_FUNCTION(void, AGHAF_KLine_setOn5BaudInitCallback,
103  (AGHAF_KLine kline, AGHAF_KLine_on5BaudInit callback,
104  void *userContext));
105 
106 AGHAF_PUBLIC_FUNCTION(AGHAF_KLine, AGHAF_KLine_get,
107  (AGHAF_Device device, uint8_t index));
108 AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_KLine_getIndex, (AGHAF_KLine kline));
109 AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_KLine_getCount, (AGHAF_Device device));
110 
111 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_getParam,
112  (AGHAF_KLine kline, AGHAF_KLine_Param param,
113  uint32_t *value));
114 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_setParam,
115  (AGHAF_KLine kline, AGHAF_KLine_Param param,
116  uint32_t value));
117 
118 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_activate, (AGHAF_KLine kline));
119 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_deactivate,
120  (AGHAF_KLine kline));
121 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_isActivated,
122  (AGHAF_KLine kline, AGHAF_BOOL *isActivated));
123 
124 AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_KLine_sendMessage,
125  (AGHAF_KLine kline, uint8_t flags, uint16_t dataLen,
126  uint8_t const *data));
127 
129 
130 #ifdef __cplusplus
131 }
132 #endif
133 #endif // EXXOTEST_AGHAF_KLINE_H
AGHAF_KLine_Param
List of parameters used to configure a KLine bus.
Definition: aghaf_kline_enums.h:86
AGHAF_KLine_Error
List of possible errors in KLine.
Definition: aghaf_kline_enums.h:28
void(* AGHAF_KLine_onMsgRx)(uint64_t timestamp, uint8_t flags, uint16_t dataLen, uint8_t const *data, void *userContext)
callback function called when a character is received on a KLine
Definition: aghaf_kline.h:44
void(* AGHAF_KLine_on5BaudInit)(uint64_t timestamp, uint8_t flags, uint16_t dataLen, uint8_t const *data, void *userContext)
callback called on a 5 baud init event
Definition: aghaf_kline.h:83
void(* AGHAF_KLine_onSOM)(uint64_t timestamp, void *userContext)
callback called when SOM event happens
Definition: aghaf_kline.h:53
AGHAF_Status AGHAF_KLine_sendMessage(AGHAF_KLine kline, uint8_t flags, uint16_t dataLen, uint8_t const *data)
send data on the KLine
Definition: aghaf_kline.cpp:185
void AGHAF_KLine_setOnMsgTxCallback(AGHAF_KLine kline, AGHAF_KLine_onMsgTx callback, void *userContext)
set the callback called on a tx event
Definition: aghaf_kline.cpp:14
uint8_t AGHAF_KLine_getIndex(AGHAF_KLine kline)
return the index from an KLine
Definition: aghaf_kline.cpp:101
void AGHAF_KLine_setOn5BaudInitCallback(AGHAF_KLine kline, AGHAF_KLine_on5BaudInit callback, void *userContext)
set the callback called on a 5 baud init event
Definition: aghaf_kline.cpp:78
AGHAF_Status AGHAF_KLine_setParam(AGHAF_KLine kline, AGHAF_KLine_Param param, uint32_t value)
set a parameter from a KLine
Definition: aghaf_kline.cpp:171
void AGHAF_KLine_setOnRxErrorCallback(AGHAF_KLine kline, AGHAF_KLine_onRxError callback, void *userContext)
set the callback called on a reception error event
Definition: aghaf_kline.cpp:65
void AGHAF_KLine_setOnSomCallback(AGHAF_KLine kline, AGHAF_KLine_onSOM callback, void *userContext)
set the callback called on a SOM event
Definition: aghaf_kline.cpp:40
AGHAF_Status AGHAF_KLine_isActivated(AGHAF_KLine kline, AGHAF_BOOL *isActivated)
allow to know if the communication on the KLine is started or not
Definition: aghaf_kline.cpp:142
AGHAF_Status AGHAF_KLine_deactivate(AGHAF_KLine kline)
stop the communication with the KLine
Definition: aghaf_kline.cpp:131
uint8_t AGHAF_KLine_getCount(AGHAF_Device device)
return the number of KLines available on a device
Definition: aghaf_kline.cpp:111
void(* AGHAF_KLine_onRxError)(uint64_t timestamp, AGHAF_KLine_Error error, void *userContext)
callback called when a reception error happens on a KLine
Definition: aghaf_kline.h:71
void AGHAF_KLine_setOnMsgRxCallback(AGHAF_KLine kline, AGHAF_KLine_onMsgRx callback, void *userContext)
set the callback called on a rx event
Definition: aghaf_kline.cpp:27
void * AGHAF_KLine
handle on KLine
Definition: aghaf_kline.h:22
AGHAF_KLine AGHAF_KLine_get(AGHAF_Device device, uint8_t index)
return the KLine bus at the index specified
Definition: aghaf_kline.cpp:91
void AGHAF_KLine_setOnTxErrorCallback(AGHAF_KLine kline, AGHAF_KLine_onTxError callback, void *userContext)
set the callback called on a transmission error event
Definition: aghaf_kline.cpp:52
void(* AGHAF_KLine_onMsgTx)(uint64_t timestamp, uint8_t flags, uint16_t dataLen, uint8_t const *data, void *userContext)
callback function called when a character is transmitted on a KLine
Definition: aghaf_kline.h:32
AGHAF_Status AGHAF_KLine_activate(AGHAF_KLine kline)
start the communication with the KLine
Definition: aghaf_kline.cpp:121
void(* AGHAF_KLine_onTxError)(uint64_t timestamp, AGHAF_KLine_Error error, void *userContext)
callback called when a transmission error happens on a KLine
Definition: aghaf_kline.h:61
AGHAF_Status AGHAF_KLine_getParam(AGHAF_KLine kline, AGHAF_KLine_Param param, uint32_t *value)
get a parameter from a KLine
Definition: aghaf_kline.cpp:158
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