00001 /* commsISRs.h 00002 00003 Copyright 2008 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 send them upstream to us at admin@diyefi.org 00021 00022 Thank you for choosing FreeEMS to run your engine! */ 00023 00024 /* Header file multiple inclusion protection courtesy eclipse Header Template */ 00025 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */ 00026 #ifndef FILE_COMMS_ISRS_H_SEEN 00027 #define FILE_COMMS_ISRS_H_SEEN 00028 00029 #ifdef COMMSISRS_C 00030 #define EXTERN 00031 #else 00032 #define EXTERN extern 00033 #endif 00034 00035 00036 /* SCISR1 register fields 00037 * 00038 * From left most/most significant to right most/least significant. 00039 * 00040 * Abrev Description Actions/Meaning 00041 * TRDE - Transmit Data Register Empty - Load with more data if there is any - Main Flag 00042 * TC - Transmit Complete - Nothing being sent and nothing loaded ready - unused 00043 * RDRF - Receive Data Register Full - Store data in buffer until packet complete - Main Flag 00044 * IDLE - Idle Line - Receive line is quiet - unused 00045 * OR - Overrun - Discard partial data received and increment counter 00046 * NF - Noise Flag - Discard partial data received and increment counter 00047 * FE - Framing Error - Discard partial data received and increment counter 00048 * PF - Parity Error - Discard partial data received and increment counter 00049 * 00050 * SCISR1 flag masks */ 00051 #define SCISR1_TX_REGISTER_EMPTY BIT7 00052 #define SCISR1_TX_COMPLETE BIT6 00053 #define SCISR1_RX_REGISTER_FULL BIT5 00054 #define SCISR1_RX_IDLE_LINE BIT4 00055 #define SCISR1_RX_OVERRUN BIT3 00056 #define SCISR1_RX_NOISE BIT2 00057 #define SCISR1_RX_FRAMING BIT1 00058 #define SCISR1_RX_PARITY BIT0 00059 00060 00061 /* TX/RX state variables */ 00062 EXTERN unsigned char TXByteEscaped; 00063 EXTERN unsigned char RXCalculatedChecksum; 00064 00065 00066 #undef EXTERN 00067 00068 #else 00069 /* let us know if we are being untidy with headers */ 00070 #warning "Header file COMMS_ISRS_H seen before, sort it out!" 00071 /* end of the wrapper ifdef from the very top */ 00072 #endif