00001 /* FreeEMS - the open source engine management system 00002 * 00003 * Copyright 2010 Sean Keys, Fred Cooke 00004 * 00005 * This file is part of the FreeEMS project. 00006 * 00007 * FreeEMS software is free software: you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation, either version 3 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * FreeEMS software is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with any FreeEMS software. If not, see http://www.gnu.org/licenses/ 00019 * 00020 * We ask that if you make any changes to this file you email them upstream to 00021 * us at admin(at)diyefi(dot)org or, even better, fork the code on github.com! 00022 * 00023 * Thank you for choosing FreeEMS to run your engine! 00024 */ 00025 00026 00041 #define XGATEVECTORS_C 00042 #include "inc/freeEMS.h" 00043 #include "inc/xgateVectors.h" 00044 00045 00046 /* Currently this gets copied from wherever it ends up into the XGATE flash pages */ 00047 const xgateIntVector xgateIntVectorTable[] = { 00048 /* Channel # = Vector address / 2 */ 00049 /* channel 0x00-0x08 are not used, 0x09-0x1D are reserved first used must match macro XGATE_VECTOR_OFFSET in xgate.h */ 00050 {XGATE_ERROR_HANDLER, 0x00}, /* NOT USED */ 00051 {XGATE_ERROR_HANDLER, 0x01}, /* NOT USED */ 00052 {XGATE_ERROR_HANDLER, 0x02}, /* NOT USED */ 00053 {XGATE_ERROR_HANDLER, 0x03}, /* NOT USED */ 00054 {XGATE_ERROR_HANDLER, 0x04}, /* NOT USED */ 00055 {XGATE_ERROR_HANDLER, 0x05}, /* NOT USED */ 00056 {XGATE_ERROR_HANDLER, 0x06}, /* NOT USED */ 00057 {XGATE_ERROR_HANDLER, 0x07}, /* NOT USED */ 00058 {XGATE_ERROR_HANDLER, 0x08}, /* NOT USED */ 00059 {XGATE_ERROR_HANDLER, 0x09}, // RESERVED 00060 {XGATE_ERROR_HANDLER, 0x0A}, // RESERVED 00061 {XGATE_ERROR_HANDLER, 0x0B}, // RESERVED 00062 {XGATE_ERROR_HANDLER, 0x0C}, // RESERVED 00063 {XGATE_ERROR_HANDLER, 0x0D}, // RESERVED 00064 {XGATE_ERROR_HANDLER, 0x0E}, // RESERVED 00065 {XGATE_ERROR_HANDLER, 0x0F}, // RESERVED 00066 {XGATE_ERROR_HANDLER, 0x10}, // RESERVED 00067 {XGATE_ERROR_HANDLER, 0x11}, // RESERVED 00068 {XGATE_ERROR_HANDLER, 0x12}, // RESERVED 00069 {XGATE_ERROR_HANDLER, 0x13}, // RESERVED 00070 {XGATE_ERROR_HANDLER, 0x14}, // RESERVED 00071 {XGATE_ERROR_HANDLER, 0x15}, // RESERVED 00072 {XGATE_ERROR_HANDLER, 0x16}, // RESERVED 00073 {XGATE_ERROR_HANDLER, 0x17}, // RESERVED 00074 {XGATE_ERROR_HANDLER, 0x18}, // RESERVED 00075 {XGATE_ERROR_HANDLER, 0x19}, // RESERVED 00076 {XGATE_ERROR_HANDLER, 0x1A}, // RESERVED 00077 {XGATE_ERROR_HANDLER, 0x1B}, // RESERVED 00078 {XGATE_ERROR_HANDLER, 0x1C}, // RESERVED 00079 {XGATE_ERROR_HANDLER, 0x1D}, // RESERVED 00080 {XGATE_ERROR_HANDLER, 0x1E}, // Channel 1E - ATD1 compare 00081 {XGATE_ERROR_HANDLER, 0x1F}, // Channel 1F - ATD0 compare 00082 {XGATE_ERROR_HANDLER, 0x20}, // Channel 20 - TIM Pulse accumulator input edge 00083 {XGATE_ERROR_HANDLER, 0x21}, // Channel 21 - TIM Pulse accumulator A overflow 00084 {XGATE_ERROR_HANDLER, 0x22}, // Channel 22 - TIM overflow 00085 {XGATE_ERROR_HANDLER, 0x23}, // Channel 23 - TIM channel 7 00086 {XGATE_ERROR_HANDLER, 0x24}, // Channel 24 - TIM channel 6 00087 {XGATE_ERROR_HANDLER, 0x25}, // Channel 25 - TIM channel 5 00088 {XGATE_ERROR_HANDLER, 0x26}, // Channel 26 - TIM channel 4 00089 {XGATE_ERROR_HANDLER, 0x27}, // Channel 27 - TIM channel 3 00090 {XGATE_ERROR_HANDLER, 0x28}, // Channel 28 - TIM channel 2 00091 {XGATE_ERROR_HANDLER, 0x29}, // Channel 29 - TIM channel 1 00092 {XGATE_ERROR_HANDLER, 0x2A}, // Channel 2A - TIM channel 0 00093 {XGATE_ERROR_HANDLER, 0x2B}, // Channel 2B - SCI7 00094 {XGATE_ERROR_HANDLER, 0x2C}, // Channel 2C - Periodic Interrupt Timer 7 00095 {XGATE_ERROR_HANDLER, 0x2D}, // Channel 2D - Periodic Interrupt Timer 6 00096 {XGATE_ERROR_HANDLER, 0x2E}, // Channel 2E - Periodic Interrupt Timer 5 00097 {XGATE_ERROR_HANDLER, 0x2F}, // Channel 2F - Periodic Interrupt Timer 4 00098 {XGATE_ERROR_HANDLER, 0x30}, // Channel 30 - Reserved 00099 {XGATE_ERROR_HANDLER, 0x31}, // Channel 31 - Reserved 00100 {XGATE_ERROR_HANDLER, 0x32}, // Channel 32 - XGATE Software Trigger 7 00101 {XGATE_ERROR_HANDLER, 0x33}, // Channel 33 - XGATE Software Trigger 6 00102 {XGATE_ERROR_HANDLER, 0x34}, // Channel 34 - XGATE Software Trigger 5 00103 {XGATE_ERROR_HANDLER, 0x35}, // Channel 35 - XGATE Software Trigger 4 00104 {XGATE_ERROR_HANDLER, 0x36}, // Channel 36 - XGATE Software Trigger 3 00105 {XGATE_ERROR_HANDLER, 0x37}, // Channel 37 - XGATE Software Trigger 2 00106 {XGATE_ERROR_HANDLER, 0x38}, // Channel 38 - XGATE Software Trigger 1 00107 {(unsigned short)0x5000, (unsigned short)&PORTP}, // Channel 39 - XGATE Software Trigger 0 00108 {XGATE_ERROR_HANDLER, 0x3A}, // Channel 3A - Periodic Interrupt Timer 3 00109 {XGATE_ERROR_HANDLER, 0x3B}, // Channel 3B - Periodic Interrupt Timer 2 00110 {XGATE_ERROR_HANDLER, 0x3C}, // Channel 3C - Periodic Interrupt Timer 1 00111 {XGATE_ERROR_HANDLER, 0x3D}, // Channel 3D - Periodic Interrupt Timer 0 00112 {XGATE_ERROR_HANDLER, 0x3E}, // Channel 3E - Reserved 00113 {XGATE_ERROR_HANDLER, 0x3F}, // Channel 3F - Autonomous Periodical interrupt API 00114 {XGATE_ERROR_HANDLER, 0x40}, // Channel 40 - Low Voltage interrupt LVI 00115 {XGATE_ERROR_HANDLER, 0x41}, // Channel 41 - IIC1 Bus 00116 {XGATE_ERROR_HANDLER, 0x42}, // Channel 42 - SCI5 00117 {XGATE_ERROR_HANDLER, 0x43}, // Channel 43 - SCI4 00118 {XGATE_ERROR_HANDLER, 0x44}, // Channel 44 - SCI3 00119 {XGATE_ERROR_HANDLER, 0x45}, // Channel 45 - SCI2 00120 {XGATE_ERROR_HANDLER, 0x46}, // Channel 46 - PWM Emergency Shutdown 00121 {XGATE_ERROR_HANDLER, 0x47}, // Channel 47 - Port P Interrupt 00122 {XGATE_ERROR_HANDLER, 0x48}, // Channel 48 - CAN4 transmit 00123 {XGATE_ERROR_HANDLER, 0x49}, // Channel 49 - CAN4 receive 00124 {XGATE_ERROR_HANDLER, 0x4A}, // Channel 4A - CAN4 errors 00125 {XGATE_ERROR_HANDLER, 0x4B}, // Channel 4B - CAN4 wake-up 00126 {XGATE_ERROR_HANDLER, 0x4C}, // Channel 4C - CAN3 transmit 00127 {XGATE_ERROR_HANDLER, 0x4D}, // Channel 4D - CAN3 receive 00128 {XGATE_ERROR_HANDLER, 0x4E}, // Channel 4E - CAN3 errors 00129 {XGATE_ERROR_HANDLER, 0x4F}, // Channel 4F - CAN3 wake-up 00130 {XGATE_ERROR_HANDLER, 0x50}, // Channel 50 - CAN2 transmit 00131 {XGATE_ERROR_HANDLER, 0x51}, // Channel 51 - CAN2 receive 00132 {XGATE_ERROR_HANDLER, 0x52}, // Channel 52 - CAN2 errors 00133 {XGATE_ERROR_HANDLER, 0x53}, // Channel 53 - CAN2 wake-up 00134 {XGATE_ERROR_HANDLER, 0x54}, // Channel 54 - CAN1 transmit 00135 {XGATE_ERROR_HANDLER, 0x55}, // Channel 55 - CAN1 receive 00136 {XGATE_ERROR_HANDLER, 0x56}, // Channel 56 - CAN1 errors 00137 {XGATE_ERROR_HANDLER, 0x57}, // Channel 57 - CAN1 wake-up 00138 {XGATE_ERROR_HANDLER, 0x58}, // Channel 58 - CAN0 transmit 00139 {XGATE_ERROR_HANDLER, 0x59}, // Channel 59 - CAN0 receive 00140 {XGATE_ERROR_HANDLER, 0x5A}, // Channel 5A - CAN0 errors 00141 {XGATE_ERROR_HANDLER, 0x5B}, // Channel 5B - CAN0 wake-up 00142 {XGATE_ERROR_HANDLER, 0x5C}, // Channel 5C - FLASH 00143 {XGATE_ERROR_HANDLER, 0x5D}, // Channel 5D - FLASH fault detect 00144 {XGATE_ERROR_HANDLER, 0x5E}, // Channel 5E - SPI2 00145 {XGATE_ERROR_HANDLER, 0x5F}, // Channel 5F - SPI1 00146 {XGATE_ERROR_HANDLER, 0x60}, // Channel 60 - IIC0 Bus 00147 {XGATE_ERROR_HANDLER, 0x61}, // Channel 61 - SCI6 00148 {XGATE_ERROR_HANDLER, 0x62}, // Channel 62 - CRG Self Clock Mode 00149 {XGATE_ERROR_HANDLER, 0x63}, // Channel 63 - CRG PLL lock 00150 {XGATE_ERROR_HANDLER, 0x64}, // Channel 64 - Pulse Accumulator B Overflow 00151 {XGATE_ERROR_HANDLER, 0x65}, // Channel 65 - Modulus Down Counter underflow 00152 {XGATE_ERROR_HANDLER, 0x66}, // Channel 66 - Port H 00153 {XGATE_ERROR_HANDLER, 0x67}, // Channel 67 - Port J 00154 {XGATE_ERROR_HANDLER, 0x68}, // Channel 68 - ATD1 00155 {XGATE_ERROR_HANDLER, 0x69}, // Channel 69 - ATD0 00156 {XGATE_ERROR_HANDLER, 0x6A}, // Channel 6A - SCI1 00157 {XGATE_ERROR_HANDLER, 0x6B}, // Channel 6B - SCI0 00158 {XGATE_ERROR_HANDLER, 0x6C}, // Channel 6C - SPI0 00159 {XGATE_ERROR_HANDLER, 0x6D}, // Channel 6D - ECT Pulse accumulator input edge 00160 {XGATE_ERROR_HANDLER, 0x6E}, // Channel 6E - ECT Pulse accumulator A overflow 00161 {XGATE_ERROR_HANDLER, 0x6F}, // Channel 6F - Enhanced Capture Timer overflow 00162 {XGATE_ERROR_HANDLER, 0x70}, // Channel 70 - Enhanced Capture Timer channel 7 00163 {XGATE_ERROR_HANDLER, 0x71}, // Channel 71 - Enhanced Capture Timer channel 6 00164 {XGATE_ERROR_HANDLER, 0x72}, // Channel 72 - Enhanced Capture Timer channel 5 00165 {XGATE_ERROR_HANDLER, 0x73}, // Channel 73 - Enhanced Capture Timer channel 4 00166 {XGATE_ERROR_HANDLER, 0x74}, // Channel 74 - Enhanced Capture Timer channel 3 00167 {XGATE_ERROR_HANDLER, 0x75}, // Channel 75 - Enhanced Capture Timer channel 2 00168 {XGATE_ERROR_HANDLER, 0x76}, // Channel 76 - Enhanced Capture Timer channel 1 00169 {XGATE_ERROR_HANDLER, 0x77}, // Channel 77 - Enhanced Capture Timer channel 0 00170 {XGATE_ERROR_HANDLER, 0x78} // Channel 78 - Real Time Interrupt 00171 };