X-Git-Url: http://git.rrze.uni-erlangen.de/gitweb/?p=moodlight.git;a=blobdiff_plain;f=ircontrol.c;h=e0e5317927a36c722d96a00738e68feab63242dc;hp=65a6ccda0bbd1cb05bc62714b5f52c6feffde9cc;hb=6dc7afb26d8ca6419bb2d1d0016e62f79a430772;hpb=2e7f41851ea4d37bf927ba825bf7a5fac0f9ceb0 diff --git a/ircontrol.c b/ircontrol.c index 65a6ccd..e0e5317 100644 --- a/ircontrol.c +++ b/ircontrol.c @@ -1,4 +1,4 @@ -/* $Id: ircontrol.c,v 1.3 2010/06/27 22:49:58 simimeie Exp $ +/* $Id: ircontrol.c,v 1.4 2010/06/27 23:05:55 simimeie Exp $ * Functions for the infrared receiver * * The infrared receiver is connected to PB0 / PCINT0. @@ -34,6 +34,7 @@ #define NECPULSELEN ((CPUFREQ * 56UL) / 100000UL) #define NECZEROLEN ((CPUFREQ * 112UL) / 100000UL) #define NECONELEN ((CPUFREQ * 225UL) / 100000UL) +#define NECREPEATLEN ((CPUFREQ * 225UL) / 100000UL) /* the NEC code contains 4 bytes, sent with LSB first: * 0+1 are either the "extended address" or "address and inverted address". @@ -120,6 +121,11 @@ ISR(PCINT0_vect) { curcodebit = 0; codebytes[0] = codebytes[1] = codebytes[2] = codebytes[3] = 0; } + } else if ((ts0diff >= (( 8 * NECREPEATLEN) / 10)) + && (ts0diff <= ((12 * NECREPEATLEN) / 10))) { + if (curcodebit == 0xfe) { + console_printpgm_P(PSTR(".REP.")); + } } last1irqts = curirqts; }