Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_can_server.h File Reference
#include "legato.h"
#include "taf_can_common.h"

Go to the source code of this file.

Functions

le_msg_ServiceRef_t taf_can_GetServiceRef (void)
 
le_msg_SessionRef_t taf_can_GetClientSessionRef (void)
 
void taf_can_AdvertiseService (void)
 
taf_can_CanInterfaceRef_t taf_can_CreateCanInf (const char *LE_NONNULL infName, taf_can_InfProtocol_t canInfType)
 
le_result_t taf_can_SetFilter (taf_can_CanInterfaceRef_t canInfRef, uint32_t frameId)
 
le_result_t taf_can_EnableLoopback (taf_can_CanInterfaceRef_t canInfRef)
 
le_result_t taf_can_DisableLoopback (taf_can_CanInterfaceRef_t canInfRef)
 
le_result_t taf_can_EnableRcvOwnMsg (taf_can_CanInterfaceRef_t canInfRef)
 
le_result_t taf_can_DisableRcvOwnMsg (taf_can_CanInterfaceRef_t canInfRef)
 
bool taf_can_IsFdSupported (taf_can_CanInterfaceRef_t canInfRef)
 
le_result_t taf_can_EnableFdFrame (taf_can_CanInterfaceRef_t canInfRef)
 
bool taf_can_GetFdStatus (taf_can_CanInterfaceRef_t canInfRef)
 
taf_can_CanEventHandlerRef_t taf_can_AddCanEventHandler (taf_can_CanInterfaceRef_t canInfRef, uint32_t frameId, uint32_t frIdMask, taf_can_CallbackFunc_t handlerPtr, void *contextPtr)
 
void taf_can_RemoveCanEventHandler (taf_can_CanEventHandlerRef_t handlerRef)
 
taf_can_CanFrameRef_t taf_can_CreateCanFrame (taf_can_CanInterfaceRef_t canInfRef, uint32_t frameId)
 
le_result_t taf_can_SetPayload (taf_can_CanFrameRef_t frameRef, const uint8_t *dataPtr, size_t dataSize)
 
le_result_t taf_can_SetFrameType (taf_can_CanFrameRef_t frameRef, taf_can_FrameType_t frameType)
 
le_result_t taf_can_SendFrame (taf_can_CanFrameRef_t frameRef)
 
le_result_t taf_can_DeleteCanInf (taf_can_CanInterfaceRef_t canInfRef)
 
le_result_t taf_can_DeleteCanFrame (taf_can_CanFrameRef_t frameRef)
 

Function Documentation

◆ taf_can_GetServiceRef()

le_msg_ServiceRef_t taf_can_GetServiceRef ( void  )

Get the server service reference

◆ taf_can_GetClientSessionRef()

le_msg_SessionRef_t taf_can_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_can_AdvertiseService()

void taf_can_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ taf_can_CreateCanInf()

taf_can_CanInterfaceRef_t taf_can_CreateCanInf ( const char *LE_NONNULL  infName,
taf_can_InfProtocol_t  canInfType 
)

Socket CAN protocol type. CAN frame type. Reference to create a CAN interface. Reference to create a CAN frame. Callback handler. Reference type used by Add/Remove functions for EVENT 'taf_can_CanEvent' Creates a CAN interface.

Returns
  • Reference to the created CAN interface.
  • Null when attempt failed.
Note
The process exits if an invalid or existing tag is passed.

Creates a CAN interface.

Returns
  • Reference to the created CAN interface.
  • Null when attempt failed.
Note
The process exits if an invalid or existing tag is passed.
Parameters
[in]infNameCAN interface name, e.g., can0, can1, etc.
[in]canInfTypeCAN interface type.

◆ taf_can_SetFilter()

le_result_t taf_can_SetFilter ( taf_can_CanInterfaceRef_t  canInfRef,
uint32_t  frameId 
)

Sets a filter to receive CAN frame for the given frame ID.

Returns
  • LE_OK – Filter successfully set.
  • LE_OUT_OF_RANGE – Frame ID greater than 29 bits.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.
[in]frameIdFrame ID.

◆ taf_can_EnableLoopback()

le_result_t taf_can_EnableLoopback ( taf_can_CanInterfaceRef_t  canInfRef)

Enables loopback message sending from the given CAN interface (can0/can1/..).

Returns
  • LE_OK – Local loopback successfully enabled.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_DisableLoopback()

