RtecatRegisterCallbackOnTransmit

RtecatRegisterCallbackOnTransmit registers a function to be called every cycle when the output data is about to be sent. The function runs on the selected processor core.

Syntax

Copy
RTECAT_ERROR RtecatRegisterCallbackOnTransmit(
  [in]    RTECAT_HANDLE MainDevice,
  [in]    APP_CALLBACK UserCallback,
  [in]    VOID* pContext,
  [in]    ULONG IdealProcessor,
  [in]    ULONG Priority
);

Parameters

[in] MainDevice

A handle to a MainDevice. To retrieve the corresponding handle, use RtecatOpenMainDevice.

[in] UserCallback

A pointer to a callback function of type APP_CALLBACK to be called every cycle. APP_CALLBACK is defined in RtecatApi.h:

typedef int(*APP_CALLBACK)(PVOID Context);

Parameter:

Context: A pointer to the user data.

[in] pContext

A pointer that passes data to a callback function.

[in] IdealProcessor

The index of the RTSS core to run a callback function thread.

[in] Priority

The priority of a callback function thread. The valid range is 0-124.

Return Values

The function returns an RTECAT_ERROR value. If the function succeeds, it returns ecatErrNoError. If the function fails, it returns a different value.

Possible return values:

Return value Meaning

ecatErrNoError

The function succeeded.

ecatErrNullParameter

Parameter UserCallback is NULL.

ecatErrWrongParameter

One of the following conditions occurred:

  • Parameter MainDevice or IdealProcessor is invalid.
  • The value of parameter Priority is greater than 124.

ecatErrMainDeviceNotReady

The MainDevice instance does not exist.

ecatErrWrongEnvironment

The MainDevice is switching to the Offline state.

Remarks

RtecatRegisterCallbackOnTransmit is only available for real-time interfaces.

RtecatRegisterCallbackOnTransmit is a synchronous function that executes immediately and returns a result upon completion.

wRTOS Runtime stops calling the callback function if it returns a non-zero return code.

Requirements

Minimum supported version Header Library

wRTOS 1.0 SDK

RtecatApi.h

RtecatApi.lib (RTSS)

See Also: