📄 cam_module.h
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2003
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* cam_module.h
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
* This file contains the driver header file of pap1302 camera module
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef _CAM_MODULE_H
#define _CAM_MODULE_H
#if (defined(CAMERA_MODULE))
#include "gpio_sw.h"
#include "ext_camera.h"
void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada);
#if (defined(MP100_BB))
#define pap1302_READY_PIN 6
#define pap1302_RESET_PIN 39
#else
#define pap1302_READY_PIN 2
#define pap1302_RESET_PIN 3
#endif
#define pap1302_POWER_PIN 4
#define pap1302_CLK_PIN 43
#if (defined(MT6218B))
#define pap1302_BASE_ADDR 0x90000810 /* parallel CS2 */
#endif
#if (defined(MT6217))
#define pap1302_BASE_ADDR 0x90006000 /* parallel CS2 */
#endif
#define ENABLE_pap1302_CLK GPIO_ModeSetup(pap1302_CLK_PIN,3); \
(*(volatile unsigned int *) 0x80080000)=0x1008; /* 26 MHz clock output */
#define DISABLE_pap1302_CLK GPIO_ModeSetup(pap1302_CLK_PIN,0);
#define SET_pap1302_RESET_PIN GPIO_WriteIO(1,pap1302_RESET_PIN);
#define CLEAR_pap1302_RESET_PIN GPIO_WriteIO(0,pap1302_RESET_PIN);
#define pap1302_POWER_DOWN GPIO_WriteIO(0,pap1302_POWER_PIN);
#define pap1302_POWER_ON GPIO_WriteIO(1,pap1302_POWER_PIN);
#define pap1302_READY (!GPIO_ReadIO(pap1302_READY_PIN))
#if (defined(MT6218B))
#define pap1302_BASE_ADDRESS 0x90000810 /* Parallel CS2 */
#endif
#if (defined(MT6217))
#define pap1302_BASE_ADDRESS 0x90006000 /* Parallel CS2 */
#endif
#define pap1302_WRITE_CMD(data) (*(volatile unsigned char *) (pap1302_BASE_ADDRESS))=data;
#if (defined(MT6218B))
#define pap1302_WRITE_DATA(data) (*(volatile unsigned char *) (pap1302_BASE_ADDRESS+0x04))=data;
#define pap1302_READ_DATA (*(volatile unsigned char *) (pap1302_BASE_ADDRESS+0x04))
#endif
#if (defined(MT6217))
#define pap1302_WRITE_DATA(data) (*(volatile unsigned char *) (pap1302_BASE_ADDRESS+0x100))=data;
#define pap1302_READ_DATA (*(volatile unsigned char *) (pap1302_BASE_ADDRESS+0x100))
#endif
#define pap1302_LCD_RS_WRITE_ADDR 0xF0
#define pap1302_LCD1_WRITE_ADDR 0xF2
#define pap1302_LCD1_READ_ADDR 0xF3
#define pap1302_LCD2_WRITE_ADDR 0xF6
#define pap1302_LCD2_READ_ADDR 0xF7
#define pap1302_REG_WRITE_ADDR 0xF8
#define pap1302_REG_READ_ADDR 0xF9
#define pap1302_BUFFER_READ_WRITE_ADDR 0xFB
#define pap1302_SET_BUFFER_ADDR 0xFD
#define pap1302_INTERRUPT_FLAG_ADDR 0xFF
#define pap1302_SET_JPEG_QUALITY_CMD 0x01
#define pap1302_SET_WB_MODE_CMD 0x02
#define pap1302_SET_EV_VALUE_CMD 0x03
#define pap1302_SET_BAND_MODE_CMD 0x04
#define pap1302_SET_DIGITAL_ZOOM_CMD 0x05
#define pap1302_JPEG_QUALITY_LOW 0x01
#define pap1302_JPEG_QUALITY_NORMAL 0x02
#define pap1302_JPEG_QUALITY_HIGH 0x03
#define pap1302_JPEG_QUALITY_FINE 0x04
#define pap1302_WB_AUTO 0x01
#define pap1302_WB_DAYLIGHT 0x02
#define pap1302_WB_TUNGSTEN 0x03
#define pap1302_WB_FLUORESCENT 0x04
#define pap1302_BANDING_50HZ 0x01
#define pap1302_BANDING_60HZ 0x02
#define pap1302_SET_SPECIAL_EFFECT_CMD 0x08
#define pap1302_EFFECT_NORMAL 0x00
#define pap1302_EFFECT_GRAYSCALE 0x01
#define pap1302_EFFECT_COLOR_INVERT 0x02
#define pap1302_EFFECT_SEPIA 0x03
#define pap1302_EFFECT_BLACKBOARD 0x04
#define pap1302_EFFECT_WHITEBOARD 0x05
#define pap1302_EV_POS_4_3 0x01
#define pap1302_EV_POS_3_3 0x02
#define pap1302_EV_POS_2_3 0x03
#define pap1302_EV_POS_1_3 0x04
#define pap1302_EV_0 0x05
#define pap1302_EV_NEG_1_3 0x06
#define pap1302_EV_NEG_2_3 0x07
#define pap1302_EV_NEG_3_3 0x08
#define pap1302_EV_NEG_4_3 0x09
#define pap1302_DIGITAL_ZOOM_NORMAL 0x01
#define pap1302_DIGITAL_ZOOM_2X 0x02
#define pap1302_DIGITAL_ZOOM_4X 0x03
extern kal_uint16 preview_image_width,preview_image_height;
extern kal_uint8 ext_camera_state;
extern kal_uint8 image_quality,image_format,white_balance_mode;
extern kal_uint8 digital_zoom_mode,gamma_table_number;
extern kal_uint8 image_effect;
void cam_module_func_config(void);
kal_uint16 pap1302_reg_read(kal_uint8 reg_address);
void pap1302_reg_write(kal_uint8 reg_address,kal_uint16 data);
void pas302_reg_write_delay(kal_uint8 reg_address,kal_uint8 data);
void pap1302_reg_write_if(kal_uint16 reg_address,kal_uint16 data);
kal_uint16 pap1302_reg_read_if(kal_uint16 reg_address);
kal_uint8 check_pap1302_status(void);
kal_uint8 check_pap1302_preview_ready(void);
kal_uint32 check_pap1302_capture_ready(void);
void pap1302_preview_frame(ext_camera_para_struct *ext_cam_para);
void pap1302_stop_preview(void);
void pap1302_capture_frame(ext_camera_para_struct *ext_cam_para);
kal_uint32 pap1302_encode_frame(ext_camera_para_struct *ext_cam_para,kal_bool back_to_preview);
void reset_pap1302(void);
void delay_pap1302(int delay_count);
void init_pap1302(void);
void pap1302_cmd_mapping(void);
void stop_pap1302(void);
void pap1302_get_image(void);
void pap1302_set_para(kal_uint8 cmd, kal_uint8 para);
kal_uint32 pap1302_get_jpeg_file(void);
kal_uint32 pap1302_get_burst_jpeg_file(void);
kal_uint8 pap1302_frame_rate(void);
#endif /* CAMERA_MODULE */
#endif /* _CAM_MODULE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -