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
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
main.cpp
- Committer:
- SolderSplashLabs
- Date:
- 2014-07-08
- Revision:
- 0:ff40ad3448c5
- Child:
- 1:5fa4efb214e7
File content as of revision 0:ff40ad3448c5:
#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(); } }