projects
/
slipway.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
53c49ce
)
check
author
adam
<adam@megacz.com>
Thu, 6 Apr 2006 13:49:53 +0000
(14:49 +0100)
committer
adam
<adam@megacz.com>
Thu, 6 Apr 2006 13:49:53 +0000
(14:49 +0100)
src/edu/berkeley/obits/device/atmel/AvrDrone.c
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/obits/device/atmel/AvrDrone.c
b/src/edu/berkeley/obits/device/atmel/AvrDrone.c
index
f72cd28
..
d46dd49
100644
(file)
--- a/
src/edu/berkeley/obits/device/atmel/AvrDrone.c
+++ b/
src/edu/berkeley/obits/device/atmel/AvrDrone.c
@@
-62,7
+62,7
@@
inline int read_nearlyFull() {
if (read_buf_tail < read_buf_head) return (read_buf_head-read_buf_tail) < (BUFSIZE/2);
\r
return (read_buf_tail-read_buf_head) > (BUFSIZE/2);
\r
}
\r
if (read_buf_tail < read_buf_head) return (read_buf_head-read_buf_tail) < (BUFSIZE/2);
\r
return (read_buf_tail-read_buf_head) > (BUFSIZE/2);
\r
}
\r
-/*
\r
+
\r
inline int write_full() { return inc(write_buf_tail)==write_buf_head; }
\r
inline int write_empty() { return write_buf_head==write_buf_tail; }
\r
inline int write_nearlyFull() {
\r
inline int write_full() { return inc(write_buf_tail)==write_buf_head; }
\r
inline int write_empty() { return write_buf_head==write_buf_tail; }
\r
inline int write_nearlyFull() {
\r
@@
-70,7
+70,7
@@
inline int write_nearlyFull() {
if (write_buf_tail < write_buf_head) return (write_buf_head-write_buf_tail) < (BUFSIZE/2);
\r
return (write_buf_tail-write_buf_head) > (BUFSIZE/2);
\r
}
\r
if (write_buf_tail < write_buf_head) return (write_buf_head-write_buf_tail) < (BUFSIZE/2);
\r
return (write_buf_tail-write_buf_head) > (BUFSIZE/2);
\r
}
\r
-*/
\r
+
\r
inline char recv() {
\r
int q;
\r
char ret;
\r
inline char recv() {
\r
int q;
\r
char ret;
\r
@@
-81,15
+81,26
@@
inline char recv() {
return ret;
\r
}
\r
\r
return ret;
\r
}
\r
\r
+ISR(SIG_UART1_DATA) {
\r
+ //if (write_empty()) return;
\r
+ portd(1, 0);
\r
+ _delay_ms(10);
\r
+ portd(1, 1);
\r
+ _delay_ms(10);
\r
+ UCSR1B &= ~(1 << UDRIE1);
\r
+ sei();
\r
+}
\r
+
\r
void send(char c) {
\r
\r
write_buf[write_buf_tail] = c;
\r
write_buf_tail = inc(write_buf_tail);
\r
\r
void send(char c) {
\r
\r
write_buf[write_buf_tail] = c;
\r
write_buf_tail = inc(write_buf_tail);
\r
\r
- char ret = write_buf[write_buf_head];
\r
- write_buf_head = inc(write_buf_head);
\r
+ UCSR1B |= (1 << UDRIE1);
\r
\r
while(!(UCSR1A & (1 << UDRE1))); /* Wait for data Regiester to be empty */
\r
\r
while(!(UCSR1A & (1 << UDRE1))); /* Wait for data Regiester to be empty */
\r
+ char ret = write_buf[write_buf_head];
\r
+ write_buf_head = inc(write_buf_head);
\r
UDR1 = (int)ret;
\r
}
\r
\r
UDR1 = (int)ret;
\r
}
\r
\r