#include #define OV2640_ADDR 0x30 typedef enum { CAM_PIXFORMAT_INVALID = 0, CAM_PIXFORMAT_BINARY, // 1BPP/BINARY CAM_PIXFORMAT_GRAYSCALE, // 1BPP/GRAYSCALE CAM_PIXFORMAT_RGB565, // 2BPP/RGB565 CAM_PIXFORMAT_YUV422, // 2BPP/YUV422 CAM_PIXFORMAT_BAYER, // 1BPP/RAW CAM_PIXFORMAT_JPEG, // JPEG/COMPRESSED } cam_pixformat_t; typedef enum { CAM_FRAMESIZE_INVALID = 0, // C/SIF Resolutions CAM_FRAMESIZE_QQCIF, // 88x72 CAM_FRAMESIZE_QCIF, // 176x144 CAM_FRAMESIZE_CIF, // 352x288 CAM_FRAMESIZE_QQSIF, // 88x60 CAM_FRAMESIZE_QSIF, // 176x120 CAM_FRAMESIZE_SIF, // 352x240 // VGA Resolutions CAM_FRAMESIZE_QQQQVGA, // 40x30 CAM_FRAMESIZE_QQQVGA, // 80x60 CAM_FRAMESIZE_QQVGA, // 160x120 CAM_FRAMESIZE_QVGA, // 320x240 CAM_FRAMESIZE_VGA, // 640x480 CAM_FRAMESIZE_HQQQVGA, // 60x40 CAM_FRAMESIZE_HQQVGA, // 120x80 CAM_FRAMESIZE_HQVGA, // 240x160 // FFT Resolutions CAM_FRAMESIZE_64X32, // 64x32 CAM_FRAMESIZE_64X64, // 64x64 CAM_FRAMESIZE_128X64, // 128x64 CAM_FRAMESIZE_128X128, // 128x128 CAM_FRAMESIZE_320X320, // 320x320 // Other CAM_FRAMESIZE_LCD, // 128x160 CAM_FRAMESIZE_QQVGA2, // 128x160 CAM_FRAMESIZE_WVGA, // 720x480 CAM_FRAMESIZE_WVGA2, // 752x480 CAM_FRAMESIZE_SVGA, // 800x600 CAM_FRAMESIZE_XGA, // 1024x768 CAM_FRAMESIZE_SXGA, // 1280x1024 CAM_FRAMESIZE_UXGA, // 1600x1200 CAM_FRAMESIZE_HD, // 1280x720 CAM_FRAMESIZE_FHD, // 1920x1080 CAM_FRAMESIZE_QHD, // 2560x1440 CAM_FRAMESIZE_QXGA, // 2048x1536 CAM_FRAMESIZE_WQXGA, // 2560x1600 CAM_FRAMESIZE_WQXGA2, // 2592x1944 } cam_framesize_t; typedef enum { CAM_GAINCEILING_2X, CAM_GAINCEILING_4X, CAM_GAINCEILING_8X, CAM_GAINCEILING_16X, CAM_GAINCEILING_32X, CAM_GAINCEILING_64X, CAM_GAINCEILING_128X, } cam_gainceiling_t; typedef enum { SDE_NORMAL, SDE_NEGATIVE, } cam_sde_t; int ov2640_init(void); int ov2640_sleep(int enable); int ov2640_set_pixfmt(cam_pixformat_t fmt); int ov2640_set_framesize(cam_framesize_t framesize);