altos: Write xdata versions of memory functions
[fw/altos] / src / cc1111 / ao_packet_slave.c
index 9f14052af406c9293b3fbeeb7a73b92c3fff438c..fd5d443efa52a71fc92f5ec13a5529ced53aba6d 100644 (file)
@@ -24,7 +24,7 @@ ao_packet_slave(void)
        ao_tx_packet.len = AO_PACKET_SYN;
        while (ao_packet_enable) {
                if (ao_packet_recv()) {
-                       memcpy(&ao_tx_packet.callsign, &ao_rx_packet.packet.callsign, AO_MAX_CALLSIGN);
+                       ao_xmemcpy(&ao_tx_packet.callsign, &ao_rx_packet.packet.callsign, AO_MAX_CALLSIGN);
 #if HAS_FLIGHT
                        ao_flight_force_idle = TRUE;
 #endif
@@ -37,8 +37,10 @@ ao_packet_slave(void)
 void
 ao_packet_slave_start(void)
 {
-       ao_packet_enable = 1;
-       ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
+       if (!ao_packet_enable) {
+               ao_packet_enable = 1;
+               ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
+       }
 }
 
 void