diff options
author | Daniel Garcia <danielgarcia@gmail.com> | 2015-02-09 17:42:42 +0300 |
---|---|---|
committer | Daniel Garcia <danielgarcia@gmail.com> | 2015-02-09 17:42:42 +0300 |
commit | 5a8ea5fdc7bb371c92fe7236c307ef00ebb17307 (patch) | |
tree | 0c9db64fceef6a1df3fa501fc12461739a5afd02 /power_mgt.cpp | |
parent | de83ca911a5d6584455f90df56505e9a5061f85b (diff) |
Fix compilation errors surrounding namespace - also rename the namespace, having FastLED::FastLED was proving too ambiguous for teh compiler.
Diffstat (limited to 'power_mgt.cpp')
-rw-r--r-- | power_mgt.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/power_mgt.cpp b/power_mgt.cpp index 1d6ca9dc..c4cbf548 100644 --- a/power_mgt.cpp +++ b/power_mgt.cpp @@ -2,7 +2,7 @@ #include "FastLED.h" #include "power_mgt.h" -FASTLED_USING_NAMESPACE +FASTLED_NAMESPACE_BEGIN //// POWER MANAGEMENT @@ -54,9 +54,9 @@ uint32_t calculate_unscaled_power_mW( const CRGB* ledbuffer, uint16_t numLeds ) uint32_t red32 = 0, green32 = 0, blue32 = 0; const CRGB* firstled = &(ledbuffer[0]); uint8_t* p = (uint8_t*)(firstled); - + uint16_t count = numLeds; - + // This loop might benefit from an AVR assembly version -MEK while( count) { red32 += *p++; @@ -64,17 +64,17 @@ uint32_t calculate_unscaled_power_mW( const CRGB* ledbuffer, uint16_t numLeds ) blue32 += *p++; count--; } - + red32 *= gRed_mW; green32 *= gGreen_mW; blue32 *= gBlue_mW; - + red32 >>= 8; green32 >>= 8; blue32 >>= 8; - + uint32_t total = red32 + green32 + blue32 + (gDark_mW * numLeds); - + return total; } @@ -86,7 +86,7 @@ uint32_t calculate_unscaled_power_mW( const CRGB* ledbuffer, uint16_t numLeds ) uint8_t calculate_max_brightness_for_power_mW( uint8_t target_brightness, uint32_t max_power_mW) { uint32_t total_mW = gMCU_mW; - + CLEDController *pCur = CLEDController::head(); while(pCur) { total_mW += calculate_unscaled_power_mW( pCur->leds(), pCur->size()); @@ -97,7 +97,7 @@ uint8_t calculate_max_brightness_for_power_mW( uint8_t target_brightness, uint32 Serial.print("power demand at full brightness mW = "); Serial.println( total_mW); #endif - + uint32_t requested_power_mW = ((uint32_t)total_mW * target_brightness) / 256; #if POWER_DEBUG_PRINT == 1 if( target_brightness != 255 ) { @@ -107,7 +107,7 @@ uint8_t calculate_max_brightness_for_power_mW( uint8_t target_brightness, uint32 Serial.print("power limit mW = "); Serial.println( max_power_mW); #endif - + if( requested_power_mW < max_power_mW) { #if POWER_LED > 0 if( gMaxPowerIndicatorLEDPinNumber ) { @@ -119,7 +119,7 @@ uint8_t calculate_max_brightness_for_power_mW( uint8_t target_brightness, uint32 #endif return target_brightness; } - + uint8_t recommended_brightness = (uint32_t)((uint8_t)(target_brightness) * (uint32_t)(max_power_mW)) / ((uint32_t)(requested_power_mW)); #if POWER_DEBUG_PRINT == 1 Serial.print("recommended brightness # = "); @@ -128,16 +128,16 @@ uint8_t calculate_max_brightness_for_power_mW( uint8_t target_brightness, uint32 uint32_t resultant_power_mW = (total_mW * recommended_brightness) / 256; Serial.print("resultant power demand mW = "); Serial.println( resultant_power_mW); - + Serial.println(); #endif - + #if POWER_LED > 0 if( gMaxPowerIndicatorLEDPinNumber ) { digitalWrite( gMaxPowerIndicatorLEDPinNumber, HIGH); // turn the LED on } #endif - + return recommended_brightness; } @@ -161,7 +161,7 @@ void show_at_max_brightness_for_power() { uint8_t targetBrightness = FastLED.getBrightness(); uint8_t max = calculate_max_brightness_for_power_mW( targetBrightness, gMaxPowerInMilliwatts); - + FastLED.setBrightness( max ); FastLED.show(); FastLED.setBrightness( targetBrightness ); @@ -171,9 +171,10 @@ void delay_at_max_brightness_for_power( uint16_t ms) { uint8_t targetBrightness = FastLED.getBrightness(); uint8_t max = calculate_max_brightness_for_power_mW( targetBrightness, gMaxPowerInMilliwatts); - + FastLED.setBrightness( max ); FastLED.delay( ms); FastLED.setBrightness( targetBrightness ); } +FASTLED_NAMESPACE_END |