femtoos_headers/femtoos_code.h

Go to the documentation of this file.
00001 /*
00002  * Femto OS v 0.91 - Copyright (C) 2008-2009 Ruud Vlaming
00003  *
00004  * This file is part of the Femto OS distribution.
00005  *
00006  * This program is free software: you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation, version 3 of the License.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017  *
00018  * Please note that, due to the GPLv3 license, for application of this
00019  * work and/or combined work in embedded systems special obligations apply.
00020  * If these are not to you liking, please know the Femto OS is dual
00021  * licensed. A commercial license and support are available.
00022  * See http://www.femtoos.org/ for details.
00023  */
00024 
00025 #ifndef FEMTOOS_CODE_H
00026 #define FEMTOOS_CODE_H
00027 
00028 #include "femtoos_core.h"
00029 #include "femtoos_order.h"
00030 
00031 /* This file is the only header file you need to include in you application code. */
00032 
00033 /* DISCUSSION
00034  * Tick hooks for every tick (appTick00), for every 256 ticks (appTick08) and every
00035  * 65536 ticks (appTick16) in case of power down the tick00 and tick08 may be lost.
00036  * Ticks16 may be deferred. In case of variable time slices the hooks may be deferred,
00037  * tick 00 may come in rapid repetition. to catch up. ticks are not missed.
00038  * tick16 may for example be used to extend the tick counter. All routines run in
00039  * OS space with used stacks. Keep the functions shallow and quick, also the
00040  * tick16 function. API calls are NOT allowed from within. However, tick interrupts
00041  * are disabled when the functions are called, so share variables are save. Global
00042  * interrupts may not be disabled.
00043  */
00044 
00049 void appBoot(void);
00050 
00057 void appTick00(void);
00058 
00065 void appTick08(void);
00066 
00073 void appTick16(void);
00074 
00075 
00079 #ifdef TN_00
00080   void AppLoop(TN_00) (void) __attribute__ ( ( noreturn ) ) ;
00081 #endif
00082 
00083 #ifdef TN_01
00084   void AppLoop(TN_01) (void) __attribute__ ( ( noreturn ) ) ;
00085 #endif
00086 
00087 #ifdef TN_02
00088   void AppLoop(TN_02) (void) __attribute__ ( ( noreturn ) ) ;
00089 #endif
00090 
00091 #ifdef TN_03
00092   void AppLoop(TN_03) (void) __attribute__ ( ( noreturn ) ) ;
00093 #endif
00094 
00095 #ifdef TN_04
00096   void AppLoop(TN_04) (void) __attribute__ ( ( noreturn ) ) ;
00097 #endif
00098 
00099 #ifdef TN_05
00100   void AppLoop(TN_05) (void) __attribute__ ( ( noreturn ) ) ;
00101 #endif
00102 
00103 #ifdef TN_06
00104   void AppLoop(TN_06) (void) __attribute__ ( ( noreturn ) ) ;
00105 #endif
00106 
00107 #ifdef TN_07
00108   void AppLoop(TN_07) (void) __attribute__ ( ( noreturn ) ) ;
00109 #endif
00110 
00111 #ifdef TN_08
00112   void AppLoop(TN_08) (void) __attribute__ ( ( noreturn ) ) ;
00113 #endif
00114 
00115 #ifdef TN_09
00116   void AppLoop(TN_09) (void) __attribute__ ( ( noreturn ) ) ;
00117 #endif
00118 
00119 #ifdef TN_10
00120   void AppLoop(TN_10) (void) __attribute__ ( ( noreturn ) ) ;
00121 #endif
00122 
00123 #ifdef TN_11
00124   void AppLoop(TN_11) (void) __attribute__ ( ( noreturn ) ) ;
00125 #endif
00126 
00127 #ifdef TN_12
00128   void AppLoop(TN_12) (void) __attribute__ ( ( noreturn ) ) ;
00129 #endif
00130 
00131 #ifdef TN_13
00132   void AppLoop(TN_13) (void) __attribute__ ( ( noreturn ) ) ;
00133 #endif
00134 
00135 #ifdef TN_14
00136   void AppLoop(TN_14) (void) __attribute__ ( ( noreturn ) ) ;
00137 #endif
00138 
00139 #ifdef TN_15
00140   void AppLoop(TN_15) (void) __attribute__ ( ( noreturn ) ) ;
00141 #endif
00142 
00143 
00144 #endif /* FEMTOOS_CODE_H */

Generated on Fri Oct 16 00:05:21 2009 for FemtoOS by  doxygen 1.5.2