diff --git a/boop/betty.cfg b/boop/betty.cfg index b467c7c..ba49750 100644 --- a/boop/betty.cfg +++ b/boop/betty.cfg @@ -71,9 +71,9 @@ proc betty_init { } { # Memory Bank Configuration # BCFG0: 16bit, rble, 2wst - 30 mhz : Betty: FLASH 0 @ 0x80000000 - mww 0xffe00000 0x10000420 + mww 0xffe00000 0x10001CA0 # BCFG2: 16bit, rble, 2wst - 30 mhz : Betty: FLASH 1 @ 0x82000000 - mww 0xffe00008 0x10000420 + mww 0xffe00008 0x10001CA0 # BCFG1: 8 bit, 3 sram wst, rble, 5 wst 3 idcy : Betty: LCD @ 0x81000000 mww 0xffe00004 0x00000400 diff --git a/boop/boop_rom.bin b/boop/boop_rom.bin index 3c0bdbf..d799393 100644 Binary files a/boop/boop_rom.bin and b/boop/boop_rom.bin differ diff --git a/boop/infrared/infrared.c b/boop/infrared/infrared.c index 02f3d25..5e3aa45 100644 --- a/boop/infrared/infrared.c +++ b/boop/infrared/infrared.c @@ -114,6 +114,12 @@ void runIR(void) } +void setIRspeed(struct irModule module) +{ + PWM_set_frequency(15000000 / (module.tval * module.lo_border)); + ir.duty_cycle =(module.hi_border * 100) / module.lo_border; +} + void stopIR(void) { T1TCR = 0x03; diff --git a/boop/infrared/infrared.h b/boop/infrared/infrared.h index b5f00a2..4e5665a 100644 --- a/boop/infrared/infrared.h +++ b/boop/infrared/infrared.h @@ -78,7 +78,7 @@ struct IR_VARS_ { //#define setIRspeed( _m ) { if(sysInfo & 0x80) T1MR0 = _m.tval1; else T1MR0 = _m.tval; } -#define setIRspeed( _m ) { T1MR0 = _m.tval; } +//#define setIRspeed( _m ) { T1MR0 = _m.tval; } void __attribute__ ((section(".text.fastcode"))) defIR(void); void defSender(unsigned long cmd); @@ -90,6 +90,7 @@ void startIrIRQ(void); void setIR(struct irModule module); void runIR(void); void stopIR(void); +void setIRspeed(struct irModule module); unsigned long setEncoder( unsigned char _x, unsigned char _y ); diff --git a/boop/infrared/infraredirq.c b/boop/infrared/infraredirq.c index 4430bf5..2ae58f8 100644 --- a/boop/infrared/infraredirq.c +++ b/boop/infrared/infraredirq.c @@ -25,8 +25,6 @@ #include "cc1100.h" #include "pwm.h" -static unsigned int c_cnt = 0; -static unsigned int b_len = 0; extern volatile unsigned char mod_enable; extern volatile unsigned char hi_border; extern volatile unsigned char lo_border; @@ -36,7 +34,6 @@ extern ir_fn irEncoder; void __attribute__ ((section(".text.fastcode"))) irIRQ(void) { - c_cnt++; irEncoder(); @@ -46,36 +43,6 @@ void __attribute__ ((section(".text.fastcode"))) irIRQ(void) PWM_set_IR_duty_cycle(0); } - - /* - if(c_cnt <= hi_border) - { - FIOSET0 = (mod_enable<<21); - } - else - { - FIOCLR0 = (1<<21); - if(c_cnt >= lo_border) - { - c_cnt = 0; - b_len++; - if(b_len >= cycles) - { - irEncoder(); - b_len = 0; - - if(!hi_border) { //RF mode - if(mod_enable) - FIOCLR0 = GDO0; - else - FIOSET0 = GDO0; - } - } - } - } -*/ - //T1TCR = 0x03; - T1IR = 1; -// VICVectAddr = 0; + } diff --git a/boop/infrared/ir_itt.c b/boop/infrared/ir_itt.c index 6294cc4..1156947 100644 --- a/boop/infrared/ir_itt.c +++ b/boop/infrared/ir_itt.c @@ -126,6 +126,7 @@ void __attribute__ ((section(".text.fastcode"))) ITT_Encode (void) } break; } + T1MR0 = cycles * ITT2_Module.lo_border * ITT2_Module.tval; } void ITT_LoadMap(unsigned char map) diff --git a/boop/infrared/ir_lirc.c b/boop/infrared/ir_lirc.c index f4a7e98..2dc4204 100644 --- a/boop/infrared/ir_lirc.c +++ b/boop/infrared/ir_lirc.c @@ -300,7 +300,6 @@ void __attribute__ ((section(".text.fastcode"))) LIRC_Encode (void) { } } - T1MR0 = 15 * cycles; } diff --git a/boop/infrared/ir_nrc17.c b/boop/infrared/ir_nrc17.c index afbe81f..229caf4 100644 --- a/boop/infrared/ir_nrc17.c +++ b/boop/infrared/ir_nrc17.c @@ -115,6 +115,7 @@ void __attribute__ ((section(".text.fastcode"))) NRC17_Encode(void) break; } + T1MR0 = cycles * NRC17_Module.lo_border * NRC17_Module.tval; } /* void NRC17_CopyMap(unsigned char xtra, unsigned short *map) diff --git a/boop/infrared/ir_rc5.c b/boop/infrared/ir_rc5.c index 8c6c6c1..624620f 100644 --- a/boop/infrared/ir_rc5.c +++ b/boop/infrared/ir_rc5.c @@ -98,6 +98,7 @@ void __attribute__ ((section(".text.fastcode"))) RC5_Encode (void) } break; } + T1MR0 = cycles * RC5_Module.lo_border * RC5_Module.tval; } void RC5_Init(unsigned char map) diff --git a/boop/infrared/ir_rc6.c b/boop/infrared/ir_rc6.c index d42b43a..990fa08 100644 --- a/boop/infrared/ir_rc6.c +++ b/boop/infrared/ir_rc6.c @@ -148,6 +148,7 @@ void __attribute__ ((section(".text.fastcode"))) RC6_Encode (void) } break; } + T1MR0 = cycles * RC6_Module.lo_border * RC6_Module.tval; } void RC6_Init(unsigned char map) diff --git a/boop/infrared/ir_rca.c b/boop/infrared/ir_rca.c index 84e95d5..1ba24d7 100644 --- a/boop/infrared/ir_rca.c +++ b/boop/infrared/ir_rca.c @@ -120,6 +120,7 @@ void __attribute__ ((section(".text.fastcode"))) RCA_Encode (void) } break; } + T1MR0 = cycles * RCA_Module.lo_border * RCA_Module.tval; } void RCA_LoadMap(unsigned char map) diff --git a/boop/infrared/ir_rcmm.c b/boop/infrared/ir_rcmm.c index 2424391..e477185 100644 --- a/boop/infrared/ir_rcmm.c +++ b/boop/infrared/ir_rcmm.c @@ -117,6 +117,7 @@ void __attribute__ ((section(".text.fastcode"))) RCMM_Encode (void) } + T1MR0 = cycles * RCMM_Module.lo_border * RCMM_Module.tval; } void RCMM_LoadMap(unsigned char map) diff --git a/boop/infrared/ir_rec80.c b/boop/infrared/ir_rec80.c index 6f4f8b1..02fb5f7 100644 --- a/boop/infrared/ir_rec80.c +++ b/boop/infrared/ir_rec80.c @@ -117,6 +117,7 @@ void __attribute__ ((section(".text.fastcode"))) REC80_Encode (void) } break; } + T1MR0 = cycles * REC80_Module.lo_border * REC80_Module.tval; } void REC80_LoadMap(unsigned char map) diff --git a/boop/infrared/ir_recs80.c b/boop/infrared/ir_recs80.c index d15dbd1..cabd96b 100644 --- a/boop/infrared/ir_recs80.c +++ b/boop/infrared/ir_recs80.c @@ -90,6 +90,7 @@ void __attribute__ ((section(".text.fastcode"))) RECS80_Encode (void) } break; } + T1MR0 = cycles * RECS80_Module.lo_border * RECS80_Module.tval; } void RECS80_Init(unsigned char map) diff --git a/boop/infrared/ir_sirc.c b/boop/infrared/ir_sirc.c index 0bcfa8a..dd9e4b4 100644 --- a/boop/infrared/ir_sirc.c +++ b/boop/infrared/ir_sirc.c @@ -103,6 +103,8 @@ void __attribute__ ((section(".text.fastcode"))) SIRC_Encode (void) break; } + + T1MR0 = cycles * SIRC_Module.lo_border * SIRC_Module.tval; } void SIRC_Init(unsigned char map) diff --git a/boop/infrared/ir_spaceenc.c b/boop/infrared/ir_spaceenc.c index d6c0ccc..73b0228 100644 --- a/boop/infrared/ir_spaceenc.c +++ b/boop/infrared/ir_spaceenc.c @@ -137,6 +137,7 @@ void __attribute__ ((section(".text.fastcode"))) SPACEENC_Encode (void) } break; } + T1MR0 = cycles * SPACEENC_Module.lo_border * SPACEENC_Module.tval; } void SPACEENC_LoadMap(unsigned char map)