Blame | Last modification | View Log | Download
#ifndef CAMINTERFACE_H#define CAMINTERFACE_H/*Copyright (C) 2004 John OrlandoAVRcam: a small real-time image processing engine.This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General PublicLicense as published by the Free Software Foundation; eitherversion 2 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General PublicLicense along with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAFor more information on the AVRcam, please contact:john@jrobot.netor go to www.jrobot.net for more details regarding the system.*//***********************************************************Module Name: CamInterface.hModule Date: 04/14/2004Module Auth: John OrlandoDescription: This file is responsible for providing theexternal interface to the CamInterface module.Revision History:Date Rel Ver. Notes4/10/2004 0.1 Module created6/30/2004 1.0 Initial release for Circuit Cellarcontest.***********************************************************/#define NUM_PIXELS_IN_A_TRACKED_LINE 88#define NUM_PIXELS_IN_A_DUMP_LINE 176#define ACTUAL_NUM_PIXELS_IN_A_LINE 176#define ACTUAL_NUM_LINES_IN_A_FRAME 144#define LENGTH_OF_RUN_LENGTH_BLOCK 2#define LENGTH_OF_LINE_BUFFER NUM_PIXELS_IN_A_DUMP_LINE#define WAIT_FOR_VSYNC_LOW() while( (PIND & 0x04) != 0)#define WAIT_FOR_VSYNC_HIGH() while( (PIND & 0x04) == 0)#define WAIT_FOR_HREF_LOW() while( (PIND & 0x10) != 0)#define WAIT_FOR_HREF_HIGH() while( (PIND & 0x10) == 0)#define WAIT_FOR_PCLK_LOW() while( (PIND & 0x20) != 0)#define WAIT_FOR_PCLK_HIGH() while( (PIND & 0x20) == 0)#define NUM_COLOR_STEPS 16#define NUM_COLOR_CHANNELS 3#define NUM_ELEMENTS_IN_COLOR_MAP (NUM_COLOR_STEPS * NUM_COLOR_CHANNELS)#define RED_OFFSET 0#define GREEN_OFFSET 16#define BLUE_OFFSET 32extern unsigned char currentLineBuffer[];extern unsigned char previousLineBuffer[];extern unsigned char colorMap[];extern unsigned char frameCount;/* Extern functions */extern void CamInt_init(void);extern void CamInt_resetCam(void);extern void CamInt_waitForNewDumpFrame(void);extern void CamInt_waitForNewTrackingFrame(void);extern void CamInt_acquireTrackingLine(void);extern void CamInt_acquireDumpLine(void);#endif