void IRRF_Send(unsigned long cmd) { ir.actcmd = cmd; ir.general.trail=(unsigned int)openEP(0,0, packet_RFenc); setIRspeed(IRRF_Module); if((ir.toggle & 0x01) &&(ir.actcmd != 0x0000)) ir.actcmd |= 0x0080; IRRF_Repeat(); }
void RC6_Send(unsigned long cmd) { ir_actcmd = cmd; setIRspeed(RC6_Module); // if(ir_toggle & 0x01) // ir_actcmd &= 0xF7FF; RC6_Repeat(); }
void SIRC_Send(unsigned long cmd) { ir_actcmd = cmd; if(ir_actcmd & 0x800000) ir_numbits = 20; else if(ir_actcmd & 0x8000) ir_numbits = 15; else ir_numbits = 12; setIRspeed(SIRC_Module); SIRC_Repeat(); }
void REC80_Send(unsigned long cmd) { ir.actcmd = cmd; if(ir.actcmd & 0x80000000) ir.general.numbits = 24; else ir.general.numbits = 0; ir.actcmd &= 0x0FFFFFFF; setIRspeed(REC80_Module); REC80_Repeat(); }
void RC5_Send(unsigned long cmd) { ir_actcmd = cmd; setIRspeed(RC5_Module); if((ir_actcmd != 0x0000) && (ir_actcmd != 0x1000)) { //toggle bit sollte nicht über dir Konfiguration gesetzt werden if(ir_toggle & 0x01) ir_actcmd &= 0xF7FF; else ir_actcmd |= 0x0800; RC5_Repeat(); } }
void NRC17_Send(unsigned long cmd) { ir_actcmd = cmd; if(ir_actcmd != 0x0000) { setIRspeed(NRC17_Module); if(ir_state == NRC17_IDLE) { ir_pause = NRC17_WTIME; ir_cmd = ir_startstop; ir_state++; runIR(); } } }
void setIR(struct irModule module) { T1TCR = 0x02; irEncoder = module.encoder; irSend = module.sender; irRepeat = module.repeater; irStop = module.stopper; setIRspeed(module); // T1MR0 = module.tval; hi_border = module.hi_border; lo_border = module.lo_border; cycles = 100; ir_state = 0x00; ir_actcmd = 0; ir_cmd = 0; T1TCR = 0x03; }