diff options
| author | Bdale Garbee <bdale@gag.com> | 2013-05-16 00:36:23 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2013-05-16 00:36:23 -0600 | 
| commit | 02d111b1b53ef01fc6e9ab6c4bc60b8af1be0067 (patch) | |
| tree | 8356f4a019969ee99a45e264c87d38555cf316cc /src/drivers/ao_packet_master.c | |
| parent | 7a2e1f05adad990a6b161865267abf07ffec7a7e (diff) | |
| parent | 7699a55aed3a9a7daeb4c6a5a9a280f43edf455f (diff) | |
Merge branch 'branch-1.2' into debian
Diffstat (limited to 'src/drivers/ao_packet_master.c')
| -rw-r--r-- | src/drivers/ao_packet_master.c | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/src/drivers/ao_packet_master.c b/src/drivers/ao_packet_master.c index e97a6648..d6c99cbd 100644 --- a/src/drivers/ao_packet_master.c +++ b/src/drivers/ao_packet_master.c @@ -18,10 +18,15 @@  #include "ao.h"  static char -ao_packet_getchar(void) __critical +ao_packet_getchar(void)  { -	char c; -	while ((c = ao_packet_pollchar()) == AO_READ_AGAIN) { +	int c; + +	/* No need to block interrupts in this function as +	 * all packet variables are only modified from task +	 * context, not an interrupt handler +	 */ +	while ((c = _ao_packet_pollchar()) == AO_READ_AGAIN) {  		if (!ao_packet_enable)  			break;  		if (ao_packet_master_sleeping) @@ -35,7 +40,7 @@ ao_packet_getchar(void) __critical  static void  ao_packet_echo(void) __reentrant  { -	char	c; +	int	c;  	while (ao_packet_enable) {  		c = ao_packet_getchar();  		if (c != AO_READ_AGAIN) @@ -140,7 +145,7 @@ ao_packet_forward(void) __reentrant  static void  ao_packet_signal(void)  { -	printf ("RSSI: %d\n", AO_RSSI_FROM_RADIO(ao_packet_last_rssi)); +	printf ("RSSI: %d\n", ao_radio_rssi);  }  __code struct ao_cmds ao_packet_master_cmds[] = { | 
