1 /* FreeEMS - the open source engine management system
3 * Copyright 2010 Fred Cooke
5 * This file is part of the FreeEMS project.
7 * FreeEMS software is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * FreeEMS software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with any FreeEMS software. If not, see http://www.gnu.org/licenses/
20 * We ask that if you make any changes to this file you email them upstream to
21 * us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
23 * Thank you for choosing FreeEMS to run your engine!
28 * @ingroup doxygenDocFiles
29 * @brief Doxygen module groups definition
31 * @note The order of group definitions within this file determines the order
32 * of them on the modules page so place new groups accordingly.
35 /** @defgroup interruptHandlers Interrupt Service Routines
37 * These files contain special functions that take no arguments and have void
38 * return type. They can not take arguments or return anything as they are
39 * called asynchronously by the hardware through a special jump table that
40 * contains the start address of each one. Typically these functions take care
41 * of handling asyncronous external events that are triggered through some sort
42 * of peripheral module. Examples of types of events that require interrupts
43 * and associated handlers are listed below.
46 * - change of pin voltage state (high to low or vice versa)
47 * - data received by a communication module
48 * - buffer for data to be sent by a communication module requires refilling
49 * - real time clock ticks
50 * - timer module ticks
53 /** @defgroup enginePositionRPMDecoders Engine Position/RPM Decoders
55 * All of the code that reads the high speed engine
56 * position signals can be found linked to from here.
58 * Currently only NipponDenso is semi functional.
61 /** @defgroup communicationsFiles Communications
63 * All files that are involved in communicating with something outside the MCU
73 /** @defgroup globalHeaders Global Headers
75 * These key files are included in most source files by default.
86 /** @defgroup dataInitialisers Data Initialisers
88 * These files provide initial data definitions for items that live in flash.
98 /** @defgroup measurementsAndCalculations Measurements And Calculations
100 * These files all operate on inputs in order to eventually generate outputs.
104 * - Core variable generation
105 * - Core variable averaging
106 * - Derived variable generation
107 * - Fuel calculations
108 * - Ignition calculations
111 /** @defgroup allHeaders All Header Files
113 * Most of these are fairly uninteresting, hence being close to the bottom of
114 * the modules list. Typically they just contain function declarations for
115 * inclusion in other source files.
118 /** @defgroup testing Test Files
120 * A very small group at this stage, this is intended to contain various files
121 * that manipulate the functional code by providing it with artificial inputs
122 * instead of real values read from sensors.
125 /** @defgroup doxygenDocFiles Doxygen Documentation Files
127 * These files exist purely to contain documentation for extraction
128 * by Doxygen. Using this grouping keeps them off the file list.
131 /** @defgroup xgateFiles XGATE Related Files
133 * Files related to XGATE co-processor functionality.