nico@207: nico@207: nico@207: CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timer.h Source File nico@207: nico@207: nico@207: nico@207: nico@207:
nico@207:
nico@207:
nico@207:
nico@207:

/home/epimerde/documents/tc11/CanFestival-3/include/timer.h

Go to the documentation of this file.
00001 /*
nico@207: 00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
nico@207: 00003 
nico@207: 00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
nico@207: 00005 
nico@207: 00006 See COPYING file for copyrights details.
nico@207: 00007 
nico@207: 00008 This library is free software; you can redistribute it and/or
nico@207: 00009 modify it under the terms of the GNU Lesser General Public
nico@207: 00010 License as published by the Free Software Foundation; either
nico@207: 00011 version 2.1 of the License, or (at your option) any later version.
nico@207: 00012 
nico@207: 00013 This library is distributed in the hope that it will be useful,
nico@207: 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
nico@207: 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
nico@207: 00016 Lesser General Public License for more details.
nico@207: 00017 
nico@207: 00018 You should have received a copy of the GNU Lesser General Public
nico@207: 00019 License along with this library; if not, write to the Free Software
nico@207: 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
nico@207: 00021 */
nico@207: 00022 
nico@207: 00023 #ifndef __timer_h__
nico@207: 00024 #define __timer_h__
nico@207: 00025 
nico@207: 00026 #include <timerscfg.h>
nico@207: 00027 #include <applicfg.h>
nico@207: 00028 
nico@207: 00029 #define TIMER_HANDLE INTEGER16
nico@207: 00030 
nico@207: 00031 #include "data.h"
nico@207: 00032 
nico@207: 00033 /* --------- types and constants definitions --------- */
nico@207: 00034 #define TIMER_FREE 0
nico@207: 00035 #define TIMER_ARMED 1
nico@207: 00036 #define TIMER_TRIG 2
nico@207: 00037 #define TIMER_TRIG_PERIOD 3
nico@207: 00038 
nico@207: 00039 #define TIMER_NONE -1
nico@207: 00040 
nico@207: 00041 typedef void (*TimerCallback_t)(CO_Data* d, UNS32 id);
nico@207: 00042 
nico@207: 00043 struct struct_s_timer_entry {
nico@207: 00044         UNS8 state;
nico@207: 00045         CO_Data* d;
nico@207: 00046         TimerCallback_t callback; /* The callback func. */
nico@207: 00047         UNS32 id; /* The callback func. */
nico@207: 00048         TIMEVAL val;
nico@207: 00049         TIMEVAL interval; /* Periodicity */
nico@207: 00050 };
nico@207: 00051 
nico@207: 00052 typedef struct struct_s_timer_entry s_timer_entry;
nico@207: 00053 
nico@207: 00054 /* ---------  prototypes --------- */
nico@207: 00055 /*#define SetAlarm(d, id, callback, value, period) printf("%s, %d, SetAlarm(%s, %s, %s, %s, %s)\n",__FILE__, __LINE__, #d, #id, #callback, #value, #period); _SetAlarm(d, id, callback, value, period)*/
nico@207: 00056 TIMER_HANDLE SetAlarm(CO_Data* d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period);
nico@207: 00057 TIMER_HANDLE DelAlarm(TIMER_HANDLE handle);
nico@207: 00058 void TimeDispatch(void);
nico@207: 00059 
nico@207: 00060 /* ---------  to be defined in user app ---------*/
nico@207: 00061 void setTimer(TIMEVAL value);
nico@207: 00062 TIMEVAL getElapsedTime(void);
nico@207: 00063 
nico@207: 00064 #endif /* #define __timer_h__ */
nico@207: 

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  nico@207: nico@207: doxygen 1.5.1
nico@207: nico@207: