# CAMERA_I2CFrameRate*

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_I2CFrameRate(CAMERASelect camera, CAMERAFrameRate rate);`
  `CAMERAResult CAMERA_I2CFrameRateAsync(CAMERASelect camera, CAMERAFrameRate rate, CAMERACallback callback, void *arg);`

## Arguments

camera | Camera to configure (`CAMERA_SELECT_IN`, `CAMERA_SELECT_OUT`, or `CAMERA_SELECT_BOTH`).
rate | Frame rate.
callback | Function that is called when asynchronous processing has completed.
arg | Arguments when the callback function is invoked.

## Return Values

Returns `CAMERA_RESULT_SUCCESS` if configuration was successful.

## Description

Changes the camera's frame rate.
Unlike `CAMERA_I2CFrameRate`, the `CAMERA_I2CFrameRateAsync` function returns control immediately and runs asynchronously. Use callback to confirm that processing has completed.
Do not set `CAMERA_FRAME_RATE_30_TO_5` or `CAMERA_FRAME_RATE_30` with this function while either `CAMERA_SIZE_VGA` or `CAMERA_SIZE_DS_LCDx4` is specified with the `CAMERA_I2CSize*` functions. You can no longer obtain capture data if these two settings are used at the same time.

## See Also

`CAMERASelect`
`CAMERACallback`
`CAMERAResult`
`CAMERAFrameRate`
`CAMERA_I2CSize*`

## Revision History

2008/10/30 Added that `CAMERA_SELECT_BOTH` also can be specified.
2008/03/17 Explained that images cannot be captured at 30 fps for the DS_LCDx4 size.
2008/01/23 Explained that images cannot be captured at 30 fps for the VGA size.
2007/11/12 Initial version.

CONFIDENTIAL