89 lines
4.4 KiB
C
89 lines
4.4 KiB
C
#pragma once
|
|
|
|
/// @file fastled_config.h
|
|
/// Contains definitions that can be used to configure FastLED at compile time
|
|
|
|
/// @def FASTLED_FORCE_SOFTWARE_PINS
|
|
/// Use this option only for debugging pin access and forcing software pin access. Forces use of `digitalWrite()`
|
|
/// methods for pin access vs. direct hardware port access.
|
|
/// @note Software pin access only works in Arduino-based environments.
|
|
// #define FASTLED_FORCE_SOFTWARE_PINS
|
|
|
|
/// @def FASTLED_FORCE_SOFTWARE_SPI
|
|
/// Use this option only for debugging bitbang'd SPI access or to work around bugs in hardware
|
|
/// SPI access. Forces use of bit-banged SPI, even on pins that have hardware SPI available.
|
|
// #define FASTLED_FORCE_SOFTWARE_SPI
|
|
|
|
/// @def FASTLED_ALLOW_INTERRUPTS
|
|
/// Use this to force FastLED to allow interrupts in the clockless chipsets (or to force it to
|
|
/// disallow), overriding the default on platforms that support this. Set the value to 1 to
|
|
/// allow interrupts or 0 to disallow them.
|
|
// #define FASTLED_ALLOW_INTERRUPTS 1
|
|
// #define FASTLED_ALLOW_INTERRUPTS 0
|
|
|
|
/// @def FASTLED_NOISE_ALLOW_AVERAGE_TO_OVERFLOW
|
|
/// Use this to allow some integer overflows/underflows in the inoise() functions.
|
|
/// The original implementions allowed this, and had some discontinuties in the noise
|
|
/// output. It's technically an implementation bug, and was fixed, but you may wish
|
|
/// to preserve the old look and feel of the inoise() functions in your existing animations.
|
|
/// The default is 0: NO overflow, and 'continuous' noise output, aka the fixed way.
|
|
// #define FASTLED_NOISE_ALLOW_AVERAGE_TO_OVERFLOW 0
|
|
// #define FASTLED_NOISE_ALLOW_AVERAGE_TO_OVERFLOW 1
|
|
|
|
/// @def FASTLED_SCALE8_FIXED
|
|
/// Use this to toggle whether or not to use the "fixed" FastLED scale8(). The initial scale8()
|
|
/// had a problem where scale8(255,255) would give you 254. This is now fixed, and that
|
|
/// fix is enabled by default. However, if for some reason you have code that is not
|
|
/// working right as a result of this (e.g. code that was expecting the old scale8() behavior)
|
|
/// you can disable it here.
|
|
#define FASTLED_SCALE8_FIXED 1
|
|
// #define FASTLED_SCALE8_FIXED 0
|
|
|
|
/// @def FASTLED_BLEND_FIXED
|
|
/// Use this to toggle whether to use "fixed" FastLED pixel blending, including ColorFromPalette.
|
|
/// The prior pixel blend functions had integer-rounding math errors that led to
|
|
/// small errors being inadvertently added to the low bits of blended colors, including colors
|
|
/// retrieved from color palettes using LINEAR_BLEND. This is now fixed, and the
|
|
/// fix is enabled by default. However, if for some reason you wish to run with the old
|
|
/// blending, including the integer rounding and color errors, you can disable the bugfix here.
|
|
#define FASTLED_BLEND_FIXED 1
|
|
// #define FASTLED_BLEND_FIXED 0
|
|
|
|
/// @def FASTLED_NOISE_FIXED
|
|
/// Use this to toggle whether to use "fixed" FastLED 8-bit and 16-bit noise functions.
|
|
/// The prior noise functions had some math errors that led to "discontinuities" in the
|
|
/// output, which by definition should be smooth and continuous. The bug led to
|
|
/// noise function output that had "edges" and glitches in it. This is now fixed, and the
|
|
/// fix is enabled by default. However, if for some reason you wish to run with the old
|
|
/// noise code, including the glitches, you can disable the bugfix here.
|
|
#define FASTLED_NOISE_FIXED 1
|
|
//#define FASTLED_NOISE_FIXED 0
|
|
|
|
/// @def FASTLED_INTERRUPT_RETRY_COUNT
|
|
/// Use this to determine how many times FastLED will attempt to re-transmit a frame if interrupted
|
|
/// for too long by interrupts.
|
|
#ifndef FASTLED_INTERRUPT_RETRY_COUNT
|
|
#define FASTLED_INTERRUPT_RETRY_COUNT 2
|
|
#endif
|
|
|
|
/// @def FASTLED_USE_GLOBAL_BRIGHTNESS
|
|
/// Use this toggle to enable global brightness in contollers that support is (e.g. ADA102 and SK9822).
|
|
/// It changes how color scaling works and uses global brightness before scaling down color values.
|
|
/// This enables much more accurate color control on low brightness settings.
|
|
//#define FASTLED_USE_GLOBAL_BRIGHTNESS 1
|
|
|
|
|
|
// The defines are used for Doxygen documentation generation.
|
|
// They're commented out above and repeated here so the Doxygen parser
|
|
// will be able to find them. They will not affect your own configuration,
|
|
// and you do *NOT* need to modify them.
|
|
#ifdef FASTLED_DOXYGEN
|
|
#define FASTLED_FORCE_SOFTWARE_PINS
|
|
#define FASTLED_FORCE_SOFTWARE_SPI
|
|
#define FASTLED_ALLOW_INTERRUPTS
|
|
#define FASTLED_NOISE_ALLOW_AVERAGE_TO_OVERFLOW 0
|
|
#define FASTLED_INTERRUPT_RETRY_COUNT 2
|
|
#define FASTLED_USE_GLOBAL_BRIGHTNESS 0
|
|
#endif
|
|
|