Rev 151 | Blame | Last modification | View Log | Download
#ifndef EVENTS_H
#define EVENTS_H
/*
Copyright (C) 2004 John Orlando
AVRcam: a small real-time image processing engine.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 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 of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
For more information on the AVRcam, please contact:
john@jrobot.net
or go to www.jrobot.net for more details regarding the system.
*/
/***********************************************************
Module Name: Events.h
Module Date: 05/23/2004
Module Auth: John Orlando
Description: This file provides the external interface
to the events that can be published/processed in the
system. It is specifically by itself (and nothing
else should be defined in here) so that both .c and
.S (assembly) files can include this file without
a problem.
Revision History:
Date Rel Ver. Notes
4/10/2004 0.1 Module created
6/30/2004 1.0 Initial release for Circuit Cellar
contest.
*******************************************************/
/* Definitions */
/* Originally, all events were passed in a bitmask...however,
an event FIFO was finally used, but the coding of the event
definitions were never translated back....doesn't make a
difference, but looks a little weird */
#define EV_SERIAL_DATA_RECEIVED 0x01
#define EV_DUMP_FRAME 0x02
#define EV_PROCESS_FRAME_COMPLETE 0x04
#define EV_PROCESS_LINE_COMPLETE 0x08
#define EV_ACQUIRE_LINE_COMPLETE 0x10
#define EV_ACQUIRE_FRAME_COMPLETE 0x20
#define EV_CONFIGURE_CAMERA 0x40
#define EV_ENABLE_TRACKING 0x80
#define EV_DISABLE_TRACKING 0x81
#define EV_SERIAL_DATA_PENDING_TX 0x90
#define EV_RED_COLOR_MAP_RECEIVED 0x91
#define EV_BLUE_COLOR_MAP_RECEIVED 0x92
#define EV_GREEN_COLOR_MAP_RECEIVED 0x93
/* This is used to pass fast events through the system
so there is a minimum of processing time needed
between lines of tracking data */
#define FEV_ACQUIRE_LINE_COMPLETE 0x01
#define FEV_PROCESS_LINE_COMPLETE 0x02
/* This is needed for the event fifo */
#define EXEC_EVENT_FIFO_SIZE 8
#define EXEC_EVENT_FIFO_MASK EXEC_EVENT_FIFO_SIZE-1
#endif