This demo program flashes "Tiffany Yep" in binary on the LEDs and sends "Tiffany Yep makes the net work!" on the serial console and Ethernet port. (Tiffany Yep, a digital communications engineer/model, is my best friend.)
Dependencies: mbed NetServicesSource
main.cpp@0:4d5731f3230c, 2010-10-22 (annotated)
- Committer:
- NiHaoMike
- Date:
- Fri Oct 22 21:41:07 2010 +0000
- Revision:
- 0:4d5731f3230c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
NiHaoMike | 0:4d5731f3230c | 1 | #include "mbed.h" |
NiHaoMike | 0:4d5731f3230c | 2 | #include "EthernetNetIf.h" |
NiHaoMike | 0:4d5731f3230c | 3 | #include "UDPSocket.h" |
NiHaoMike | 0:4d5731f3230c | 4 | PwmOut led1(LED1); |
NiHaoMike | 0:4d5731f3230c | 5 | PwmOut led2(LED2); |
NiHaoMike | 0:4d5731f3230c | 6 | PwmOut led3(LED3); |
NiHaoMike | 0:4d5731f3230c | 7 | PwmOut led4(LED4); |
NiHaoMike | 0:4d5731f3230c | 8 | EthernetNetIf eth(IpAddr(192,168,0,50),IpAddr(255,255,255,0),NULL,NULL); |
NiHaoMike | 0:4d5731f3230c | 9 | UDPSocket udp; |
NiHaoMike | 0:4d5731f3230c | 10 | Serial pc(USBTX, USBRX); |
NiHaoMike | 0:4d5731f3230c | 11 | void PWM(char in) { |
NiHaoMike | 0:4d5731f3230c | 12 | wait(0.2); |
NiHaoMike | 0:4d5731f3230c | 13 | if(in&0x80) |
NiHaoMike | 0:4d5731f3230c | 14 | led1.write(1); |
NiHaoMike | 0:4d5731f3230c | 15 | else |
NiHaoMike | 0:4d5731f3230c | 16 | led1.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 17 | if(in&0x40) |
NiHaoMike | 0:4d5731f3230c | 18 | led2.write(1); |
NiHaoMike | 0:4d5731f3230c | 19 | else |
NiHaoMike | 0:4d5731f3230c | 20 | led2.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 21 | if(in&0x20) |
NiHaoMike | 0:4d5731f3230c | 22 | led3.write(1); |
NiHaoMike | 0:4d5731f3230c | 23 | else |
NiHaoMike | 0:4d5731f3230c | 24 | led3.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 25 | if(in&0x10) |
NiHaoMike | 0:4d5731f3230c | 26 | led4.write(1); |
NiHaoMike | 0:4d5731f3230c | 27 | else |
NiHaoMike | 0:4d5731f3230c | 28 | led4.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 29 | wait(0.2); |
NiHaoMike | 0:4d5731f3230c | 30 | led1.write(0); |
NiHaoMike | 0:4d5731f3230c | 31 | led2.write(0); |
NiHaoMike | 0:4d5731f3230c | 32 | led3.write(0); |
NiHaoMike | 0:4d5731f3230c | 33 | led4.write(0); |
NiHaoMike | 0:4d5731f3230c | 34 | wait(0.1); |
NiHaoMike | 0:4d5731f3230c | 35 | if(in&0x08) |
NiHaoMike | 0:4d5731f3230c | 36 | led1.write(1); |
NiHaoMike | 0:4d5731f3230c | 37 | else |
NiHaoMike | 0:4d5731f3230c | 38 | led1.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 39 | if(in&0x04) |
NiHaoMike | 0:4d5731f3230c | 40 | led2.write(1); |
NiHaoMike | 0:4d5731f3230c | 41 | else |
NiHaoMike | 0:4d5731f3230c | 42 | led2.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 43 | if(in&0x02) |
NiHaoMike | 0:4d5731f3230c | 44 | led3.write(1); |
NiHaoMike | 0:4d5731f3230c | 45 | else |
NiHaoMike | 0:4d5731f3230c | 46 | led3.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 47 | if(in&0x01) |
NiHaoMike | 0:4d5731f3230c | 48 | led4.write(1); |
NiHaoMike | 0:4d5731f3230c | 49 | else |
NiHaoMike | 0:4d5731f3230c | 50 | led4.write(0.01); |
NiHaoMike | 0:4d5731f3230c | 51 | wait(0.2); |
NiHaoMike | 0:4d5731f3230c | 52 | led1.write(0); |
NiHaoMike | 0:4d5731f3230c | 53 | led2.write(0); |
NiHaoMike | 0:4d5731f3230c | 54 | led3.write(0); |
NiHaoMike | 0:4d5731f3230c | 55 | led4.write(0); |
NiHaoMike | 0:4d5731f3230c | 56 | } |
NiHaoMike | 0:4d5731f3230c | 57 | int main() { |
NiHaoMike | 0:4d5731f3230c | 58 | eth.setup(); |
NiHaoMike | 0:4d5731f3230c | 59 | pc.baud(115200); |
NiHaoMike | 0:4d5731f3230c | 60 | led1.period_ms(1); |
NiHaoMike | 0:4d5731f3230c | 61 | Host bcast(IpAddr(255,255,255,255),1337,NULL); |
NiHaoMike | 0:4d5731f3230c | 62 | udp.bind(bcast); |
NiHaoMike | 0:4d5731f3230c | 63 | const char* str="Tiffany Yep makes the net work!\n\r"; |
NiHaoMike | 0:4d5731f3230c | 64 | while(1) { |
NiHaoMike | 0:4d5731f3230c | 65 | pc.printf(str); |
NiHaoMike | 0:4d5731f3230c | 66 | wait(0.5); |
NiHaoMike | 0:4d5731f3230c | 67 | PWM('T'); |
NiHaoMike | 0:4d5731f3230c | 68 | PWM('i'); |
NiHaoMike | 0:4d5731f3230c | 69 | PWM('f'); |
NiHaoMike | 0:4d5731f3230c | 70 | PWM('f'); |
NiHaoMike | 0:4d5731f3230c | 71 | PWM('a'); |
NiHaoMike | 0:4d5731f3230c | 72 | PWM('n'); |
NiHaoMike | 0:4d5731f3230c | 73 | PWM('y'); |
NiHaoMike | 0:4d5731f3230c | 74 | udp.sendto(str,strlen(str),&bcast); |
NiHaoMike | 0:4d5731f3230c | 75 | PWM('Y'); |
NiHaoMike | 0:4d5731f3230c | 76 | PWM('e'); |
NiHaoMike | 0:4d5731f3230c | 77 | PWM('p'); |
NiHaoMike | 0:4d5731f3230c | 78 | |
NiHaoMike | 0:4d5731f3230c | 79 | } |
NiHaoMike | 0:4d5731f3230c | 80 | } |