Welcome to mirror list, hosted at ThFree Co, Russian Federation.

power_mgt.h - github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 60b92e954bfac03a6c64d7f5e01c6d695ed6514d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef POWER_MGT_H
#define POWER_MGT_H

#include "pixeltypes.h"

// Power Control setup functions
//
// Example:
//  set_max_power_in_volts_and_milliamps( 5, 400);
//
void set_max_power_in_volts_and_milliamps( uint8_t volts, uint32_t milliamps);
void set_max_power_in_milliwatts( uint32_t powerInmW);

void set_max_power_indicator_LED( uint8_t pinNumber); // zero = no indicator LED


// Power Control 'show' and 'delay' functions
//
// These are drop-in replacements for FastLED.show() and FastLED.delay()
// In order to use these, you have to actually replace your calls to
// FastLED.show() and FastLED.delay() with these two functions.
//
// Example:
//     // was: FastLED.show();
//     // now is:
//     show_at_max_brightness_for_power();
//
void show_at_max_brightness_for_power();
void delay_at_max_brightness_for_power( uint16_t ms);


// Power Control internal helper functions
//
// calculate_unscaled_power_mW tells you how many milliwatts the current
//   LED data would draw at brightness = 255.
//
// calculate_max_brightness_for_power_mW tells you the highest brightness
//   level you can use and still stay under the specified power budget.  It
//   takes a 'target brightness' which is the brightness you'd ideally like
//   to use.  The result from this function will be no higher than the
//   target_brightess you supply, but may be lower.
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);


// POWER_MGT_H
#endif