Revision 2008
More forklift demo fixes.
trunk/code/projects/forklift_demo/Forklift.cpp | ||
---|---|---|
25 | 25 |
char volatile response; |
26 | 26 |
char volatile received; |
27 | 27 |
|
28 |
int mrecv(char data) |
|
28 |
static int mrecv(char data)
|
|
29 | 29 |
{ |
30 | 30 |
response = data; |
31 | 31 |
received = 1; |
32 |
return 0; |
|
32 | 33 |
} |
33 | 34 |
|
34 |
void srecv(char) {} |
|
35 |
char ssend() {}
|
|
35 |
static void srecv(char) {}
|
|
36 |
static char ssend() {return 0;}
|
|
36 | 37 |
|
37 |
int read_addr(char addr) |
|
38 |
static int read_addr(char addr)
|
|
38 | 39 |
{ |
39 | 40 |
if (i2c_send(FORKLIFT_ADDR, &addr, 1)) |
40 | 41 |
return FORKLIFT_ERROR; |
... | ... | |
50 | 51 |
return FORKLIFT_ERROR; |
51 | 52 |
} |
52 | 53 |
|
53 |
int write_addr(char addr, char data) |
|
54 |
static int write_addr(char addr, char data)
|
|
54 | 55 |
{ |
55 | 56 |
char buf[2]; |
56 | 57 |
buf[0] = addr; |
... | ... | |
61 | 62 |
return 0; |
62 | 63 |
} |
63 | 64 |
|
64 |
void forklift_init() |
|
65 |
void Forklift::forklift_init()
|
|
65 | 66 |
{ |
66 | 67 |
i2c_init(SCOUT_AVR_ADDR, mrecv, srecv, ssend); |
67 | 68 |
} |
68 | 69 |
|
69 |
int get_tracking_id() |
|
70 |
int Forklift::get_tracking_id()
|
|
70 | 71 |
{ |
71 | 72 |
return read_addr(FORKLIFT_TRACKING_ID); |
72 | 73 |
} |
73 | 74 |
|
74 |
int get_serial_number() |
|
75 |
int Forklift::get_serial_number()
|
|
75 | 76 |
{ |
76 | 77 |
return read_addr(FORKLIFT_SERIAL_NUMBER); |
77 | 78 |
} |
78 | 79 |
|
79 |
int get_height() |
|
80 |
int Forklift::get_height()
|
|
80 | 81 |
{ |
81 | 82 |
return read_addr(FORKLIFT_HEIGHT); |
82 | 83 |
} |
83 | 84 |
|
84 |
int get_height_setpoint() |
|
85 |
int Forklift::get_height_setpoint()
|
|
85 | 86 |
{ |
86 | 87 |
return read_addr(FORKLIFT_HEIGHT_SETPOINT); |
87 | 88 |
} |
88 | 89 |
|
89 |
int set_height_setpoint(char setpoint) |
|
90 |
int Forklift::set_height_setpoint(char setpoint)
|
|
90 | 91 |
{ |
91 | 92 |
return write_addr(FORKLIFT_HEIGHT_SETPOINT, setpoint); |
92 | 93 |
} |
trunk/code/projects/forklift_demo/Forklift.h | ||
---|---|---|
10 | 10 |
int get_serial_number(); // unique to each forklift |
11 | 11 |
int get_height(); |
12 | 12 |
int get_height_setpoint(); |
13 |
int set_height_setpoint(int setpoint);
|
|
13 |
int set_height_setpoint(char setpoint);
|
|
14 | 14 |
}; |
15 | 15 |
|
16 | 16 |
#endif |
trunk/code/projects/forklift_demo/Makefile | ||
---|---|---|
103 | 103 |
# gnu89 = c89 plus GCC extensions |
104 | 104 |
# c99 = ISO C99 standard (not yet fully implemented) |
105 | 105 |
# gnu99 = c99 plus GCC extensions |
106 |
CSTANDARD = -std=gnu99
|
|
106 |
CSTANDARD = -std=c++0x
|
|
107 | 107 |
|
108 | 108 |
# Place -D or -U options here |
109 | 109 |
CDEFS += -DF_CPU=$(F_CPU)UL |
... | ... | |
132 | 132 |
CFLAGS += $(CDEFS) $(CINCS) |
133 | 133 |
CFLAGS += -O$(OPT) |
134 | 134 |
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums |
135 |
CFLAGS += -Wall -Wstrict-prototypes
|
|
135 |
CFLAGS += -Wall |
|
136 | 136 |
CFLAGS += -Wa,-adhlns=$(<:.cpp=.lst) |
137 | 137 |
CFLAGS += $(CSTANDARD) |
138 | 138 |
|
Also available in: Unified diff