From 68abf87a9c4ed6b0c3bd812f444b2bc897496f89 Mon Sep 17 00:00:00 2001 From: Ronald Schaten Date: Sun, 16 Nov 2008 00:38:12 +0000 Subject: [PATCH] improved backlight dimming parameters --- firmware/main.c | 13 ++++++------- firmware/modelmayhem.c | 5 +++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/firmware/main.c b/firmware/main.c index 31f614d..402c365 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -540,22 +540,21 @@ void calculateSpeed(uint8_t updates) { // it can get hotter... if (callcounter < 8) { speed += 4; - } else if (callcounter < 16) { - speed += 3; - } else if (callcounter < 24) { - speed += 2; } else { - speed += 1; + speed += 2; } setSpeed(speed); + } else if (speed < 255) { + speed = 255; + setSpeed(speed); } callcounter = 0; } else { // no key pressed... if (callcounter == 16) { // ... for a long time, decrease speed value - if (speed > 10) { - speed -= 10; + if (speed > 8) { + speed -= 8; setSpeed(speed); } else if (speed > 0) { speed = 0; diff --git a/firmware/modelmayhem.c b/firmware/modelmayhem.c index 93d9beb..a63c5da 100644 --- a/firmware/modelmayhem.c +++ b/firmware/modelmayhem.c @@ -117,8 +117,9 @@ void printMatrix(void) { } void setSpeed(uint8_t speed) { - OCR1A = 0xffff - (speed * speed); - OCR1B = (speed * speed); + uint16_t value = (speed + 1) * (speed + 1) - 1; + OCR1A = 0xffff - value; + OCR1B = value; } void setLeds(uint8_t LEDstate) {