# CAMERA_Init

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_Init( void );`

## Arguments

None.

## Return Values

Returns `CAMERA_RESULT_SUCCESS` when successful. Returns errors on failure.
Be aware that this always fails when executed in CODEC-DS mode or when using a component that cannot use the camera feature.

## Description

Initializes the Camera library. This must be called before any other function in the Camera library.
Before calling this function, you must call the `OS_InitThread`, `OS_InitTick`, and `OS_InitAlarm()` functions to initialize the tick system and the alarm system because the Camera library makes use of threads and alarms after it is initialized.
Note that, as explained in the Overview, when this function is called in CODEC-DS mode there is no return. The camera library can only be used in CODEC-TWL mode.
See the section on default values in the Overview for more information on the camera settings that are configured after this function is called.

## See Also

`CAMERA_End`
`CAMERACallback`

## Revision History

2009/01/07 Added a note that the `OS_InitAlarm` function also must be called.
2008/10/06 Added explanation of how behavior differs depending on CODEC mode.
2008/06/26 Added mention that threads and ticks are used inside the library.
2008/04/17 Deleted the `CAMERA_InitAsync` function.
2008/04/08 Changed the specification for Return Values.
2008/01/15 Added the `CAMERA_InitAsync` function.
2007/11/14 Added explanation about initial settings.
2007/10/02 Initial version.

CONFIDENTIAL