IR remote control program test(IE. pre, pre-alpha)

Dependencies:   mbed SDFileSystem

Committer:
AndyHope
Date:
Sat Nov 20 16:31:39 2010 +0000
Revision:
0:09b8098ea4e0
this is mostly for version control and is by no means finished

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndyHope 0:09b8098ea4e0 1 #include "mbed.h"
AndyHope 0:09b8098ea4e0 2 #include "Infrared.h"
AndyHope 0:09b8098ea4e0 3
AndyHope 0:09b8098ea4e0 4 Serial pc(USBTX, USBRX); // tx, rx
AndyHope 0:09b8098ea4e0 5
AndyHope 0:09b8098ea4e0 6 DigitalIn ON (p19);
AndyHope 0:09b8098ea4e0 7 DigitalIn SEL (p20);
AndyHope 0:09b8098ea4e0 8 DigitalIn OneUP (p16);
AndyHope 0:09b8098ea4e0 9 DigitalIn OneDN (p15);
AndyHope 0:09b8098ea4e0 10 DigitalIn TwoUP (p18);
AndyHope 0:09b8098ea4e0 11 DigitalIn TwoDN (p17);
AndyHope 0:09b8098ea4e0 12
AndyHope 0:09b8098ea4e0 13 DigitalOut led1 (LED1);
AndyHope 0:09b8098ea4e0 14 DigitalOut led2 (LED2);
AndyHope 0:09b8098ea4e0 15
AndyHope 0:09b8098ea4e0 16 Infrared TV(p21);
AndyHope 0:09b8098ea4e0 17 Infrared DVR(p21);
AndyHope 0:09b8098ea4e0 18
AndyHope 0:09b8098ea4e0 19 int main() {
AndyHope 0:09b8098ea4e0 20
AndyHope 0:09b8098ea4e0 21 // these declared values will eventually be read off the SD micro card
AndyHope 0:09b8098ea4e0 22 TV.phead = 364; TV.shead = 6100; TV.pone = 364; TV.sone = 1739; // values are time in us
AndyHope 0:09b8098ea4e0 23 TV.pzero = 364; TV.szero = 690; TV.ptoggle = 0; TV.stoggle = 0;
AndyHope 0:09b8098ea4e0 24 TV.frequency = 38000; TV.ptrail = 364; TV.plead = 0; TV.foot = 0;
AndyHope 0:09b8098ea4e0 25 TV.gap = 45310; TV.postdata = 0; TV.toggleMask = 0; TV.data = 0;
AndyHope 0:09b8098ea4e0 26 TV.preData = 0; TV.command = 0; TV.dutycycle = 50;
AndyHope 0:09b8098ea4e0 27 TV.preDataBits = 0; TV.dataBits = 15; TV.postDataBits = 0;
AndyHope 0:09b8098ea4e0 28
AndyHope 0:09b8098ea4e0 29 TV.inversionMask = 8;
AndyHope 0:09b8098ea4e0 30
AndyHope 0:09b8098ea4e0 31 // commands
AndyHope 0:09b8098ea4e0 32 TV.on = 0x41A2; TV.chup = 0x4222; TV.chdn = 0x4122; TV.volup = 0x40A2; TV.voldn = 0x42A2;
AndyHope 0:09b8098ea4e0 33 TV.one = 0x4202; TV.two = 0x4102; TV.three = 0x4302; TV.four = 0x4082; TV.five = 0x4282;
AndyHope 0:09b8098ea4e0 34 TV.six = 0x4182; TV.seven = 0x4382; TV.eight = 0x4042; TV.nine = 0x4242; TV.zero = 0x4142;
AndyHope 0:09b8098ea4e0 35 TV.mute = 0x43A2;
AndyHope 0:09b8098ea4e0 36
AndyHope 0:09b8098ea4e0 37 DVR.phead = 400; DVR.shead = 6100; DVR.pone = 400; DVR.sone = 1700; // values are time in us
AndyHope 0:09b8098ea4e0 38 DVR.pzero = 400; DVR.szero = 2800; DVR.ptoggle = 0; DVR.stoggle = 0;
AndyHope 0:09b8098ea4e0 39 DVR.frequency = 56000; DVR.ptrail = 400; DVR.plead = 0; DVR.foot = 0;
AndyHope 0:09b8098ea4e0 40 DVR.gap = 6200; DVR.postdata = 0; DVR.toggleMask = 0; DVR.data = 0;
AndyHope 0:09b8098ea4e0 41 DVR.preData = 0; DVR.command = 0; DVR.dutycycle = 50;
AndyHope 0:09b8098ea4e0 42 DVR.preDataBits = 0; DVR.dataBits = 16; DVR.postDataBits = 0;
AndyHope 0:09b8098ea4e0 43
AndyHope 0:09b8098ea4e0 44 // commands
AndyHope 0:09b8098ea4e0 45 DVR.on = 0x0800; DVR.up = 0x6800; DVR.down = 0x7800; DVR.left = 0x7000; DVR.right = 0x6000;
AndyHope 0:09b8098ea4e0 46 DVR.menu = 0x2C00; DVR.enter = 0x4000;
AndyHope 0:09b8098ea4e0 47
AndyHope 0:09b8098ea4e0 48 char deviceSel = 0;
AndyHope 0:09b8098ea4e0 49
AndyHope 0:09b8098ea4e0 50 led1 = 1;
AndyHope 0:09b8098ea4e0 51
AndyHope 0:09b8098ea4e0 52 TV.convertTiming();
AndyHope 0:09b8098ea4e0 53 TV.maskBit();
AndyHope 0:09b8098ea4e0 54 DVR.convertTiming();
AndyHope 0:09b8098ea4e0 55 DVR.maskBit();
AndyHope 0:09b8098ea4e0 56
AndyHope 0:09b8098ea4e0 57 while(1){
AndyHope 0:09b8098ea4e0 58
AndyHope 0:09b8098ea4e0 59
AndyHope 0:09b8098ea4e0 60 TV.sendCodeSharpTV(TV.on);
AndyHope 0:09b8098ea4e0 61
AndyHope 0:09b8098ea4e0 62 wait(2);
AndyHope 0:09b8098ea4e0 63
AndyHope 0:09b8098ea4e0 64 /*
AndyHope 0:09b8098ea4e0 65 if(SEL){
AndyHope 0:09b8098ea4e0 66 deviceSel = !deviceSel;
AndyHope 0:09b8098ea4e0 67 led1 = !led1;
AndyHope 0:09b8098ea4e0 68 led2 = !led2;
AndyHope 0:09b8098ea4e0 69 while(SEL);
AndyHope 0:09b8098ea4e0 70 wait(0.03);
AndyHope 0:09b8098ea4e0 71 }// if
AndyHope 0:09b8098ea4e0 72
AndyHope 0:09b8098ea4e0 73 if(ON){
AndyHope 0:09b8098ea4e0 74 if(deviceSel){
AndyHope 0:09b8098ea4e0 75 DVR.sendCodeDish(DVR.on);
AndyHope 0:09b8098ea4e0 76 }// if
AndyHope 0:09b8098ea4e0 77 else{
AndyHope 0:09b8098ea4e0 78 TV.sendCodeSharpTV(TV.on);
AndyHope 0:09b8098ea4e0 79 }// else
AndyHope 0:09b8098ea4e0 80 }// if
AndyHope 0:09b8098ea4e0 81
AndyHope 0:09b8098ea4e0 82 if(OneUP){
AndyHope 0:09b8098ea4e0 83 if(deviceSel){
AndyHope 0:09b8098ea4e0 84 DVR.sendCodeDish(DVR.menu);
AndyHope 0:09b8098ea4e0 85 }// if
AndyHope 0:09b8098ea4e0 86 else{
AndyHope 0:09b8098ea4e0 87 TV.sendCodeSharpTV(TV.chup);
AndyHope 0:09b8098ea4e0 88 }// else
AndyHope 0:09b8098ea4e0 89 }// if
AndyHope 0:09b8098ea4e0 90
AndyHope 0:09b8098ea4e0 91 if(OneDN){
AndyHope 0:09b8098ea4e0 92 if(deviceSel){
AndyHope 0:09b8098ea4e0 93 DVR.sendCodeDish(DVR.enter);
AndyHope 0:09b8098ea4e0 94 }// if
AndyHope 0:09b8098ea4e0 95 else{
AndyHope 0:09b8098ea4e0 96 TV.sendCodeSharpTV(TV.chdn);
AndyHope 0:09b8098ea4e0 97 }// else
AndyHope 0:09b8098ea4e0 98 }
AndyHope 0:09b8098ea4e0 99
AndyHope 0:09b8098ea4e0 100 if(TwoUP){
AndyHope 0:09b8098ea4e0 101 if(deviceSel){
AndyHope 0:09b8098ea4e0 102 DVR.sendCodeDish(DVR.up);
AndyHope 0:09b8098ea4e0 103 }// if
AndyHope 0:09b8098ea4e0 104 else{
AndyHope 0:09b8098ea4e0 105 TV.sendCodeSharpTV(TV.volup);
AndyHope 0:09b8098ea4e0 106 }// else
AndyHope 0:09b8098ea4e0 107 }// if
AndyHope 0:09b8098ea4e0 108
AndyHope 0:09b8098ea4e0 109 if(TwoDN){
AndyHope 0:09b8098ea4e0 110 if(deviceSel){
AndyHope 0:09b8098ea4e0 111 DVR.sendCodeDish(DVR.down);
AndyHope 0:09b8098ea4e0 112 }// if
AndyHope 0:09b8098ea4e0 113 else{
AndyHope 0:09b8098ea4e0 114 TV.sendCodeSharpTV(TV.voldn);
AndyHope 0:09b8098ea4e0 115 }// else
AndyHope 0:09b8098ea4e0 116 }// if
AndyHope 0:09b8098ea4e0 117 */
AndyHope 0:09b8098ea4e0 118 }// while
AndyHope 0:09b8098ea4e0 119 }// main