commsISRs.h

Go to the documentation of this file.
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

Generated on Mon Nov 10 21:18:50 2008 for freeems by  doxygen 1.5.2