projects
/
fw
/
altos
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6a7aa18
)
Do more flushing in packet test code
author
Keith Packard
<keithp@keithp.com>
Sat, 31 Oct 2009 06:53:03 +0000
(23:53 -0700)
committer
Keith Packard
<keithp@keithp.com>
Sat, 31 Oct 2009 06:53:03 +0000
(23:53 -0700)
src/ao_packet.c
patch
|
blob
|
history
diff --git
a/src/ao_packet.c
b/src/ao_packet.c
index 620cd0014da5ac104feb94fad5603313c5485132..0dce326c271b56dff69abfa8e276f710836eb17e 100644
(file)
--- a/
src/ao_packet.c
+++ b/
src/ao_packet.c
@@
-198,8
+198,10
@@
ao_packet_putchar(char c)
char
ao_packet_getchar(void) __critical
{
char
ao_packet_getchar(void) __critical
{
- while (rx_used == rx_len && ao_packet_enable)
+ while (rx_used == rx_len && ao_packet_enable) {
+ flush();
ao_sleep(&rx_data);
ao_sleep(&rx_data);
+ }
if (!ao_packet_enable)
return 0;
if (!ao_packet_enable)
return 0;
@@
-213,8
+215,11
@@
ao_packet_echo(void) __reentrant
uint8_t c;
while (ao_packet_enable) {
c = ao_packet_getchar();
uint8_t c;
while (ao_packet_enable) {
c = ao_packet_getchar();
- if (ao_packet_enable)
+ if (ao_packet_enable)
{
putchar(c);
putchar(c);
+ if (c == (uint8_t) '\n')
+ flush();
+ }
}
ao_exit();
}
}
ao_exit();
}
@@
-233,18
+238,14
@@
ao_packet_forward(void) __reentrant
else
ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
ao_add_task(&ao_packet_echo_task, ao_packet_echo, "echo");
else
ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
ao_add_task(&ao_packet_echo_task, ao_packet_echo, "echo");
- while ((c = getchar()) != '~')
{
+ while ((c = getchar()) != '~')
ao_packet_putchar(c);
ao_packet_putchar(c);
- if (c == '\n')
- ao_packet_flush();
- }
ao_packet_enable = 0;
ao_radio_abort();
while (ao_packet_echo_task.wchan || ao_packet_task.wchan) {
ao_wake_task(&ao_packet_echo_task);
ao_wake_task(&ao_packet_task);
}
ao_packet_enable = 0;
ao_radio_abort();
while (ao_packet_echo_task.wchan || ao_packet_task.wchan) {
ao_wake_task(&ao_packet_echo_task);
ao_wake_task(&ao_packet_task);
}
-#endif
}
__code struct ao_cmds ao_packet_cmds[] = {
}
__code struct ao_cmds ao_packet_cmds[] = {