diff options
Diffstat (limited to 'src/ao_packet_master.c')
| -rw-r--r-- | src/ao_packet_master.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c index 50f5aeff..641b49f4 100644 --- a/src/ao_packet_master.c +++ b/src/ao_packet_master.c @@ -29,6 +29,8 @@ ao_packet_getchar(void) __critical  			ao_wake_task(&ao_packet_task);  		ao_usb_flush();  		ao_sleep(&ao_stdin_ready); +		if (!ao_packet_enable) +			break;  	}  	return c;  } @@ -127,10 +129,9 @@ ao_packet_forward(void) __reentrant  		ao_delay(AO_MS_TO_TICKS(100));  	ao_packet_enable = 0;  	while (ao_packet_echo_task.wchan || ao_packet_task.wchan) { -		ao_radio_abort(); -		ao_wake_task(&ao_packet_echo_task); -		ao_wake_task(&ao_packet_task); -		ao_yield(); +		if (ao_packet_echo_task.wchan) +			ao_wake_task(&ao_packet_echo_task); +		ao_delay(AO_MS_TO_TICKS(10));  	}  }  | 
