Project

General

Profile

Statistics
| Revision:

root / trunk / common / tooltron.h @ 191

History | View | Annotate | Download (1.87 KB)

1
/********
2
 * This file is part of Tooltron.
3
 *
4
 * Tooltron is free software: you can redistribute it and/or modify
5
 * it under the terms of the Lesser GNU General Public License as published by
6
 * the Free Software Foundation, either version 3 of the License, or
7
 * (at your option) any later version.
8
 *
9
 * Tooltron is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * Lesser GNU General Public License for more details.
13
 * You should have received a copy of the Lesser GNU General Public License
14
 * along with Tooltron.  If not, see <http://www.gnu.org/licenses/>.
15
 *
16
 * Copyright 2009 Kevin Woo <kwoo@2ndt.com>, Brad Neuman <bneuman@andrew.cmu.edu>
17
 *
18
 ********/
19
#ifndef _TOOLTRON_H_
20
#define _TOOLTRON_H_
21

    
22
#include <stdint.h>
23

    
24
/****** Message Dictionary ******/
25
// Commonly used message bytes
26
#define DELIM      '^'
27
#define SERVER     1
28
#define ACK_CRC    ADDR ^ SERVER
29

    
30
// These are the bytes used in the messaage types
31
#define TT_GET_KEY 'k'      // Get a key from the keyboard
32
#define TT_ACK     'a'      // Ack
33
#define TT_NACK    'n'      // Nack
34
#define TT_TO      'f'      // State timeout
35
#define TT_TIMEOUT 't'      // Packet timeout
36
#define TT_RESET   'r'      // Tool reset request
37
#define TT_BOOT    'b'      // Tool boot message
38
#define TT_PROGM   'p'      // Program mode request
39
#define TT_PROGD   'd'      // Program data
40
#define TT_BAD     0        // If there was a packet parsing error
41

    
42
// Number of bytes that the PROGx packets have in the payload
43
#define PROGM_PACKET_SIZE 2
44
#define PROGD_PACKET_SIZE 32
45

    
46
// Tool timeout?
47
#define TIMEOUT_SECONDS 10 
48

    
49
// Memory locations
50
#define MAIN_ADDR 0x0       // User code starts here
51
#define BOOT_START 0x400    // Bootloader code starts here
52

    
53
/****** Utility Definitions ******/
54
#define TRUE  0
55
#define FALSE 1
56
#endif