diff --git a/conf/airframes/ardrone2_raw.xml b/conf/airframes/ardrone2_raw.xml
index 81fa62f74b..29a86dda84 100644
--- a/conf/airframes/ardrone2_raw.xml
+++ b/conf/airframes/ardrone2_raw.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/conf/airframes/ardrone2_sdk.xml b/conf/airframes/ardrone2_sdk.xml
index b9bc1f7e91..c7bb880258 100644
--- a/conf/airframes/ardrone2_sdk.xml
+++ b/conf/airframes/ardrone2_sdk.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/conf/firmwares/subsystems/rotorcraft/telemetry_udp.makefile b/conf/firmwares/subsystems/rotorcraft/telemetry_udp.makefile
new file mode 100644
index 0000000000..fa355be53b
--- /dev/null
+++ b/conf/firmwares/subsystems/rotorcraft/telemetry_udp.makefile
@@ -0,0 +1,8 @@
+
+# Udp telemetry
+
+ap.CFLAGS += -DDOWNLINK -DDOWNLINK_DEVICE=Udp
+ap.CFLAGS += -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=UDP
+ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/udp.c subsystems/datalink/pprz_transport.c
+ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/telemetry.c
+ap.srcs += fms/fms_network.c
diff --git a/conf/firmwares/subsystems/rotorcraft/telemetry_wifi.makefile b/conf/firmwares/subsystems/rotorcraft/telemetry_wifi.makefile
deleted file mode 100644
index 3cfa8950a4..0000000000
--- a/conf/firmwares/subsystems/rotorcraft/telemetry_wifi.makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# Wifi telemetry
-
-ap.CFLAGS += -DDOWNLINK -DDOWNLINK_DEVICE=Wifi
-ap.CFLAGS += -DDOWNLINK_TRANSPORT=WifiTransport -DDATALINK=WIFI
-ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/wifi.c
-ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/telemetry.c
-ap.srcs += fms/fms_network.c
diff --git a/sw/airborne/firmwares/rotorcraft/main.c b/sw/airborne/firmwares/rotorcraft/main.c
index ea34087224..544073e355 100644
--- a/sw/airborne/firmwares/rotorcraft/main.c
+++ b/sw/airborne/firmwares/rotorcraft/main.c
@@ -38,8 +38,8 @@
#include "subsystems/datalink/datalink.h"
#include "subsystems/settings.h"
#include "subsystems/datalink/xbee.h"
-#if DATALINK == WIFI
-#include "subsystems/datalink/wifi.h"
+#if DATALINK == UDP
+#include "subsystems/datalink/udp.h"
#endif
#include "subsystems/commands.h"
@@ -163,8 +163,8 @@ STATIC_INLINE void main_init( void ) {
xbee_init();
#endif
-#if DATALINK == WIFI
- wifi_init();
+#if DATALINK == UDP
+ udp_init();
#endif
// register the timers for the periodic functions
diff --git a/sw/airborne/subsystems/datalink/datalink.h b/sw/airborne/subsystems/datalink/datalink.h
index 8d9ed92f02..1259ba9ff1 100644
--- a/sw/airborne/subsystems/datalink/datalink.h
+++ b/sw/airborne/subsystems/datalink/datalink.h
@@ -45,7 +45,7 @@
/** Datalink kinds */
#define PPRZ 1
#define XBEE 2
-#define WIFI 3
+#define UDP 3
EXTERN bool_t dl_msg_available;
/** Flag provided to control calls to ::dl_parse_msg. NOT used in this module*/
@@ -87,10 +87,10 @@ EXTERN void dl_parse_msg(void);
DlCheckAndParse(); \
}
-#elif defined DATALINK && DATALINK == WIFI
+#elif defined DATALINK && DATALINK == UDP
#define DatalinkEvent() { \
- WifiCheckAndParse(); \
+ UdpCheckAndParse(); \
DlCheckAndParse(); \
}
diff --git a/sw/airborne/subsystems/datalink/downlink.h b/sw/airborne/subsystems/datalink/downlink.h
index c6a1bac215..39883053b6 100644
--- a/sw/airborne/subsystems/datalink/downlink.h
+++ b/sw/airborne/subsystems/datalink/downlink.h
@@ -46,7 +46,7 @@
#endif
#else /** SITL */
-#include "subsystems/datalink/wifi.h"
+#include "subsystems/datalink/udp.h"
#include "subsystems/datalink/pprz_transport.h"
#include "subsystems/datalink/xbee.h"
#include "subsystems/datalink/w5100.h"
diff --git a/sw/airborne/subsystems/datalink/pprz_transport.h b/sw/airborne/subsystems/datalink/pprz_transport.h
index 850b472893..10138a0726 100644
--- a/sw/airborne/subsystems/datalink/pprz_transport.h
+++ b/sw/airborne/subsystems/datalink/pprz_transport.h
@@ -65,7 +65,7 @@ extern uint8_t ck_a, ck_b;
#define PprzTransportTrailer(_dev) { \
PprzTransportPut1Byte(_dev, ck_a); \
PprzTransportPut1Byte(_dev, ck_b); \
- PprzTransportSendMessage(_dev) \
+ PprzTransportSendMessage(_dev); \
}
#define PprzTransportPutUint8(_dev, _byte) { \
diff --git a/sw/airborne/subsystems/datalink/wifi.c b/sw/airborne/subsystems/datalink/udp.c
similarity index 94%
rename from sw/airborne/subsystems/datalink/wifi.c
rename to sw/airborne/subsystems/datalink/udp.c
index efa78cbc7d..9d9a717490 100644
--- a/sw/airborne/subsystems/datalink/wifi.c
+++ b/sw/airborne/subsystems/datalink/udp.c
@@ -20,7 +20,7 @@
*
*/
-#include "subsystems/datalink/wifi.h"
+#include "subsystems/datalink/udp.h"
#include "fms/fms_network.h"
#include
@@ -45,22 +45,22 @@ uint16_t udp_buffer_id;
uint8_t ck_a, ck_b;
struct FmsNetwork* network;
-void wifi_init( void ) {
+void udp_init( void ) {
network = network_new(LINK_HOST, LINK_PORT, DATALINK_PORT, FMS_NETWORK_BROADCAST);
udp_buffer_id = 0;
}
-void wifi_transmit( uint8_t data ) {
+void udp_transmit( uint8_t data ) {
udp_buffer[udp_buffer_id] = data;
udp_buffer_id++;
}
-void wifi_send( void ) {
+void udp_send( void ) {
network_write(network, udp_buffer, udp_buffer_id);
udp_buffer_id =0;
}
-void wifi_receive( void ) {
+void udp_receive( void ) {
//First check if it isn't already having a message
if(dl_msg_available == TRUE) {
return;
diff --git a/sw/airborne/subsystems/datalink/udp.h b/sw/airborne/subsystems/datalink/udp.h
new file mode 100644
index 0000000000..0d869ba79a
--- /dev/null
+++ b/sw/airborne/subsystems/datalink/udp.h
@@ -0,0 +1,50 @@
+/*
+* Copyright (C) 2012-2013 Freek van Tienen and Dino Hensen
+*
+* This file is part of paparazzi.
+*
+* paparazzi is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2, or (at your option)
+* any later version.
+*
+* paparazzi is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with paparazzi; see the file COPYING. If not, write to
+* the Free Software Foundation, 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+*/
+
+/* Udp ethernet connection over UDP */
+
+#ifndef UDP_TELEM_H
+#define UDP_TELEM_H
+
+#include "subsystems/datalink/datalink.h"
+#include "generated/airframe.h"
+
+//#include "subsystems/datalink/transport.h"
+#include "subsystems/datalink/pprz_transport.h"
+
+#define STX 0x99
+
+void udp_init( void );
+void udp_transmit( uint8_t data );
+void udp_send( void );
+void udp_receive( void );
+
+#define UdpInit() udp_init()
+#define UdpCheckFreeSpace(_x) (TRUE)
+#define UdpTransmit(_x) udp_transmit(_x)
+#define UdpSendMessage() udp_send()
+
+#define UdpCheckAndParse() { \
+ udp_receive(); \
+ }
+
+#endif /* UDP_TELEM_H */
diff --git a/sw/airborne/subsystems/datalink/wifi.h b/sw/airborne/subsystems/datalink/wifi.h
deleted file mode 100644
index 5b03475086..0000000000
--- a/sw/airborne/subsystems/datalink/wifi.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-* Copyright (C) 2012-2013 Freek van Tienen and Dino Hensen
-*
-* This file is part of paparazzi.
-*
-* paparazzi is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2, or (at your option)
-* any later version.
-*
-* paparazzi is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with paparazzi; see the file COPYING. If not, write to
-* the Free Software Foundation, 59 Temple Place - Suite 330,
-* Boston, MA 02111-1307, USA.
-*
-*/
-
-/* Wifi ethernet connection over UDP */
-
-#ifndef WIFI_TELEM_H
-#define WIFI_TELEM_H
-
-#include "subsystems/datalink/datalink.h"
-#include "generated/airframe.h"
-
-#include "subsystems/datalink/transport.h"
-
-#define STX 0x99
-
-void wifi_init( void );
-void wifi_transmit( uint8_t data );
-void wifi_send( void );
-void wifi_receive( void );
-
-#define WifiInit() wifi_init()
-#define WifiCheckFreeSpace(_x) (TRUE)
-#define WifiTransmit(_x) wifi_transmit(_x)
-#define WifiSendMessage() wifi_send()
-
-#define WifiTransportSizeOf(_dev, _x) (_x+4)
-#define WifiTransportCheckFreeSpace(_dev, x) TransportLink(_dev, CheckFreeSpace(x))
-#define WifiTransportPut1Byte(_dev, x) TransportLink(_dev, Transmit(x))
-#define WifiTransportSendMessage(_dev) TransportLink(_dev, SendMessage())
-
-#define WifiTransportPutUint8(_dev, _byte) { \
- ck_a += _byte; \
- ck_b += ck_a; \
- WifiTransportPut1Byte(_dev, _byte); \
- }
-
-#define WifiTransportPut1ByteByAddr(_dev, _byte) { \
- uint8_t _x = *(_byte); \
- WifiTransportPutUint8(_dev, _x); \
- }
-
-#define WifiTransportPut2Bytes(_dev, _x) { \
- uint16_t x16 = _x; \
- WifiTransportPut1Byte(_dev, x16>>8); \
- WifiTransportPut1Byte(_dev, x16 & 0xff); \
- }
-
-#define WifiTransportPut2ByteByAddr(_dev, _byte) { \
- WifiTransportPut1ByteByAddr(_dev, _byte); \
- WifiTransportPut1ByteByAddr(_dev, (const uint8_t*)_byte+1); \
- }
-
-#define WifiTransportPut4ByteByAddr(_dev, _byte) { \
- WifiTransportPut2ByteByAddr(_dev, _byte); \
- WifiTransportPut2ByteByAddr(_dev, (const uint8_t*)_byte+2); \
- }
-
-#ifdef __IEEE_BIG_ENDIAN // From machine/ieeefp.h
-#define WifiTransportPutDoubleByAddr(_dev, _byte) { \
- WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
- WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
- }
-#else
-#define WifiTransportPutDoubleByAddr(_dev, _byte) { \
- WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
- WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
- }
-#endif
-
-
-#define WifiTransportPutInt8ByAddr(_dev, _x) WifiTransportPut1ByteByAddr(_dev, _x)
-#define WifiTransportPutUint8ByAddr(_dev, _x) WifiTransportPut1ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutInt16ByAddr(_dev, _x) WifiTransportPut2ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutUint16ByAddr(_dev, _x) WifiTransportPut2ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutInt32ByAddr(_dev, _x) WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutUint32ByAddr(_dev, _x) WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutFloatByAddr(_dev, _x) WifiTransportPut4ByteByAddr(_dev, (const uint8_t*)_x)
-#define WifiTransportPutNamedUint8(_dev, _name, _byte) WifiTransportPutUint8(_dev, _byte)
-
-#define WifiTransportPutArray(_dev, _put, _n, _x) { \
- uint8_t _i; \
- WifiTransportPutUint8(_dev, _n); \
- for(_i = 0; _i < _n; _i++) { \
- _put(_dev, &_x[_i]); \
- } \
- }
-
-#define WifiTransportPutInt16Array(_dev, _n, _x) WifiTransportPutArray(_dev, WifiTransportPutInt16ByAddr, _n, _x)
-
-#define WifiTransportPutUint16Array(_dev, _n, _x) WifiTransportPutArray(_dev, WifiTransportPutUint16ByAddr, _n, _x)
-#define WifiTransportPutUint8Array(_dev, _n, _x) WifiTransportPutArray(_dev, WifiTransportPutUint8ByAddr, _n, _x)
-#define WifiTransportPutFloatArray(_dev, _n, _x) WifiTransportPutArray(_dev, WifiTransportPutFloatByAddr, _n, _x)
-#define WifiTransportPutDoubleArray(_dev, _n, _x) WifiTransportPutArray(_dev, WifiTransportPutDoubleByAddr, _n, _x)
-
-
-#define WifiTransportHeader(_dev, payload_len) { \
- WifiTransportPut1Byte(_dev, STX); \
- uint8_t msg_len = WifiTransportSizeOf(_dev, payload_len); \
- WifiTransportPut1Byte(_dev, msg_len); \
- ck_a = msg_len; ck_b = msg_len; \
- }
-
-#define WifiTransportTrailer(_dev) { \
- WifiTransportPut1Byte(_dev, ck_a); \
- WifiTransportPut1Byte(_dev, ck_b); \
- WifiTransportSendMessage(_dev); \
- }
-
-#define WifiCheckAndParse() { \
- wifi_receive(); \
- }
-
-#endif /* WIFI_TELEM_H */