Test around the USB Ethernet interface

Dependencies:   USB_Ethernet mbed-rtos mbed

Committer:
daniele
Date:
Sat Aug 03 13:21:03 2013 +0000
Revision:
0:e9c7d71ecf4b
Initial working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniele 0:e9c7d71ecf4b 1 #include "mbed.h"
daniele 0:e9c7d71ecf4b 2 #include "USBCDC_ECM.h"
daniele 0:e9c7d71ecf4b 3
daniele 0:e9c7d71ecf4b 4 extern "C"{
daniele 0:e9c7d71ecf4b 5 #include <stdint.h>
daniele 0:e9c7d71ecf4b 6 #include "pico_stack.h"
daniele 0:e9c7d71ecf4b 7 #include "pico_ipv4.h"
daniele 0:e9c7d71ecf4b 8 }
daniele 0:e9c7d71ecf4b 9 #include "pico_dev_mbed_usb.h"
daniele 0:e9c7d71ecf4b 10
daniele 0:e9c7d71ecf4b 11
daniele 0:e9c7d71ecf4b 12 USBCDC_ECM usb = USBCDC_ECM(0x0525, 0xa4a1, 1);
daniele 0:e9c7d71ecf4b 13
daniele 0:e9c7d71ecf4b 14 int main(void) {
daniele 0:e9c7d71ecf4b 15 #if 1
daniele 0:e9c7d71ecf4b 16 struct pico_device *usb_eth;
daniele 0:e9c7d71ecf4b 17 struct pico_ip4 local={.addr = long_be(0x0a280001)};
daniele 0:e9c7d71ecf4b 18 struct pico_ip4 netmask={.addr = long_be(0xffffff00)};
daniele 0:e9c7d71ecf4b 19
daniele 0:e9c7d71ecf4b 20 printf("Welcome to the PicoTCP USB demo!\n");
daniele 0:e9c7d71ecf4b 21 pico_stack_init();
daniele 0:e9c7d71ecf4b 22
daniele 0:e9c7d71ecf4b 23 wait(1);
daniele 0:e9c7d71ecf4b 24 printf("Creating device...\n");
daniele 0:e9c7d71ecf4b 25
daniele 0:e9c7d71ecf4b 26 usb_eth = pico_mbed_usb_create("usb0", &usb);
daniele 0:e9c7d71ecf4b 27 wait(2);
daniele 0:e9c7d71ecf4b 28
daniele 0:e9c7d71ecf4b 29 printf("Adding link...\n");
daniele 0:e9c7d71ecf4b 30 pico_ipv4_link_add(usb_eth, local, netmask);
daniele 0:e9c7d71ecf4b 31
daniele 0:e9c7d71ecf4b 32 printf("Looping!\n");
daniele 0:e9c7d71ecf4b 33 while(1){
daniele 0:e9c7d71ecf4b 34 wait(0.002);
daniele 0:e9c7d71ecf4b 35 pico_stack_tick();
daniele 0:e9c7d71ecf4b 36 }
daniele 0:e9c7d71ecf4b 37 #else
daniele 0:e9c7d71ecf4b 38 while(1);;
daniele 0:e9c7d71ecf4b 39 #endif
daniele 0:e9c7d71ecf4b 40
daniele 0:e9c7d71ecf4b 41 }