diff options
author | Dominik Sliwa <dominik.sliwa@toradex.com> | 2018-12-17 00:02:43 +0100 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2018-12-17 00:02:43 +0100 |
commit | 46bfc66ac58289bc868d982e3b0ec46176302be0 (patch) | |
tree | 9da0cbb478dc66a1e0d52d4d89a4d9439eadfebe /drivers/src/fsl_flexcan.c | |
parent | 91c4e8e66f28d3967e3c2a36478810c10031b8e5 (diff) |
Move CAN data out of fifo in a thread not IRQ
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'drivers/src/fsl_flexcan.c')
-rw-r--r-- | drivers/src/fsl_flexcan.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/src/fsl_flexcan.c b/drivers/src/fsl_flexcan.c index 2a07dc5..45db478 100644 --- a/drivers/src/fsl_flexcan.c +++ b/drivers/src/fsl_flexcan.c @@ -1295,12 +1295,12 @@ void FLEXCAN_TransferHandleIRQ(CAN_Type *base, flexcan_handle_t *handle) break; case kFLEXCAN_RxFifoFrameAvlFlag: - status = FLEXCAN_ReadRxFifo(base, handle->rxFifoFrameBuf); - if (kStatus_Success == status) - { + //status = FLEXCAN_ReadRxFifo(base, handle->rxFifoFrameBuf); + //if (kStatus_Success == status) + //{ status = kStatus_FLEXCAN_RxFifoIdle; - } - FLEXCAN_TransferAbortReceiveFifo(base, handle); + //} + //FLEXCAN_TransferAbortReceiveFifo(base, handle); break; default: @@ -1354,10 +1354,7 @@ void FLEXCAN_TransferHandleIRQ(CAN_Type *base, flexcan_handle_t *handle) /* Calling Callback Function if has one. */ if (handle->callback != NULL) - { - if (handle->callback(base, handle, status, result, handle->userData) == pdTRUE) - reschedule = pdTRUE; - } + reschedule = handle->callback(base, handle, status, result, handle->userData); /* Reset return status */ status = kStatus_FLEXCAN_UnHandled; |