From c96c2f476d9d3bfe0c7c3a6f682f820249d86c1c Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Tue, 2 Dec 2008 12:43:20 +0000 Subject: Meg-FX: Do a bit of LED service simplification and save a tiny bit of code size. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19300 a1c6a512-1295-4272-9138-f99709370657 --- .../arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c index db32aa189a..2d8fad5555 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c @@ -28,9 +28,12 @@ #include "power.h" #define BUTTONLIGHT_MENU (SC606_LED_B1) -#define BUTTONLIGHT_ALL (SC606_LED_B1 | SC606_LED_B2 | SC606_LED_C1 | SC606_LED_C2) +#define BUTTONLIGHT_ALL (SC606_LED_B1 | SC606_LED_B2 | \ + SC606_LED_C1 | SC606_LED_C2) -static const int log_brightness[12] = {0,1,2,3,5,7,10,15,22,31,44,63}; +/* Dummy value at index 0, 1-12 used. */ +static const unsigned char log_brightness[13] = + {0,0,1,2,3,5,7,10,15,22,31,44,63}; #ifndef BOOTLOADER static void led_control_service(void); @@ -75,7 +78,7 @@ void _backlight_set_brightness(int brightness) { /* stop the interrupt from messing us up */ backlight_control = BACKLIGHT_CONTROL_IDLE; - _backlight_brightness = log_brightness[brightness - 1]; + _backlight_brightness = log_brightness[brightness]; backlight_control = BACKLIGHT_CONTROL_SET; } @@ -394,25 +397,24 @@ void _buttonlight_off(void) void _buttonlight_set_brightness(int brightness) { - /* clamp the brightness value */ - brightness = MAX(1, MIN(12, brightness)); /* stop the interrupt from messing us up */ buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; - buttonlight_brightness = log_brightness[brightness - 1]; + buttonlight_brightness = log_brightness[brightness]; buttonlight_control = BUTTONLIGHT_CONTROL_SET; } bool _backlight_init(void) { - buttonlight_brightness = log_brightness[DEFAULT_BRIGHTNESS_SETTING-1]; - _backlight_brightness = log_brightness[DEFAULT_BRIGHTNESS_SETTING-1]; + unsigned char brightness = log_brightness[DEFAULT_BRIGHTNESS_SETTING]; + buttonlight_brightness = brightness; + _backlight_brightness = brightness; buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; backlight_control = BACKLIGHT_CONTROL_ON; /* Set the backlight up in a known state */ sc606_init(); - sc606_write(SC606_REG_A , _backlight_brightness); + sc606_write(SC606_REG_A , brightness); sc606_write(SC606_REG_B , 0); sc606_write(SC606_REG_C , 0); sc606_write(SC606_REG_CONF , 0x03); -- cgit v1.2.3