/* ---------------------------------------------------------------------------- * ATMEL Microcontroller Software Support * ---------------------------------------------------------------------------- * Copyright (c) 2008, Atmel Corporation * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the disclaimer below. * * Atmel's name may not be used to endorse or promote products derived from * this software without specific prior written permission. * * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ---------------------------------------------------------------------------- */ #include #if defined(BOARD_CAPTOR_OV9650) //------------------------------------------------------------------------------ /// \unit /// /// !!!Purpose /// /// Specific configuration for Omnivision OV6555 captor /// /// !!!Usage /// /// -# Different files are been provided by Omnivision: /// - 9655_yuv_cif.h /// - 9655_yuv_qcif.h /// - 9655_yuv_qqcif.h /// - 9655_yuv_qqvga.h /// - 9655_yuv_qvga.h /// - 9655_yuv_sxga.h /// - 9655_yuv_vga.h /// -# Configure the captor using theses files //------------------------------------------------------------------------------ //----------------------------------------------------------------------------- // Headers //----------------------------------------------------------------------------- #include #include #include #include "9655_yuv_cif.h" #include "9655_yuv_qcif.h" #include "9655_yuv_qqcif.h" #include "9655_yuv_qvga.h" #include "9655_yuv_qqvga.h" #include "9655_yuv_sxga.h" #include "9655_yuv_vga.h" //------------------------------------------------------------------------------ /// Array of image sizes supported by OV965x //------------------------------------------------------------------------------ const static struct capture_size ov965x_sizes[] = { // {width, height} /// QQCIF { 88, 72 }, /// QQVGA { 160, 120 }, /// QCIF { 176, 144 }, /// QVGA { 320, 240 }, /// CIF { 352, 288 }, /// VGA { 640, 480 }, /// SXGA {1280, 1024 } }; //------------------------------------------------------------------------------ // Global Functions //------------------------------------------------------------------------------ //----------------------------------------------------------------------------- /// Configure the OV9650 for a specified image size, pixel format, /// and frame period. //----------------------------------------------------------------------------- void ov_configure(Twid *pTwid, unsigned int width, unsigned int heigth) { const struct ov_reg *reg_conf; unsigned char goodCaptureSize = 0; unsigned char i; TRACE_DEBUG("ov965x_configure\n\r"); for( i=0; i