FreeEMS
0.2.0-SNAPSHOT-282-g9efc524
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
main
inc
commsISRs.h
Go to the documentation of this file.
1
/* FreeEMS - the open source engine management system
2
*
3
* Copyright 2008-2012 Fred Cooke
4
*
5
* This file is part of the FreeEMS project.
6
*
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.
11
*
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.
16
*
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/
19
*
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!
22
*
23
* Thank you for choosing FreeEMS to run your engine!
24
*/
25
26
27
/** @file
28
*
29
* @ingroup allHeaders
30
*/
31
32
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
37
38
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
43
44
45
#ifdef COMMSISRS_C
46
#define EXTERN
47
#else
48
#define EXTERN extern
49
#endif
50
51
52
/* SCISR1 register fields
53
*
54
* From left most/most significant to right most/least significant.
55
*
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
65
*
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
75
76
77
/* TX/RX state variables */
78
EXTERN
unsigned
char
TXByteEscaped
;
79
80
81
#undef EXTERN
82
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
Generated on Fri May 22 2015 10:24:04 for FreeEMS by
1.8.1.2