diff options
| author | Keith Packard <keithp@keithp.com> | 2009-10-30 23:53:03 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2009-10-30 23:53:03 -0700 | 
| commit | 4f7ed9ff484778381db647c27d2a34d0cadec41e (patch) | |
| tree | cc476e5338d20cd33bfb2e717dd94178b01a86d3 /src | |
| parent | 6a7aa1810a90a9216160aec55ec4bd02b3240e1b (diff) | |
Do more flushing in packet test code
Diffstat (limited to 'src')
| -rw-r--r-- | src/ao_packet.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/src/ao_packet.c b/src/ao_packet.c index 620cd001..0dce326c 100644 --- 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  { -	while (rx_used == rx_len && ao_packet_enable) +	while (rx_used == rx_len && ao_packet_enable) { +		flush();  		ao_sleep(&rx_data); +	}  	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(); -		if (ao_packet_enable) +		if (ao_packet_enable) {  			putchar(c); +			if (c == (uint8_t) '\n') +				flush(); +		}  	}  	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"); -	while ((c = getchar()) != '~') { +	while ((c = getchar()) != '~')  		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);  	} -#endif  }  __code struct ao_cmds ao_packet_cmds[] = { | 
