![](/media/cache/profiles/3cb7820f34d947f7c4c3531ed72254b0.50x50_q85.jpg)
Code to run tests on the Ethernet library
Dependencies: EthernetInterface mbed-rtos mbed
main.cpp@1:effed2d57b6c, 2013-10-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |