Nut/OS  5.0.5
API Reference
watchdog.h
Go to the documentation of this file.
00001 #ifndef _DEV_WATCHDOG_H_
00002 #define _DEV_WATCHDOG_H_
00003 
00004 /*
00005  * Copyright (C) 2006 by egnite Software GmbH. All rights reserved.
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  *
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  * 2. Redistributions in binary form must reproduce the above copyright
00014  *    notice, this list of conditions and the following disclaimer in the
00015  *    documentation and/or other materials provided with the distribution.
00016  * 3. Neither the name of the copyright holders nor the names of
00017  *    contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00021  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00022  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00023  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00024  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00025  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00026  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
00027  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
00028  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00029  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
00030  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00031  * SUCH DAMAGE.
00032  *
00033  * For additional information see http://www.ethernut.de/
00034  */
00035 
00036 /*
00037  * $Log$
00038  * Revision 1.4  2008/09/02 14:32:25  haraldkipp
00039  * Includes stdint header.
00040  *
00041  * Revision 1.3  2008/08/11 06:59:59  haraldkipp
00042  * BSD types replaced by stdint types (feature request #1282721).
00043  *
00044  * Revision 1.2  2006/05/25 09:13:23  haraldkipp
00045  * Platform independent watchdog API added.
00046  *
00047  * Revision 1.1  2006/02/23 15:36:35  haraldkipp
00048  * Added support for AT91 watchdog timer.
00049  *
00050  */
00051 
00052 #include <cfg/arch.h>
00053 #include <sys/types.h>
00054 #include <stdint.h>
00055 
00060 
00061 
00096 extern uint32_t NutWatchDogStart(uint32_t ms, uint32_t xmode);
00097 
00098 
00102 extern void NutWatchDogRestart(void);
00103 
00129 extern void NutWatchDogDisable(void);
00130 
00144 extern void NutWatchDogEnable(void);
00145 
00146 #if defined(__AVR__)
00147 extern uint32_t AvrWatchDogStart(uint32_t ms);
00148 extern void AvrWatchDogRestart(void);
00149 extern void AvrWatchDogDisable(void);
00150 extern void AvrWatchDogEnable(void);
00151 #elif defined(MCU_AT91R40008) || defined(MCU_AT91SAM7X) || defined(MCU_AT91SAM7S) || defined(MCU_AT91SAM7SE)
00152 extern uint32_t At91WatchDogStart(uint32_t ms, uint32_t xmode);
00153 extern void At91WatchDogRestart(void);
00154 extern void At91WatchDogDisable(void);
00155 extern void At91WatchDogEnable(void);
00156 #elif defined(__AVR32__)
00157 extern uint32_t Avr32WatchDogStart(uint32_t ms);
00158 extern void Avr32WatchDogRestart(void);
00159 extern void Avr32WatchDogDisable(void);
00160 extern void Avr32WatchDogEnable(void);
00161 #elif defined(MCU_LPC17xx)
00162 extern uint32_t Lpc17xxWatchDogStart(uint32_t ms, uint32_t xmode);
00163 extern void Lpc17xxWatchDogRestart(void);
00164 extern void Lpc17xxWatchDogDisable(void);
00165 extern void Lpc17xxWatchDogEnable(void);
00166 #endif
00167 
00170 #endif
00171