X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=main.c;h=9f910dfbe6841e0dd0d29fac0d01418fbd1ca450;hb=68f80504da1a457abc62f854ada9de7efd3c5b30;hp=e98dd0474b6a05b6e26f73c936899f3a82fc9728;hpb=f26f105c3cdea162d0937de1bafced3bc5c6f2e2;p=rgblamp.git diff --git a/main.c b/main.c index e98dd04..9f910df 100644 --- a/main.c +++ b/main.c @@ -118,6 +118,7 @@ void start_fade() wht.remainder = neww - (wht.value + wht.increment * fade_steps); /* Start the fade timer */ + tmr_stop(TMR_INCOLOR); tmr_startPeriodic(TMR_FADE, 1); /* 32.768 msec */ } @@ -132,6 +133,7 @@ void turnOn() leds_set(red, grn, blu, wht); rgb_on(); start_fade(); + btn_pben(); } void turnOff() @@ -146,12 +148,14 @@ void turnOff() void pb_task() { - if (btn_pb() == BTN_PB_UP) { - speed = (speed + 1) & ~4; - tmr_stop(TMR_INCOLOR); - start_fade(); + /* Is this task running nearly continuously? */ + if (on) { + if (btn_pb() == BTN_PB_UP) { + speed = (speed + 1) & 3; + start_fade(); + } + btn_pben(); } - btn_pben(); } void rs_task() @@ -208,7 +212,6 @@ void user_boot() { dbgpin_high(); srand((adc_random() << 8) + adc_random()); - pb_task(); rs_task(); }