| Kinetis SDK v.2.0 API Reference Manual Rev. 0 Freescale Semiconductor, Inc.

- Main Page
- Related Pages
- API Reference

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Files | Data Structures | Typedefs
FlexIO eDMA Camera Driver
FlexIO Camera Driver

## Overview

## Files
file | fsl_flexio_camera_edma.h

## Data Structures
struct | flexio_camera_edma_handle_t
| CAMERA eDMA handle. More...

## Typedefs
typedef void(* | flexio_camera_edma_transfer_callback_t )(FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle, status_t status, void *userData)
| CAMERA transfer callback function. More...

## eDMA transactional
status_t | FLEXIO_CAMERA_TransferCreateHandleEDMA (FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle, flexio_camera_edma_transfer_callback_t callback, void *userData, edma_handle_t *rxEdmaHandle)
| Initializes the camera handle, which is used in transactional functions. More...
status_t | FLEXIO_CAMERA_TransferReceiveEDMA (FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle, flexio_camera_transfer_t *xfer)
| Receives data using eDMA. More...
void | FLEXIO_CAMERA_TransferAbortReceiveEDMA (FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle)
| Aborts the receive data which used the eDMA. More...
status_t | FLEXIO_CAMERA_TransferGetReceiveCountEDMA (FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle, size_t *count)
| Gets the remaining bytes to be received. More...

## Data Structure Documentation

struct _flexio_camera_edma_handle

Forward declaration of the handle typedef.

### Data Fields
flexio_camera_edma_transfer_callback_t | callback
| Callback function. More...
void * | userData
| CAMERA callback function parameter. More...
size_t | rxSize
| Total bytes to be received. More...
edma_handle_t * | rxEdmaHandle
| The eDMA RX channel used. More...
volatile uint8_t | rxState
| RX transfer state.

#### Field Documentation

flexio_camera_edma_transfer_callback_t flexio_camera_edma_handle_t::callback

void* flexio_camera_edma_handle_t::userData

size_t flexio_camera_edma_handle_t::rxSize

edma_handle_t* flexio_camera_edma_handle_t::rxEdmaHandle

## Typedef Documentation

typedef void(* flexio_camera_edma_transfer_callback_t)(FLEXIO_CAMERA_Type *base, flexio_camera_edma_handle_t *handle, status_t status, void *userData)

## Function Documentation

status_t FLEXIO_CAMERA_TransferCreateHandleEDMA | ( | FLEXIO_CAMERA_Type * | base,
|  | flexio_camera_edma_handle_t * | handle,
|  | flexio_camera_edma_transfer_callback_t | callback,
|  | void * | userData,
|  | edma_handle_t * | rxEdmaHandle
| ) |  |

Parameters

  base | pointer to FLEXIO_CAMERA_Type.
  handle | Pointer to flexio_camera_edma_handle_t structure.
  callback | The callback function.
  userData | The parameter of the callback function.
  rxEdmaHandle | User requested DMA handle for RX DMA transfer.

Return values

  kStatus_Success | Successfully create the handle.
  kStatus_OutOfRange | The FlexIO camera eDMA type/handle table out of range.

status_t FLEXIO_CAMERA_TransferReceiveEDMA | ( | FLEXIO_CAMERA_Type * | base,
|  | flexio_camera_edma_handle_t * | handle,
|  | flexio_camera_transfer_t * | xfer
| ) |  |

This function receives data using eDMA. This is a non-blocking function, which returns right away. When all data is received, the receive callback function is called.

Parameters

  base | Pointer to the FLEXIO_CAMERA_Type.
  handle | Pointer to the flexio_camera_edma_handle_t structure.
  xfer | CAMERA eDMA transfer structure, see flexio_camera_transfer_t.

Return values

  kStatus_Success | if succeeded, others failed.
  kStatus_CAMERA_RxBusy | Previous transfer on going.

void FLEXIO_CAMERA_TransferAbortReceiveEDMA | ( | FLEXIO_CAMERA_Type * | base,
|  | flexio_camera_edma_handle_t * | handle
| ) |  |

This function aborts the receive data which used the eDMA.

Parameters

  base | Pointer to the FLEXIO_CAMERA_Type.
  handle | Pointer to the flexio_camera_edma_handle_t structure.

status_t FLEXIO_CAMERA_TransferGetReceiveCountEDMA | ( | FLEXIO_CAMERA_Type * | base,
|  | flexio_camera_edma_handle_t * | handle,
|  | size_t * | count
| ) |  |

This function gets the number of bytes still not received.

Parameters

  base | Pointer to the FLEXIO_CAMERA_Type.
  handle | Pointer to the flexio_camera_edma_handle_t structure.
  count | Number of bytes sent so far by the non-blocking transaction.

Return values

  kStatus_Success | Succeed get the transfer count.
  kStatus_InvalidArgument | The count parameter is invalid.