summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-08-24 00:39:46 -0700
committerKeith Packard <keithp@keithp.com>2012-08-24 00:39:46 -0700
commitc64999c39d6d9242f98bdc9312436c3333115bfd (patch)
treeb186b6103bcd14a4afa76285ca50cf8c6d09aeed /src
parenta8e9906513227600599da12b268ff5f807ae98c7 (diff)
altos: Have radio_cmac turn on LEDs as appropriate
Use AO_LED_RX and AO_LED_TX defines if present to control LEDs during radio operations. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/ao_radio_cmac.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/ao_radio_cmac.c b/src/core/ao_radio_cmac.c
index 7a377002..32ce8793 100644
--- a/src/core/ao_radio_cmac.c
+++ b/src/core/ao_radio_cmac.c
@@ -159,8 +159,14 @@ ao_radio_cmac_send(__xdata void *packet, uint8_t len) __reentrant
if (len > AO_CMAC_MAX_LEN)
return AO_RADIO_CMAC_LEN_ERROR;
ao_mutex_get(&ao_radio_cmac_mutex);
- memcpy(cmac_data, packet, len);
+ ao_xmemcpy(cmac_data, packet, len);
+#if AO_LED_TX
+ ao_led_on(AO_LED_TX);
+#endif
radio_cmac_send(len);
+#if AO_LED_TX
+ ao_led_off(AO_LED_TX);
+#endif
ao_mutex_put(&ao_radio_cmac_mutex);
return AO_RADIO_CMAC_OK;
}
@@ -172,9 +178,15 @@ ao_radio_cmac_recv(__xdata void *packet, uint8_t len, uint16_t timeout) __reentr
if (len > AO_CMAC_MAX_LEN)
return AO_RADIO_CMAC_LEN_ERROR;
ao_mutex_get(&ao_radio_cmac_mutex);
+#if AO_LED_RX
+ ao_led_on(AO_LED_RX);
+#endif
i = radio_cmac_recv(len, timeout);
+#if AO_LED_RX
+ ao_led_off(AO_LED_RX);
+#endif
if (i == AO_RADIO_CMAC_OK)
- memcpy(packet, cmac_data, len);
+ ao_xmemcpy(packet, cmac_data, len);
ao_mutex_put(&ao_radio_cmac_mutex);
return i;
}