# CAMERA_I2CExposure*

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_I2CExposure(CAMERASelect camera, int exposure);`
  `CAMERAResult CAMERA_I2CExposureAsync(CAMERASelect camera, int exposure, CAMERACallback callback, void *arg);`

## Arguments

camera | Camera to configure (`CAMERA_SELECT_IN`, `CAMERA_SELECT_OUT`, or `CAMERA_SELECT_BOTH`).
exposure | Amount of exposure to set.
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

Sets the camera exposure (illumination time). The exposure argument must be specified between -5 and 5.
Unlike `CAMERA_I2CExposure`, the `CAMERA_I2CExposureAsync` function returns control immediately and runs asynchronously. Use callback to confirm that processing has completed.
Note:
If camera settings are changed using any of the `CAMERA_I2C*` functions, the changes may be delayed for approximately one frame before they are applied. If camera settings are changed during image capture, therefore, an application's timing may make it impossible to get an image with the changes applied.
Although this function enables automatic exposure, it is reenabled if a `CAMERA_I2CAutoExposure*` function is called.
Occasional Shifting of Captured Images
The captured image may shift if this function is called during image capture.
Before calling this function, first stop the image capture with `CAMERA_StopCapture`. Then call this function. After this function completes execution, restart the image capture with `CAMERA_StartCapture`.

## See Also

`CAMERASelect`
`CAMERACallback`
`CAMERAResult` CAMERA_I2CAutoExposure*

## Revision History

2009/11/11 Explained occasional shifting of captured images.
2009/10/14 Added a description of operations when automatic exposure has been disabled.
2009/03/25 Added information about changing camera settings during capture operations.
2008/10/30 Added that `CAMERA_SELECT_BOTH` can also be specified.
2007/10/12 Initial version.

CONFIDENTIAL