Renesas GR-PEACH OpenCV Development / gr-peach-opencv-project-sd-card_update

Fork of gr-peach-opencv-project-sd-card by the do

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers define.h Source File

define.h

00001 #ifndef DEFINE_H
00002 #define DEFINE_H
00003 
00004 #define VIDEO_CVBS             (0)                 /* Analog  Video Signal */
00005 #define VIDEO_CMOS_CAMERA      (1)                 /* Digital Video Signal */
00006 #define VIDEO_YCBCR422         (0)
00007 #define VIDEO_RGB888           (1)
00008 #define VIDEO_RGB565           (2)
00009 
00010 /**** User Selection *********/
00011 /** Camera setting **/
00012 #define VIDEO_INPUT_METHOD     (VIDEO_CMOS_CAMERA) /* Select  VIDEO_CVBS or VIDEO_CMOS_CAMERA                       */
00013 #define VIDEO_INPUT_FORMAT     (VIDEO_RGB565 )    /* Select  VIDEO_YCBCR422 or VIDEO_RGB888 or VIDEO_RGB565        */
00014 #define USE_VIDEO_CH           (0)                 /* Select  0 or 1            If selecting VIDEO_CMOS_CAMERA, should be 0.)               */
00015 #define VIDEO_PAL              (0)                 /* Select  0(NTSC) or 1(PAL) If selecting VIDEO_CVBS, this parameter is not referenced.) */
00016 /** LCD setting **/
00017 #define LCD_TYPE               (0)                 /* Select  0(4.3inch) or 1(7.1inch) */
00018 /*****************************/
00019 
00020 /** LCD shield config **/
00021 #if (LCD_TYPE == 0)
00022   #include "LCD_shield_config_4_3inch.h"
00023 #else
00024   #include "LCD_shield_config_7_1inch.h"
00025 #endif
00026 
00027 /** Video and Grapics (GRAPHICS_LAYER_0) parameter **/
00028 /* video input */
00029 #if USE_VIDEO_CH == (0)
00030   #define VIDEO_INPUT_CH       (DisplayBase::VIDEO_INPUT_CHANNEL_0)
00031   #define VIDEO_INT_TYPE       (DisplayBase::INT_TYPE_S0_VFIELD)
00032 #else
00033   #define VIDEO_INPUT_CH       (DisplayBase::VIDEO_INPUT_CHANNEL_1)
00034   #define VIDEO_INT_TYPE       (DisplayBase::INT_TYPE_S1_VFIELD)
00035 #endif
00036 
00037 /* NTSC or PAL */
00038 #if VIDEO_PAL == 0
00039   #define COL_SYS              (DisplayBase::COL_SYS_NTSC_358)
00040 #else
00041   #define COL_SYS              (DisplayBase::COL_SYS_PAL_443)
00042 #endif
00043 
00044 /* Video input and LCD layer 0 output */
00045 #if VIDEO_INPUT_FORMAT == VIDEO_YCBCR422
00046   #define VIDEO_FORMAT         (DisplayBase::VIDEO_FORMAT_YCBCR422)
00047   #define GRAPHICS_FORMAT      (DisplayBase::GRAPHICS_FORMAT_YCBCR422)
00048   #define WR_RD_WRSWA          (DisplayBase::WR_RD_WRSWA_NON)
00049 #elif VIDEO_INPUT_FORMAT == VIDEO_RGB565
00050   #define VIDEO_FORMAT         (DisplayBase::VIDEO_FORMAT_RGB565)
00051   #define GRAPHICS_FORMAT      (DisplayBase::GRAPHICS_FORMAT_RGB565)
00052   #define WR_RD_WRSWA          (DisplayBase::WR_RD_WRSWA_32_16BIT)
00053 #else
00054   #define VIDEO_FORMAT         (DisplayBase::VIDEO_FORMAT_RGB888)
00055   #define GRAPHICS_FORMAT      (DisplayBase::GRAPHICS_FORMAT_RGB888)
00056   #define WR_RD_WRSWA          (DisplayBase::WR_RD_WRSWA_32BIT)
00057 #endif
00058 
00059 /* The size of the video input is adjusted to the LCD size. */
00060 #define VIDEO_PIXEL_HW                LCD_PIXEL_WIDTH
00061 #define VIDEO_PIXEL_VW                LCD_PIXEL_HEIGHT
00062 
00063 /*! Frame buffer stride: Frame buffer stride should be set to a multiple of 32 or 128
00064     in accordance with the frame buffer burst transfer mode. */
00065 /* FRAME BUFFER Parameter GRAPHICS_LAYER_0 */
00066 #define FRAME_BUFFER_NUM              (3u)
00067 #if ( VIDEO_INPUT_FORMAT == VIDEO_YCBCR422 || VIDEO_INPUT_FORMAT == VIDEO_RGB565 )
00068   #define FRAME_BUFFER_BYTE_PER_PIXEL (2u)
00069 #else
00070   #define FRAME_BUFFER_BYTE_PER_PIXEL (4u)
00071 #endif
00072 #define FRAME_BUFFER_STRIDE           (((LCD_PIXEL_WIDTH * FRAME_BUFFER_BYTE_PER_PIXEL) + 31u) & ~31u)
00073 
00074 /* DRAW BUFFER Parameter GRAPHICS_LAYER_1 */
00075 #define DRAW_BUFFER_BYTE_PER_PIXEL   (2u)
00076 #define DRAW_BUFFER_STRIDE           (((LCD_PIXEL_WIDTH * DRAW_BUFFER_BYTE_PER_PIXEL) + 31u) & ~31u)
00077 
00078 /* Draw panel parameter */
00079 #define DRAW_POINT                    (1u)
00080 
00081 /* IMAGE DOWN SAMPLE*/
00082 #define IMG_DOWN_SAMPLE                (2u)
00083 
00084 /* Touch number point */
00085 #define TOUCH_NUM                      (1u)
00086 
00087 #define SDCARD_NAME "SD"
00088 #define SDCARD_PATH "/SD"
00089 
00090 #define MODE_BTN_X                      16
00091 #define MODE_BTN_Y                      235
00092 
00093 #define REGIS_FACE_BTN_X                5
00094 #define REGIS_FACE_BTN_Y                130
00095 
00096 #define FACE_REG_ID_MENU_X              100
00097 #define FACE_REG_ID_MENU_Y              50
00098 
00099 #define FACE_REG_ACT_MENU_X             410
00100 #define FACE_REG_ACT_MENU_Y             80
00101 
00102 #define GESTURE_SAMPLING_BTN_X          410
00103 #define GESTURE_SAMPLING_BTN_Y          110
00104 
00105 #define M_PI                            (3.14159)
00106 
00107 
00108 
00109 enum APP_MODE{
00110     FACE_DETECTION = 0,
00111     MOTION_DETECTION,
00112     FACE_RECOGNITION,
00113     GUESTURE_RECOGNITION,
00114     MODE_UNKNOWN
00115 };
00116 
00117 /*enum FACE_REG_ACTION{
00118     ACT_UNKNOWN,
00119     ACT_CHANGE_ID,
00120     ACT_ADD,
00121     ACT_IGNORE,
00122     ACT_DRAW_REGISTER,
00123     ACT_REGISTING_FACE,
00124 };*/
00125 
00126 enum CLICKED_CODE
00127 {
00128     CLICKED_UNKNOWN = 0,
00129     CLICKED_REGIS_FACE,
00130     CLICKED_CHANGE_ID,
00131     CLICKED_ADD,
00132     CLICKED_IGNORE,
00133     CLICKED_HAND_SAMPLING
00134 };
00135 
00136 #define MAX_COUNTOURS (500)
00137 
00138 #if defined(__ICCARM__)
00139 /* 32 bytes aligned */
00140 #pragma data_alignment=32
00141 static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT];
00142 #pragma data_alignment=32
00143 static uint8_t user_frame_buffer1[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT];
00144 #pragma data_alignment=32
00145 static uint8_t user_frame_buffer2[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT];
00146 #else
00147 /* 32 bytes aligned */
00148 static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00149 static uint8_t user_frame_buffer1[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00150 static uint8_t user_frame_buffer2[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00151 static uint8_t user_frame_buffer_draw[DRAW_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00152 static uint8_t user_frame_buffer_draw_action[DRAW_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00153 static uint8_t user_frame_buffer_draw_button[DRAW_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00154 static uint8_t my_frame[FRAME_BUFFER_STRIDE * LCD_PIXEL_HEIGHT]__attribute((aligned(32)));
00155 #endif
00156 static uint8_t * FrameBufferTbl[FRAME_BUFFER_NUM] = {user_frame_buffer0, user_frame_buffer1, user_frame_buffer2};
00157 #if VIDEO_INPUT_METHOD == VIDEO_CVBS
00158 static volatile int32_t vfield_count = 0;
00159 #endif
00160 
00161 #endif //DEFINE_H