le_result_t taf_can_DisableLoopback ( taf_can_CanInterfaceRef_t  canInfRef)

Disables loopback message sending from the given CAN interface (can0/can1/..).

Returns
  • LE_OK – Local loopback successfully disabled.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_EnableRcvOwnMsg()

le_result_t taf_can_EnableRcvOwnMsg ( taf_can_CanInterfaceRef_t  canInfRef)

Enables receiving messages sent from the same CanInterface reference.

Returns
  • LE_OK – Reception of the application's own sent messages successfully enabled.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_DisableRcvOwnMsg()

le_result_t taf_can_DisableRcvOwnMsg ( taf_can_CanInterfaceRef_t  canInfRef)

Disables receiving messages sent from the same CanInterface reference.

Returns
  • LE_OK – Reception of the application's own sent messages successfully disabled.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_IsFdSupported()

bool taf_can_IsFdSupported ( taf_can_CanInterfaceRef_t  canInfRef)

Checks whether the device supports FD frame or not.

Returns
  • True – FD frame supported.
  • False – FD frame not supported.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_EnableFdFrame()

le_result_t taf_can_EnableFdFrame ( taf_can_CanInterfaceRef_t  canInfRef)

Enables CAN FD frame, if the device supports FD frame.

Returns
  • LE_OK – CAN FD frame successfully enabled.
  • LE_UNSUPPORTED – CAN FD frame not supported.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_GetFdStatus()

bool taf_can_GetFdStatus ( taf_can_CanInterfaceRef_t  canInfRef)

Checks whether the CAN FD frame is enabled or not.

Returns
  • True – CAN FD frame is enabled.
  • False – CAN FD frame is not enabled.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface.

◆ taf_can_AddCanEventHandler()

taf_can_CanEventHandlerRef_t taf_can_AddCanEventHandler ( taf_can_CanInterfaceRef_t  canInfRef,
uint32_t  frameId,
uint32_t  frIdMask,
taf_can_CallbackFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_can_CanEvent'

CAN event.

Parameters
[in]canInfRefReference of the created CAN interface.
[in]frameIdFrame ID.
[in]frIdMaskFrame ID mask for message filtering.
[in]handlerPtr
[in]contextPtr

◆ taf_can_RemoveCanEventHandler()

void taf_can_RemoveCanEventHandler ( taf_can_CanEventHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_can_CanEvent'

Parameters
[in]handlerRef

◆ taf_can_CreateCanFrame()

taf_can_CanFrameRef_t taf_can_CreateCanFrame ( taf_can_CanInterfaceRef_t  canInfRef,
uint32_t  frameId 
)

Creates a CAN frame.

Returns
  • Reference to the created CAN frame.
  • Null when attempt failed.
Note
The process exits if an invalid reference or existing tag is passed.
Parameters
[in]canInfRefReference of the created CAN interface.
[in]frameIdframe ID.

◆ taf_can_SetPayload()

le_result_t taf_can_SetPayload ( taf_can_CanFrameRef_t  frameRef,
const uint8_t *  dataPtr,
size_t  dataSize 
)

Sets the data payload.

Returns
  • LE_OK – Data payload successfully set.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]frameRefReference of the created CAN frame.
[in]dataPtrData payload.
[in]dataSize

◆ taf_can_SetFrameType()

le_result_t taf_can_SetFrameType ( taf_can_CanFrameRef_t  frameRef,
taf_can_FrameType_t  frameType 
)

Sets the frame type to send.

Returns
  • LE_OK – Frame type successfully set.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]frameRefReference of the created CAN frame.
[in]frameTypeCAN frame type.

◆ taf_can_SendFrame()

le_result_t taf_can_SendFrame ( taf_can_CanFrameRef_t  frameRef)

Sends a CAN frame.

Returns
  • LE_OK – CAN frame successfully sent.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]frameRefReference of the created CAN frame to send.

◆ taf_can_DeleteCanInf()

le_result_t taf_can_DeleteCanInf ( taf_can_CanInterfaceRef_t  canInfRef)

Deletes a created CAN interface.

Returns
  • LE_OK – Created CAN interface successfully deleted.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]canInfRefReference of the created CAN interface to delete.

◆ taf_can_DeleteCanFrame()

le_result_t taf_can_DeleteCanFrame ( taf_can_CanFrameRef_t  frameRef)

Deletes a created CAN frame.

Returns
  • LE_OK – Created CAN frame successfully deleted.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]frameRefReference of the created CAN frame to delete.