M480 BSP V3.05.005
The Board Support Package for M480 Series
ccap.h
Go to the documentation of this file.
1/**************************************************************************/
9#ifndef __CCAP_H__
10#define __CCAP_H__
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16
29/*---------------------------------------------------------------------------------------------------------*/
30/* CTL constant definitions */
31/*---------------------------------------------------------------------------------------------------------*/
32#define CCAP_CTL_CCAPEN (1ul<<CCAP_CTL_CCAPEN_Pos)
33#define CCAP_CTL_ADDRSW (1ul<<CCAP_CTL_ADDRSW_Pos)
34#define CCAP_CTL_PKTEN (1ul<<CCAP_CTL_PKTEN_Pos)
35#define CCAP_CTL_PLNEN (1ul<<CCAP_CTL_PLNEN_Pos)
36#define CCAP_CTL_SHUTTER (1ul<<CCAP_CTL_SHUTTER_Pos)
37#define CCAP_CTL_UPDATE (1ul<<CCAP_CTL_UPDATE_Pos)
38#define CCAP_CTL_RESET (1ul<<CCAP_CTL_VPRST_Pos)
39#define CCAP_CTL_MY8_MY4 (0ul<<CCAP_CTL_MY8_MY4_Pos)
40#define CCAP_CTL_MY8_MY8 (1ul<<CCAP_CTL_MY8_MY4_Pos)
42/*---------------------------------------------------------------------------------------------------------*/
43/* PAR constant definitions */
44/*---------------------------------------------------------------------------------------------------------*/
45#define CCAP_PAR_INFMT_YUV422 (0ul<<CCAP_PAR_INFMT_Pos)
46#define CCAP_PAR_INFMT_RGB565 (1ul<<CCAP_PAR_INFMT_Pos)
48#define CCAP_PAR_SENTYPE_CCIR601 (0ul<<CCAP_PAR_SENTYPE_Pos)
49#define CCAP_PAR_SENTYPE_CCIR656 (1ul<<CCAP_PAR_SENTYPE_Pos)
51#define CCAP_PAR_INDATORD_YUYV (0x0ul<<CCAP_PAR_INDATORD_Pos)
52#define CCAP_PAR_INDATORD_YVYU (0x1ul<<CCAP_PAR_INDATORD_Pos)
53#define CCAP_PAR_INDATORD_UYVY (0x2ul<<CCAP_PAR_INDATORD_Pos)
54#define CCAP_PAR_INDATORD_VYUY (0x3ul<<CCAP_PAR_INDATORD_Pos)
56#define CCAP_PAR_INDATORD_RGGB (0x0ul<<CCAP_PAR_INDATORD_Pos)
57#define CCAP_PAR_INDATORD_BGGR (0x1ul<<CCAP_PAR_INDATORD_Pos)
58#define CCAP_PAR_INDATORD_GBRG (0x2ul<<CCAP_PAR_INDATORD_Pos)
59#define CCAP_PAR_INDATORD_GRBG (0x3ul<<CCAP_PAR_INDATORD_Pos)
61#define CCAP_PAR_OUTFMT_YUV422 (0x0ul<<CCAP_PAR_OUTFMT_Pos)
62#define CCAP_PAR_OUTFMT_ONLY_Y (0x1ul<<CCAP_PAR_OUTFMT_Pos)
63#define CCAP_PAR_OUTFMT_RGB555 (0x2ul<<CCAP_PAR_OUTFMT_Pos)
64#define CCAP_PAR_OUTFMT_RGB565 (0x3ul<<CCAP_PAR_OUTFMT_Pos)
66#define CCAP_PAR_PLNFMT_YUV422 (0x0ul<<CCAP_PAR_PLNFMT_Pos)
67#define CCAP_PAR_PLNFMT_YUV420 (0x1ul<<CCAP_PAR_PLNFMT_Pos)
69#define CCAP_PAR_VSP_LOW (0x0ul<<CCAP_PAR_VSP_Pos)
70#define CCAP_PAR_VSP_HIGH (0x1ul<<CCAP_PAR_VSP_Pos)
71#define CCAP_PAR_HSP_LOW (0x0ul<<CCAP_PAR_HSP_Pos)
72#define CCAP_PAR_HSP_HIGH (0x1ul<<CCAP_PAR_HSP_Pos)
73#define CCAP_PAR_PCLKP_LOW (0x0ul<<CCAP_PAR_PCLKP_Pos)
74#define CCAP_PAR_PCLKP_HIGH (0x1ul<<CCAP_PAR_PCLKP_Pos)
76/*---------------------------------------------------------------------------------------------------------*/
77/* INT constant definitions */
78/*---------------------------------------------------------------------------------------------------------*/
79#define CCAP_INT_VIEN_ENABLE (0x1ul<<CCAP_INT_VIEN_Pos)
80#define CCAP_INT_MEIEN_ENABLE (0x1ul<<CCAP_INT_MEIEN_Pos)
81#define CCAP_INT_ADDRMIEN_ENABLE (0x1ul<<CCAP_INT_ADDRMIEN_Pos)
82#define CCAP_INT_MDIEN_ENABLE (0x1ul<<CCAP_INT_MDIEN_Pos)
84/*---------------------------------------------------------------------------------------------------------*/
85/* Define Error Code */
86/*---------------------------------------------------------------------------------------------------------*/
87#define CCAP_INVALID_INT ((int32_t)(0xFFFFFFFF-1))
88#define CCAP_INVALID_BUF ((int32_t)(0xFFFFFFFF-2))
89#define CCAP_INVALID_PIPE ((int32_t)(0xFFFFFFFF-3))
90
91#define CCAP_TIMEOUT_ERR (-1) /* end of group NUC472_442_CCAP_EXPORTED_CONSTANTS */
94
95extern int32_t g_CCAP_i32ErrCode;
96
109#define CCAP_IS_STOPPED() ((CCAP->CTL & CCAP_CTL_CCAPEN_Msk)?0:1)
110
125#define CCAP_CLR_INT_FLAG(u32IntMask) (CCAP->INT |=u32IntMask)
126
135#define CCAP_GET_INT_STS() (CCAP->INT)
136
137void CCAP_Open(uint32_t u32InFormat, uint32_t u32OutFormet);
138void CCAP_SetCroppingWindow(uint32_t u32VStart,uint32_t u32HStart, uint32_t u32Height, uint32_t u32Width);
139void CCAP_SetPacketBuf(uint32_t u32Address );
140void CCAP_Close(void);
141void CCAP_EnableInt(uint32_t u32IntMask);
142void CCAP_DisableInt(uint32_t u32IntMask);
143void CCAP_Start(void);
144void CCAP_Stop(uint32_t u32FrameComplete);
145void CCAP_SetPacketScaling(uint32_t u32VNumerator, uint32_t u32VDenominator, uint32_t u32HNumerator, uint32_t u32HDenominator);
146void CCAP_SetPacketStride(uint32_t u32Stride );
147void CCAP_EnableMono(uint32_t u32Interface);
148void CCAP_DisableMono(void);
149void CCAP_EnableLumaYOne(uint32_t u32th);
150void CCAP_DisableLumaYOne(void);
151 /* end of group CCAP_EXPORTED_FUNCTIONS */
153
154
155 /* end of group CCAP_Driver */
157 /* end of group Standard_Driver */
159
160#ifdef __cplusplus
161}
162#endif
163
164#endif //__CCAP_H__
165
166/*** (C) COPYRIGHT 2016 Nuvoton Technology Corp. ***/
int32_t g_CCAP_i32ErrCode
Definition: ccap.c:19
void CCAP_EnableInt(uint32_t u32IntMask)
Set CCAP Interrupt.
Definition: ccap.c:130
void CCAP_EnableMono(uint32_t u32Interface)
Enable Monochrome CMOS Sensor.
Definition: ccap.c:166
void CCAP_DisableMono(void)
Disable Monochrome CMOS Sensor.
Definition: ccap.c:177
void CCAP_SetPacketScaling(uint32_t u32VNumerator, uint32_t u32VDenominator, uint32_t u32HNumerator, uint32_t u32HDenominator)
Set Packet Scaling Vertical and Horizontal Factor Register.
Definition: ccap.c:264
void CCAP_Close(void)
Close Camera Capture Interface.
Definition: ccap.c:110
void CCAP_Stop(uint32_t u32FrameComplete)
Stop Camera Capture Interface.
Definition: ccap.c:229
void CCAP_Start(void)
Start Camera Capture Interface.
Definition: ccap.c:212
void CCAP_SetPacketBuf(uint32_t u32Address)
Set System Memory Packet Base Address0 Register.
Definition: ccap.c:99
void CCAP_DisableInt(uint32_t u32IntMask)
Disable CCAP Interrupt.
Definition: ccap.c:151
void CCAP_DisableLumaYOne(void)
Disable Luminance 8-bit Y to 1-bit Y Conversion.
Definition: ccap.c:202
void CCAP_SetCroppingWindow(uint32_t u32VStart, uint32_t u32HStart, uint32_t u32Height, uint32_t u32Width)
Set Cropping Window Starting Address and Size.
Definition: ccap.c:80
void CCAP_EnableLumaYOne(uint32_t u32th)
Enable Luminance 8-bit Y to 1-bit Y Conversion.
Definition: ccap.c:190
void CCAP_Open(uint32_t u32InFormat, uint32_t u32OutFormet)
Open engine clock and sensor clock.
Definition: ccap.c:59
void CCAP_SetPacketStride(uint32_t u32Stride)
Set Packet Frame Output Pixel Stride Width.
Definition: ccap.c:297