Remove all superfluous author tags with just my name in them. Update many copyright...
[freeems-vanilla.git] / src / inc / commsISRs.h
blobab837b944c5f42ea9cffe290f8a0165eef61d13a
1 /* FreeEMS - the open source engine management system
3 * Copyright 2008-2012 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!
27 /** @file
29 * @ingroup allHeaders
33 /* Header file multiple inclusion protection courtesy eclipse Header Template */
34 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
35 #ifndef FILE_COMMS_ISRS_H_SEEN
36 #define FILE_COMMS_ISRS_H_SEEN
39 #ifdef EXTERN
40 #warning "EXTERN already defined by another header, please sort it out!"
41 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */
42 #endif
45 #ifdef COMMSISRS_C
46 #define EXTERN
47 #else
48 #define EXTERN extern
49 #endif
52 /* SCISR1 register fields
54 * From left most/most significant to right most/least significant.
56 * Abrev Description Actions/Meaning
57 * TRDE - Transmit Data Register Empty - Load with more data if there is any - Main Flag
58 * TC - Transmit Complete - Nothing being sent and nothing loaded ready - unused
59 * RDRF - Receive Data Register Full - Store data in buffer until packet complete - Main Flag
60 * IDLE - Idle Line - Receive line is quiet - unused
61 * OR - Overrun - Discard partial data received and increment counter
62 * NF - Noise Flag - Discard partial data received and increment counter
63 * FE - Framing Error - Discard partial data received and increment counter
64 * PF - Parity Error - Discard partial data received and increment counter
66 * SCISR1 flag masks */
67 #define SCISR1_TX_REGISTER_EMPTY BIT7
68 #define SCISR1_TX_COMPLETE BIT6
69 #define SCISR1_RX_REGISTER_FULL BIT5
70 #define SCISR1_RX_IDLE_LINE BIT4
71 #define SCISR1_RX_OVERRUN BIT3
72 #define SCISR1_RX_NOISE BIT2
73 #define SCISR1_RX_FRAMING BIT1
74 #define SCISR1_RX_PARITY BIT0
77 /* TX/RX state variables */
78 EXTERN unsigned char TXByteEscaped;
81 #undef EXTERN
83 #else
84 /* let us know if we are being untidy with headers */
85 #warning "Header file COMMS_ISRS_H seen before, sort it out!"
86 /* end of the wrapper ifdef from the very top */
87 #endif