Code to run tests on the Ethernet library

Dependencies:   EthernetInterface mbed-rtos mbed

Committer:
lawless
Date:
Mon Oct 28 20:37:19 2013 +0000
Revision:
1:effed2d57b6c
Parent:
0:3f5638515f99
Child:
2:483bc2e71bfe
flow start test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lawless 0:3f5638515f99 1 #include "mbed.h"
lawless 0:3f5638515f99 2 #include "EthernetInterface.h"
lawless 1:effed2d57b6c 3
lawless 1:effed2d57b6c 4
lawless 1:effed2d57b6c 5 DigitalOut myled(LED1);
lawless 1:effed2d57b6c 6 Ticker pkt;
lawless 1:effed2d57b6c 7 EthernetInterface *eth;
lawless 1:effed2d57b6c 8 UDPSocket *sock;
lawless 1:effed2d57b6c 9 InterruptIn *flow;
lawless 1:effed2d57b6c 10 //PwmOut *pump;
lawless 1:effed2d57b6c 11
lawless 1:effed2d57b6c 12
lawless 1:effed2d57b6c 13 unsigned int flowcount = 0;
lawless 1:effed2d57b6c 14 float pi = 3.1415926535897932384626433832795;
lawless 1:effed2d57b6c 15
lawless 1:effed2d57b6c 16 void flowtick() {
lawless 1:effed2d57b6c 17 flowcount++;
lawless 1:effed2d57b6c 18 }
lawless 1:effed2d57b6c 19
lawless 1:effed2d57b6c 20 void ping() {
lawless 1:effed2d57b6c 21 myled.write(1);
lawless 1:effed2d57b6c 22 Endpoint seven;
lawless 1:effed2d57b6c 23 seven.set_address("192.168.9.7", 37);
lawless 1:effed2d57b6c 24 char out_buffer[8]; // Does not matter
lawless 1:effed2d57b6c 25 sprintf(out_buffer, "%07d", flowcount);
lawless 1:effed2d57b6c 26 sock->sendTo(seven, out_buffer, sizeof(out_buffer));
lawless 1:effed2d57b6c 27 wait(0.5);
lawless 1:effed2d57b6c 28 myled.write(0);
lawless 1:effed2d57b6c 29 }
lawless 0:3f5638515f99 30
lawless 0:3f5638515f99 31 int main() {
lawless 1:effed2d57b6c 32 eth = new EthernetInterface();
lawless 1:effed2d57b6c 33 flow = new InterruptIn(p5);
lawless 1:effed2d57b6c 34 // pump = new PwmOut(p21);
lawless 1:effed2d57b6c 35 sock = new UDPSocket();
lawless 1:effed2d57b6c 36
lawless 0:3f5638515f99 37
lawless 1:effed2d57b6c 38 // pump->period(1.0);
lawless 1:effed2d57b6c 39 eth->init("192.168.9.8", "255.255.255.0", "192.168.9.1");
lawless 1:effed2d57b6c 40 eth->connect();
lawless 1:effed2d57b6c 41 printf("IP Address is %s\n", eth->getIPAddress());
lawless 1:effed2d57b6c 42 sock->init();
lawless 0:3f5638515f99 43
lawless 1:effed2d57b6c 44 flow->rise(&flowtick);
lawless 1:effed2d57b6c 45 pkt.attach(&ping, 2.0);
lawless 0:3f5638515f99 46
lawless 1:effed2d57b6c 47 float t = 0.0;
lawless 1:effed2d57b6c 48 while(1) {
lawless 1:effed2d57b6c 49 if(t < pi) {
lawless 1:effed2d57b6c 50 t += 0.01;
lawless 1:effed2d57b6c 51 // pump->write(1 - cos(t));
lawless 1:effed2d57b6c 52 }
lawless 1:effed2d57b6c 53
lawless 1:effed2d57b6c 54 wait(0.1);
lawless 0:3f5638515f99 55 }
lawless 0:3f5638515f99 56
lawless 1:effed2d57b6c 57 sock->close();
lawless 0:3f5638515f99 58
lawless 1:effed2d57b6c 59 eth->disconnect();
lawless 0:3f5638515f99 60 }