IR remote control demo for Nucleo F303K8

Dependencies:   RemoteIR mbed

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?

UserRevisionLine numberNew 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 }