Small demo to purely test UDP, depends on the module already being configured to auto connect to an access point

Dependencies:   USBDevice cc3000_hostdriver_mbedsocket mbed

Fork of WifiDipCortex-UDPDemo by Carl - SolderSplash Labs

Wifi-DipCortex - Test application that shows you how to listen for UDP message on one port while sending messages on another

- Listens on UDP_LISTEN_PORT, upon data being recvied it can be found in UDP_RecvBuffer - Transmits UDP_TX_Buffer on UDP_TARGET_PORT to UDP_TARGET_IP

Revision:
0:ff40ad3448c5
Child:
1:5fa4efb214e7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Jul 08 18:56:37 2014 +0000
@@ -0,0 +1,130 @@
+#include "mbed.h"
+#include "cc3000.h"
+#include "wifi.h"
+#include "UDPSocket.h"
+#include "USBSerial.h"
+
+using namespace mbed_cc3000;
+
+#define SERIAL_BAUD_RATE    115200
+
+cc3000 wifi(p28, p27, p30, SPI(p21, p14, p37));
+Serial uart(p19, p20);
+
+// USB CDC serial port
+USBSerial pc;
+
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief WaitForConnection
+*/
+// ------------------------------------------------------------------------------------------------------------
+void WaitForConnection ( void )
+{
+tNetappIpconfigRetArgs ipinfo;
+    
+    while (! ( wifi.is_dhcp_configured() ) )
+    {
+        // Still not connected
+        pc.printf("No Connection\r\n");
+        wait(1);
+    }
+    
+    if (( wifi.is_enabled() ) && ( wifi.is_dhcp_configured() ))
+    {
+        wifi.get_ip_config(&ipinfo);
+    }
+    
+    pc.printf("Connected to (%s) %s \r\n", ipinfo.uaSSID, wifi.getIPAddress());
+
+}
+
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief WaitForUser
+*/
+// ------------------------------------------------------------------------------------------------------------
+void WaitForUser ( void )
+{
+char charIn;
+
+    pc.printf("Press Enter to Continue\r\n");
+    
+    while (1)
+    {
+        charIn = pc.getc();
+        
+        pc.printf("%c", charIn);
+        if ((charIn == '\n') || (charIn == '\r'))
+        {
+            break;
+        }
+    }
+}
+
+
+const char* UDP_TARGET_IP = "192.168.0.10";
+const int UDP_TARGET_PORT = 1500;
+    
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief UdpTx
+*/
+// ------------------------------------------------------------------------------------------------------------
+void UdpTx ( void )
+{
+char message[] = "Hello World\n";
+UDPSocket udpSocket;
+Endpoint target;
+
+    udpSocket.init();    
+    target.set_address(UDP_TARGET_IP, UDP_TARGET_PORT);
+    
+    pc.printf("Sending UDP Message ..\r\n");
+    udpSocket.sendTo(target, message, sizeof(message));
+    pc.printf("UDP Message Sent..\r\n");
+}
+
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief Init
+*/
+// ------------------------------------------------------------------------------------------------------------
+void init() 
+{
+    NVIC_SetPriority(SSP1_IRQn, 0x0); 
+    NVIC_SetPriority(PIN_INT0_IRQn, 0x1);
+    
+    // SysTick set to lower priority than Wi-Fi SPI bus interrupt
+    NVIC_SetPriority(SysTick_IRQn, 0x2); 
+    
+    // Enable RAM1
+    LPC_SYSCON->SYSAHBCLKCTRL |= (0x1 << 26);
+    
+    uart.baud(SERIAL_BAUD_RATE);
+    
+    wait(1);
+}
+
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief main loop
+*/
+// ------------------------------------------------------------------------------------------------------------
+int main( void ) 
+{  
+    // Initalise the WiFi Module
+    init(); 
+    
+    WaitForUser();
+    
+    wifi.start(0);
+    
+    WaitForConnection();
+    
+    while (1)
+    {
+        WaitForUser();
+        UdpTx();
+    }
+}
\ No newline at end of file