# Camera Library (CAMERA) Function List

### Initialization

CAMERA_Init |  | Initializes the camera library.
CAMERA_End |  | Shuts down the camera library.
CAMERA_Reset |  | Resets the camera. (This does not need to be called because `CAMERA_Init` calls it internally.)
CAMERA_I2CInit* |  | Initializes the camera registers. (This does not need to be called because `CAMERA_Init` calls it.)

### Capture-Related

CAMERA_Start |  | High-level function to start the camera and begin capturing.
CAMERA_Stop |  | High-level function to stop capturing and put the camera in standby mode.
CAMERA_I2CActivate* |  | Specifies the inner or outer camera and activates it.
CAMERA_StartCapture |  | Starts capturing.
CAMERA_StopCapture |  | Stops capturing.
CAMERA_DmaRecv |  | Receives frame data from the camera buffer.
CAMERA_DmaRecvAsync |  | Receives frame data asynchronously from the camera buffer.
CAMERA_DmaPipeInfinity |  | Continues to receive consecutive data from the camera buffer.
CAMERA_IsBusy |  | Returns whether the camera is currently getting image data.

### Camera Settings

CAMERA_SetTrimmingParamsCenter |  | Configures trimming values for the camera based around a center point.
CAMERA_SetTrimmingParams |  | Configures trimming values for the camera.
CAMERA_GetTrimmingParams |  | Gets the trimming values for the camera.
CAMERA_SetTrimming |  | Enables or disables trimming for the camera.
CAMERA_IsTrimming |  | Determines whether trimming is enabled or disabled for the camera.
CAMERA_I2CSize* |  | Sets the camera resolution.
CAMERA_I2CFrameRate* |  | Sets the camera's frame rate.
CAMERA_I2CEffect* |  | Configures effects for camera images.
CAMERA_I2CFlip* |  | Configures flipping on camera images.
CAMERA_I2CPhotoMode* |  | Sets the camera's photo mode.
CAMERA_I2CWhiteBalance* |  | Sets the camera's white balance.
CAMERA_I2CExposure* |  | Configures the camera's exposure.
CAMERA_I2CSharpness* |  | Sets the camera's sharpness.
CAMERA_I2CAutoExposure* |  | Enables or disables the camera's automatic exposure feature.
CAMERA_I2CAutoWhiteBalance* |  | Enables or disables the auto-adjustment feature for the camera's white balance.
CAMERA_SetOutputFormat |  | Sets the camera's output format.
CAMERA_GetOutputFormat |  | Gets the camera's output format.
CAMERA_GetErrorStatus |  | Checks the error flag for the line buffer.
CAMERA_ClearBuffer |  | Clears the line buffer and the error flag.
CAMERA_SetVsyncCallback |  | Sets the callback function that is invoked during a camera VSync interrupt.
CAMERA_SetBufferErrorCallback |  | Sets the callback function that is invoked during a camera buffer error interrupt.
CAMERA_SetRebootCallback |  | Sets the callback function that is invoked after the camera has finished restarting.
CAMERA_SetTransferLines |  | Sets the number of lines to transfer to the buffer at once.
CAMERA_GetTransferLines |  | Gets the number of lines to transfer to the buffer at once.
CAMERA_I2CContextSwitch* |  | Switches the camera context.
CAMERA_SetLED* |  | Switches the outer camera LED between lit and blinking.
CAMERA_SwitchOffLED* |  | Turns off the outer camera LED for the duration of a single blink.

### Utility Functions

CAMERA_SizeToWidth |  | Returns the width of the specified camera resolution.
CAMERA_SizeToHeight |  | Returns the height of the specified camera resolution.
CAMERA_SizeToPixels |  | Returns the number of pixels for the specified camera resolution.
CAMERA_WidthHeightToSize |  | Returns the camera resolution that corresponds to the specified width and height.
CAMERA_WidthToSize |  | Returns the camera resolution that corresponds to the specified width.
CAMERA_HeightToSize |  | Returns the camera resolution that corresponds to the specified height.
CAMERA_PixelsToSize |  | Returns the camera resolution that corresponds to the specified number of pixels.
CAMERA_GetMaxLinesRound |  | Rounds the `CAMERA_GET_MAX_LINES` value to one that is suitable for `CAMERA_SetTransferLines`.
CAMERA_GetBytesAtOnce |  | Returns the one-time transfer size when data is received from the camera buffer.

### Macros

CAMERA_GET_MAX_LINES |  | Calculates the number of lines to transfer at once.
CAMERA_GET_LINE_BYTES |  | Calculates the number of bytes to transfer with a single line.
CAMERA_GET_FRAME_BYTES |  | Calculates the number of bytes to transfer with a single frame.

### Constants and Structures

CAMERASelect |  | This is an enumerated type that is used to specify the camera.
CAMERAContext |  | This is an enumerated type that is used to specify the camera setting context.
CAMERASize |  | This is an enumerated type that is used to specify the camera's resolution.
CAMERAEffect |  | This is an enumerated type that is used to specify the effects to apply to the camera's output data.
CAMERAFlip |  | This is an enumerated type that is used to specify flipping for the camera's output data.
CAMERAPhotoMode |  | This is an enumerated type that is used to specify the camera's photo mode.
CAMERAWhiteBalance |  | This is an enumerated type that is used to specify the camera's white balance.
CAMERAFrameRate |  | This is an enumerated type that is used to specify the camera's frame rate.
CAMERAIntrVsync |  | This enumerated type is used to specify when camera VSync interrupts will occur.
CAMERAOutput |  | This is an enumerated type that is used to specify the camera's output data format.
CAMERACallback |  | This is the callback function type invoked when asynchronous camera processing has completed.
CAMERAIntrCallback |  | This is the callback function type invoked when each kind of camera interrupt occurs.
CAMERAResult |  | This enumerated type indicates the result of a camera operation.

CONFIDENTIAL