multiplayer pong game for LPC 1768
Dependencies: mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt
main.cpp@13:95d44f7855ca, 2020-11-10 (annotated)
- Committer:
- denizguler
- Date:
- Tue Nov 10 05:11:41 2020 +0000
- Revision:
- 13:95d44f7855ca
- Parent:
- 12:91affff3be75
- Child:
- 14:6b20a930e1cb
mannnnnnn
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 1:8e1d4987eb90 | 1 | #include "mbed.h" |
donatien | 1:8e1d4987eb90 | 2 | #include "EthernetInterface.h" |
vsoltan | 11:d0a105f6743f | 3 | #include "network.h" |
denizguler | 13:95d44f7855ca | 4 | #include "DebouncedInterrupt.h" |
vsoltan | 12:91affff3be75 | 5 | |
vsoltan | 12:91affff3be75 | 6 | #define DEBOUNCE 100 |
vsoltan | 12:91affff3be75 | 7 | |
denizguler | 13:95d44f7855ca | 8 | DebouncedInterrupt leftButton(p21); |
denizguler | 13:95d44f7855ca | 9 | DebouncedInterrupt middleButton(p22); |
denizguler | 13:95d44f7855ca | 10 | DebouncedInterrupt rightButton(p23); |
vsoltan | 12:91affff3be75 | 11 | |
vsoltan | 12:91affff3be75 | 12 | EthernetInterface eth; |
vsoltan | 12:91affff3be75 | 13 | UDPSocket sock; |
vsoltan | 12:91affff3be75 | 14 | Endpoint nist; |
vsoltan | 12:91affff3be75 | 15 | |
denizguler | 13:95d44f7855ca | 16 | volatile int count = 0; |
denizguler | 13:95d44f7855ca | 17 | |
vsoltan | 12:91affff3be75 | 18 | // interrupt service routines |
denizguler | 13:95d44f7855ca | 19 | void pressLeft( void ) { |
denizguler | 13:95d44f7855ca | 20 | count++; |
denizguler | 13:95d44f7855ca | 21 | char json[] = "{\"type\": \"move\", \"dir\": \"left\"}"; |
denizguler | 13:95d44f7855ca | 22 | sock.sendTo(nist, json, sizeof(json)); |
vsoltan | 12:91affff3be75 | 23 | } |
vsoltan | 12:91affff3be75 | 24 | |
vsoltan | 12:91affff3be75 | 25 | void pressMiddle() { |
denizguler | 13:95d44f7855ca | 26 | count++; |
denizguler | 13:95d44f7855ca | 27 | char json[] = "{\"type\": \"move\", \"dir\": \"middle\"}"; |
denizguler | 13:95d44f7855ca | 28 | // sock.sendTo(nist, json, sizeof(json) - 1); |
vsoltan | 12:91affff3be75 | 29 | } |
vsoltan | 12:91affff3be75 | 30 | |
vsoltan | 12:91affff3be75 | 31 | void pressRight() { |
denizguler | 13:95d44f7855ca | 32 | count++; |
denizguler | 13:95d44f7855ca | 33 | // char json[] = "{\"type\": \"move\", \"dir\": \"right\"}"; |
denizguler | 13:95d44f7855ca | 34 | // sock.sendTo(nist, json, sizeof(json) - 1); |
vsoltan | 12:91affff3be75 | 35 | } |
emilmont | 6:25aad2d88749 | 36 | |
emilmont | 6:25aad2d88749 | 37 | int main() { |
denizguler | 13:95d44f7855ca | 38 | initEthernet(ð, &sock, &nist); |
emilmont | 7:dedf5dde9798 | 39 | |
vsoltan | 12:91affff3be75 | 40 | // initialize GPIO |
denizguler | 13:95d44f7855ca | 41 | leftButton.attach(&pressLeft, IRQ_RISE, DEBOUNCE); |
denizguler | 13:95d44f7855ca | 42 | middleButton.attach(&pressMiddle, IRQ_RISE, DEBOUNCE); |
denizguler | 13:95d44f7855ca | 43 | rightButton.attach(&pressRight, IRQ_RISE, DEBOUNCE); |
vsoltan | 12:91affff3be75 | 44 | |
denizguler | 13:95d44f7855ca | 45 | while (1) { |
denizguler | 13:95d44f7855ca | 46 | printf("count: %i\r\n", count); |
denizguler | 13:95d44f7855ca | 47 | wait(.5); |
denizguler | 13:95d44f7855ca | 48 | } |
vsoltan | 11:d0a105f6743f | 49 | |
denizguler | 13:95d44f7855ca | 50 | // cleanupEthernet(ð, &sock); |
donatien | 1:8e1d4987eb90 | 51 | } |