flapping wing
/
Nucleo_F303K8_RemoteIR
IR remote control demo for Nucleo F303K8
main.cpp@1:5af22164baca, 2016-09-24 (annotated)
- Committer:
- flappingwing
- Date:
- Sat Sep 24 07:27:12 2016 +0000
- Revision:
- 1:5af22164baca
- Parent:
- 0:3320e14ad1cb
RemoteIR demo for Nucleo-F303K8
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
flappingwing | 0:3320e14ad1cb | 1 | #include "mbed.h" |
flappingwing | 0:3320e14ad1cb | 2 | #include "ReceiverIR.h" |
flappingwing | 0:3320e14ad1cb | 3 | |
flappingwing | 1:5af22164baca | 4 | Serial ser(USBTX, USBRX); |
flappingwing | 0:3320e14ad1cb | 5 | BusOut leds( D1,D0,D4,D5 ); |
flappingwing | 0:3320e14ad1cb | 6 | |
flappingwing | 0:3320e14ad1cb | 7 | int main() { |
flappingwing | 0:3320e14ad1cb | 8 | |
flappingwing | 0:3320e14ad1cb | 9 | ReceiverIR ir_rx(D2); |
flappingwing | 0:3320e14ad1cb | 10 | RemoteIR::Format format; |
flappingwing | 0:3320e14ad1cb | 11 | uint8_t buf[32]; |
flappingwing | 0:3320e14ad1cb | 12 | uint32_t bitcount; |
flappingwing | 0:3320e14ad1cb | 13 | |
flappingwing | 0:3320e14ad1cb | 14 | ser.baud(115200); |
flappingwing | 0:3320e14ad1cb | 15 | ser.printf("start\r\n"); |
flappingwing | 0:3320e14ad1cb | 16 | |
flappingwing | 0:3320e14ad1cb | 17 | while(1){ |
flappingwing | 0:3320e14ad1cb | 18 | if (ir_rx.getState() == ReceiverIR::Received) { |
flappingwing | 0:3320e14ad1cb | 19 | ser.printf("get ir data\r\n"); |
flappingwing | 0:3320e14ad1cb | 20 | bitcount = ir_rx.getData(&format, buf, sizeof(buf) * 8); |
flappingwing | 0:3320e14ad1cb | 21 | if(bitcount < 1){ |
flappingwing | 0:3320e14ad1cb | 22 | continue; |
flappingwing | 0:3320e14ad1cb | 23 | } |
flappingwing | 0:3320e14ad1cb | 24 | ser.printf("code: "); |
flappingwing | 0:3320e14ad1cb | 25 | for(int i=0;i<(bitcount>>3);i++){ |
flappingwing | 0:3320e14ad1cb | 26 | ser.printf("%02x",buf[i]); |
flappingwing | 0:3320e14ad1cb | 27 | uint8_t code = buf[2]; |
flappingwing | 0:3320e14ad1cb | 28 | switch(code){ |
flappingwing | 0:3320e14ad1cb | 29 | case 0x40: |
flappingwing | 0:3320e14ad1cb | 30 | leds = 0; |
flappingwing | 0:3320e14ad1cb | 31 | break; |
flappingwing | 0:3320e14ad1cb | 32 | case 0x16: |
flappingwing | 0:3320e14ad1cb | 33 | leds = 1; |
flappingwing | 0:3320e14ad1cb | 34 | break; |
flappingwing | 0:3320e14ad1cb | 35 | case 0x19: |
flappingwing | 0:3320e14ad1cb | 36 | leds = 2; |
flappingwing | 0:3320e14ad1cb | 37 | break; |
flappingwing | 0:3320e14ad1cb | 38 | case 0x0d: |
flappingwing | 0:3320e14ad1cb | 39 | leds = 3; |
flappingwing | 0:3320e14ad1cb | 40 | break; |
flappingwing | 0:3320e14ad1cb | 41 | case 0x0c: |
flappingwing | 0:3320e14ad1cb | 42 | leds = 4; |
flappingwing | 0:3320e14ad1cb | 43 | break; |
flappingwing | 0:3320e14ad1cb | 44 | case 0x18: |
flappingwing | 0:3320e14ad1cb | 45 | leds = 5; |
flappingwing | 0:3320e14ad1cb | 46 | break; |
flappingwing | 0:3320e14ad1cb | 47 | case 0x5e: |
flappingwing | 0:3320e14ad1cb | 48 | leds = 6; |
flappingwing | 0:3320e14ad1cb | 49 | break; |
flappingwing | 0:3320e14ad1cb | 50 | case 0x08: |
flappingwing | 0:3320e14ad1cb | 51 | leds = 7; |
flappingwing | 0:3320e14ad1cb | 52 | break; |
flappingwing | 0:3320e14ad1cb | 53 | case 0x1c: |
flappingwing | 0:3320e14ad1cb | 54 | leds = 8; |
flappingwing | 0:3320e14ad1cb | 55 | break; |
flappingwing | 0:3320e14ad1cb | 56 | case 0x5a: |
flappingwing | 0:3320e14ad1cb | 57 | leds = 9; |
flappingwing | 0:3320e14ad1cb | 58 | break; |
flappingwing | 0:3320e14ad1cb | 59 | case 0x52: |
flappingwing | 0:3320e14ad1cb | 60 | leds = 10; |
flappingwing | 0:3320e14ad1cb | 61 | break; |
flappingwing | 0:3320e14ad1cb | 62 | } |
flappingwing | 0:3320e14ad1cb | 63 | } |
flappingwing | 0:3320e14ad1cb | 64 | ser.printf("\r\n"); |
flappingwing | 0:3320e14ad1cb | 65 | } |
flappingwing | 0:3320e14ad1cb | 66 | } |
flappingwing | 0:3320e14ad1cb | 67 | } |