-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserial_interface.h
executable file
·65 lines (47 loc) · 2.03 KB
/
serial_interface.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* serial_interface.h
*
*/
/**********************************************************************************
Author: Frank Andre
Copyright 2012 by: Frank Andre
License: This software is distributed under the creative commons license
CC-BY-NC-SA.
Disclaimer: This software is provided by the copyright holder "as is" and any
express or implied warranties, including, but not limited to, the
implied warranties of merchantability and fitness for a particular
purpose are disclaimed. In no event shall the copyright owner or
contributors be liable for any direct, indirect, incidental,
special, exemplary, or consequential damages (including, but not
limited to, procurement of substitute goods or services; loss of
use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict
liability, or tort (including negligence or otherwise) arising
in any way out of the use of this software, even if advised of
the possibility of such damage.
**********************************************************************************/
#ifndef SERIAL_INTERFACE_H_
#define SERIAL_INTERFACE_H_
#include "config.h"
/*************
* constants *
*************/
// baud rates
#define BAUD_2400 (uint8_t)(F_CPU / (16.0 * 2400) - 1 + 0.5)
#define BAUD_4800 (uint8_t)(F_CPU / (16.0 * 4800) - 1 + 0.5)
#define BAUD_9600 (uint8_t)(F_CPU / (16.0 * 9600) - 1 + 0.5)
#define BAUD_19200 (uint8_t)(F_CPU / (16.0 * 19200) - 1 + 0.5)
#define BAUDRATE BAUD_2400
// serial interface states
#define SER_IDLE 0
#define SER_SERVICE_REQUEST 1 // command termination character (CHR(13)) has been received
#define SER_WAITING 2 // waiting on next command
extern volatile uint8_t ser_state;
extern uint8_t ser_command;
extern uint8_t ser_argument;
/**************
* prototypes *
**************/
void serInit(void);
void serReceive(void);
#endif /* SERIAL_INTERFACE_H_ */