Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface mbed-rtos mbed
Revision 3:021bdd25958a, committed 2013-10-28
- Comitter:
- lawless
- Date:
- Mon Oct 28 23:05:43 2013 +0000
- Parent:
- 2:483bc2e71bfe
- Commit message:
- It worked! yay
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Oct 28 21:14:44 2013 +0000
+++ b/main.cpp Mon Oct 28 23:05:43 2013 +0000
@@ -1,56 +1,61 @@
#include "mbed.h"
#include "EthernetInterface.h"
-DigitalOut myled(LED2);
+
+PwmOut pump_tick(LED1);
+DigitalOut tick(LED2);
Ticker pkt;
-EthernetInterface *eth;
-UDPSocket *sock;
InterruptIn *flow;
PwmOut *pump;
unsigned int flowcount = 0;
+unsigned int lastflow;
+
float pi = 3.1415926535897932384626433832795;
void flowtick() {
+ tick.write(1);
flowcount++;
+ tick.write(0);
}
-void ping() {
- Endpoint seven;
+int main() {
+
+ EthernetInterface eth;
UDPSocket sock;
+ Endpoint seven;
+ eth.init("192.168.9.8", "255.255.255.0", "192.168.9.1");
+ eth.connect();
sock.init();
- myled.write(1);
-
seven.set_address("192.168.9.7", 37);
char out_buffer[8]; // Does not matter
- sprintf(out_buffer, "%07d", flowcount);
- sock.sendTo(seven, out_buffer, sizeof(out_buffer));
- sock.close();
- wait(0.5);
- myled.write(0);
-}
-
-int main() {
- eth = new EthernetInterface();
+
flow = new InterruptIn(p5);
+ flow->mode(PullUp);
pump = new PwmOut(p21);
pump->period(1.0);
- eth->init("192.168.9.8", "255.255.255.0", "192.168.9.1");
- eth->connect();
+ pump_tick.period(1.0);
+
+ lastflow = flowcount;
flow->rise(&flowtick);
- pkt.attach(&ping, 2.0);
float t = 0.0;
while(1) {
if(t < pi) {
t += 0.01;
pump->write(1 - cos(t));
+ pump_tick.write(1 - cos(t));
}
wait(0.1);
+ if(flowcount > lastflow) {
+ sprintf(out_buffer, "%07d", flowcount);
+ sock.sendTo(seven, out_buffer, sizeof(out_buffer));
+ lastflow = flowcount;
+ }
}
-
- eth->disconnect();
+ sock.close();
+ eth.disconnect();
}