AGHAF 4.5.7
Annecy electronique Generic Hardware Access Framework
Loading...
Searching...
No Matches
aghaf_lin.h
Go to the documentation of this file.
1// Copyright (c) 2019 by ANNECY ELECTRONIQUE, Chavanod, France
2
6
7#ifndef EXXOTEST_AGHAF_LIN_H
8#define EXXOTEST_AGHAF_LIN_H
9
11
12#include "aghaf_global.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
20
22typedef void *AGHAF_LIN;
23
32typedef void (*AGHAF_LIN_onMessageTx)(uint64_t timestamp, uint8_t fid,
33 uint8_t datalen, uint8_t const *data,
34 void *userContext);
35
42typedef void (*AGHAF_LIN_onMessageRx)(uint64_t timestamp, uint8_t fid,
43 uint8_t datalen, uint8_t const *data,
44 void *userContext);
45
50typedef void (*AGHAF_LIN_onError)(uint64_t timestamp, AGHAF_LIN_Error error,
51 void *userContext);
52
57typedef void (*AGHAF_LIN_onBusStateChanged)(uint64_t timestamp,
59 void *userContext);
60
64typedef void (*AGHAF_LIN_onWakeUpSent)(uint64_t timestamp, void *userContext);
65
66AGHAF_PUBLIC_FUNCTION(void, AGHAF_LIN_setOnMessageTxCallback,
67 (AGHAF_LIN lin, AGHAF_LIN_onMessageTx callback,
68 void *userContext));
69AGHAF_PUBLIC_FUNCTION(void, AGHAF_LIN_setOnMessageRxCallback,
70 (AGHAF_LIN lin, AGHAF_LIN_onMessageRx callback,
71 void *userContext));
72AGHAF_PUBLIC_FUNCTION(void, AGHAF_LIN_setOnErrorCallback,
73 (AGHAF_LIN lin, AGHAF_LIN_onError callback,
74 void *userContext));
75AGHAF_PUBLIC_FUNCTION(void, AGHAF_LIN_setOnBusStateChangedCallback,
77 void *userContext));
78AGHAF_PUBLIC_FUNCTION(void, AGHAF_LIN_setOnWakeUpSentCallback,
79 (AGHAF_LIN lin, AGHAF_LIN_onWakeUpSent callback,
80 void *userContext));
81
82AGHAF_PUBLIC_FUNCTION(AGHAF_LIN, AGHAF_LIN_get,
83 (AGHAF_Device device, uint8_t index));
84AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_LIN_getIndex, (AGHAF_LIN lin));
85AGHAF_PUBLIC_FUNCTION(uint8_t, AGHAF_LIN_getCount, (AGHAF_Device device));
86
87AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_activate, (AGHAF_LIN lin));
88AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_deactivate, (AGHAF_LIN lin));
89AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_isActivated,
90 (AGHAF_LIN lin, AGHAF_BOOL *isActivated));
91
92AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_getParam,
93 (AGHAF_LIN lin, AGHAF_LIN_Param param, uint32_t *value));
94AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_setParam,
95 (AGHAF_LIN lin, AGHAF_LIN_Param param, uint32_t value));
96
97AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_sendHeader,
98 (AGHAF_LIN lin, uint8_t fid));
99AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_updateFrame,
100 (AGHAF_LIN lin, uint8_t fid, uint8_t dataLen,
101 uint8_t const *data));
102AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_configureFrame,
103 (AGHAF_LIN lin, uint8_t fid, AGHAF_LIN_FrameKind kind,
104 uint8_t publishFlags, uint8_t dataLen,
105 uint8_t const *initialData));
106
107AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_wakeUp, (AGHAF_LIN lin));
108
109AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_clearDatas,
110 (AGHAF_LIN lin, uint8_t scheduleIndex));
112 (AGHAF_LIN lin, uint8_t scheduleIndex, uint8_t fid,
113 uint8_t timeBaseCount));
114AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_addSporadic,
115 (AGHAF_LIN lin, uint8_t scheduleIndex,
116 uint8_t timeBaseCount, uint8_t nbSpo, uint8_t *idList));
118 (AGHAF_LIN lin, uint8_t scheduleIndex,
119 uint8_t timeBaseCount, uint8_t eventTriggerId,
120 uint8_t collisionTable));
121AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_addWakeUp,
122 (AGHAF_LIN lin, uint8_t scheduleIndex,
123 uint8_t timeBaseCount));
124AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_configure,
125 (AGHAF_LIN lin, uint8_t scheduleIndex,
127AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_start,
128 (AGHAF_LIN lin, uint8_t scheduleIndex));
129AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_stop, (AGHAF_LIN lin));
130AGHAF_PUBLIC_FUNCTION(AGHAF_Status, AGHAF_LIN_SCHEDULE_getCount,
131 (AGHAF_LIN lin, uint8_t *count));
132
134
135#ifdef __cplusplus
136}
137#endif
138
139#endif
AGHAF_LIN_BusState
Enumeration of the bus states.
Definition aghaf_lin_enums.h:49
AGHAF_LIN_Error
enumerator to describe the error on the bus
Definition aghaf_lin_enums.h:33
AGHAF_LIN_FrameKind
Frame kind.
Definition aghaf_lin_enums.h:85
AGHAF_LIN_ScheduleKind
Schedule kind.
Definition aghaf_lin_enums.h:93
AGHAF_LIN_Param
List of parameters used to configure a KLINE bus.
Definition aghaf_lin_enums.h:99
void AGHAF_LIN_setOnMessageTxCallback(AGHAF_LIN lin, AGHAF_LIN_onMessageTx callback, void *userContext)
Set the callback called on tx event.
Definition aghaf_lin.cpp:14
AGHAF_Status AGHAF_LIN_SCHEDULE_configure(AGHAF_LIN lin, uint8_t scheduleIndex, AGHAF_LIN_ScheduleKind kind)
AGHAF_LIN_SCHEDULE_configure.
Definition aghaf_lin.cpp:303
void(* AGHAF_LIN_onWakeUpSent)(uint64_t timestamp, void *userContext)
callback called when a wake has been sent
Definition aghaf_lin.h:64
void AGHAF_LIN_setOnBusStateChangedCallback(AGHAF_LIN lin, AGHAF_LIN_onBusStateChanged callback, void *userContext)
Set the callback called on a bus state changed event.
Definition aghaf_lin.cpp:52
void(* AGHAF_LIN_onMessageRx)(uint64_t timestamp, uint8_t fid, uint8_t datalen, uint8_t const *data, void *userContext)
callback function called when a message is received on a LIN bus
Definition aghaf_lin.h:42
void * AGHAF_LIN
handle on a LIN bus
Definition aghaf_lin.h:22
AGHAF_Status AGHAF_LIN_activate(AGHAF_LIN lin)
Start the communication with the LIN.
Definition aghaf_lin.cpp:107
AGHAF_Status AGHAF_LIN_deactivate(AGHAF_LIN lin)
Stop the communication with the LIN.
Definition aghaf_lin.cpp:117
void(* AGHAF_LIN_onMessageTx)(uint64_t timestamp, uint8_t fid, uint8_t datalen, uint8_t const *data, void *userContext)
callback function called when a message is transmitted on a LIN bus
Definition aghaf_lin.h:32
AGHAF_Status AGHAF_LIN_sendHeader(AGHAF_LIN lin, uint8_t fid)
Write header on the LIN.
Definition aghaf_lin.cpp:169
AGHAF_Status AGHAF_LIN_isActivated(AGHAF_LIN lin, AGHAF_BOOL *isActivated)
Allow to know if the communication on the LIN is started or not.
Definition aghaf_lin.cpp:128
AGHAF_Status AGHAF_LIN_SCHEDULE_addSporadic(AGHAF_LIN lin, uint8_t scheduleIndex, uint8_t timeBaseCount, uint8_t nbSpo, uint8_t *idList)
Add a sporadic frame in a schedule.
Definition aghaf_lin.cpp:255
void AGHAF_LIN_setOnWakeUpSentCallback(AGHAF_LIN lin, AGHAF_LIN_onWakeUpSent callback, void *userContext)
Set the callback called on a wake up sent event.
Definition aghaf_lin.cpp:64
AGHAF_Status AGHAF_LIN_SCHEDULE_stop(AGHAF_LIN lin)
Stop the schedule currently executed on the LIN.
Definition aghaf_lin.cpp:326
AGHAF_Status AGHAF_LIN_wakeUp(AGHAF_LIN lin)
Send a wake up request on the bus LIN.
Definition aghaf_lin.cpp:214
AGHAF_Status AGHAF_LIN_SCHEDULE_getCount(AGHAF_LIN lin, uint8_t *count)
Number of LIN schedule that can be configured.
Definition aghaf_lin.cpp:337
uint8_t AGHAF_LIN_getIndex(AGHAF_LIN lin)
Return the index from a LIN.
Definition aghaf_lin.cpp:87
AGHAF_Status AGHAF_LIN_SCHEDULE_addUnconditional(AGHAF_LIN lin, uint8_t scheduleIndex, uint8_t fid, uint8_t timeBaseCount)
Add an unconditionale frame in a schedule.
Definition aghaf_lin.cpp:239
AGHAF_Status AGHAF_LIN_SCHEDULE_clearDatas(AGHAF_LIN lin, uint8_t scheduleIndex)
Clear the datas associated to a schedule index.
Definition aghaf_lin.cpp:225
AGHAF_Status AGHAF_LIN_getParam(AGHAF_LIN lin, AGHAF_LIN_Param param, uint32_t *value)
Get a parameter from a LIN.
Definition aghaf_lin.cpp:143
void(* AGHAF_LIN_onBusStateChanged)(uint64_t timestamp, AGHAF_LIN_BusState state, void *userContext)
callback called when a wake up is received
Definition aghaf_lin.h:57
AGHAF_Status AGHAF_LIN_SCHEDULE_addWakeUp(AGHAF_LIN lin, uint8_t scheduleIndex, uint8_t timeBaseCount)
Add a wake in a schedule.
Definition aghaf_lin.cpp:290
AGHAF_Status AGHAF_LIN_configureFrame(AGHAF_LIN lin, uint8_t fid, AGHAF_LIN_FrameKind kind, uint8_t publishFlags, uint8_t dataLen, uint8_t const *initialData)
Configure the frame associated with the frame identifier.
Definition aghaf_lin.cpp:201
void AGHAF_LIN_setOnMessageRxCallback(AGHAF_LIN lin, AGHAF_LIN_onMessageRx callback, void *userContext)
Set the callback called on rx event.
Definition aghaf_lin.cpp:27
AGHAF_LIN AGHAF_LIN_get(AGHAF_Device device, uint8_t index)
Return the LIN bus at the index specified.
Definition aghaf_lin.cpp:77
AGHAF_Status AGHAF_LIN_SCHEDULE_start(AGHAF_LIN lin, uint8_t scheduleIndex)
Start a schedule.
Definition aghaf_lin.cpp:316
AGHAF_Status AGHAF_LIN_setParam(AGHAF_LIN lin, AGHAF_LIN_Param param, uint32_t value)
Set a parameter from a LIN.
Definition aghaf_lin.cpp:156
AGHAF_Status AGHAF_LIN_updateFrame(AGHAF_LIN lin, uint8_t fid, uint8_t dataLen, uint8_t const *data)
Update the datas associated to a frame identifier.
Definition aghaf_lin.cpp:183
void AGHAF_LIN_setOnErrorCallback(AGHAF_LIN lin, AGHAF_LIN_onError callback, void *userContext)
Set the callback called on an error event.
Definition aghaf_lin.cpp:40
AGHAF_Status AGHAF_LIN_SCHEDULE_addEventTriggered(AGHAF_LIN lin, uint8_t scheduleIndex, uint8_t timeBaseCount, uint8_t eventTriggerId, uint8_t collisionTable)
Add an event triggered in a schedule.
Definition aghaf_lin.cpp:273
void(* AGHAF_LIN_onError)(uint64_t timestamp, AGHAF_LIN_Error error, void *userContext)
callback called when an error happens on a bus LIN
Definition aghaf_lin.h:50
uint8_t AGHAF_LIN_getCount(AGHAF_Device device)
Return the number of LINs available on a device.
Definition aghaf_lin.cpp:97
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