FastLED 3.6.0
Loading...
Searching...
No Matches
CRGB Struct Reference

Detailed Description

#include <pixeltypes.h>

Public Types

enum  HTMLColorCode {
  AliceBlue =0xF0F8FF , Amethyst =0x9966CC , AntiqueWhite =0xFAEBD7 , Aqua =0x00FFFF ,
  Aquamarine =0x7FFFD4 , Azure =0xF0FFFF , Beige =0xF5F5DC , Bisque =0xFFE4C4 ,
  Black =0x000000 , BlanchedAlmond =0xFFEBCD , Blue =0x0000FF , BlueViolet =0x8A2BE2 ,
  Brown =0xA52A2A , BurlyWood =0xDEB887 , CadetBlue =0x5F9EA0 , Chartreuse =0x7FFF00 ,
  Chocolate =0xD2691E , Coral =0xFF7F50 , CornflowerBlue =0x6495ED , Cornsilk =0xFFF8DC ,
  Crimson =0xDC143C , Cyan =0x00FFFF , DarkBlue =0x00008B , DarkCyan =0x008B8B ,
  DarkGoldenrod =0xB8860B , DarkGray =0xA9A9A9 , DarkGrey =0xA9A9A9 , DarkGreen =0x006400 ,
  DarkKhaki =0xBDB76B , DarkMagenta =0x8B008B , DarkOliveGreen =0x556B2F , DarkOrange =0xFF8C00 ,
  DarkOrchid =0x9932CC , DarkRed =0x8B0000 , DarkSalmon =0xE9967A , DarkSeaGreen =0x8FBC8F ,
  DarkSlateBlue =0x483D8B , DarkSlateGray =0x2F4F4F , DarkSlateGrey =0x2F4F4F , DarkTurquoise =0x00CED1 ,
  DarkViolet =0x9400D3 , DeepPink =0xFF1493 , DeepSkyBlue =0x00BFFF , DimGray =0x696969 ,
  DimGrey =0x696969 , DodgerBlue =0x1E90FF , FireBrick =0xB22222 , FloralWhite =0xFFFAF0 ,
  ForestGreen =0x228B22 , Fuchsia =0xFF00FF , Gainsboro =0xDCDCDC , GhostWhite =0xF8F8FF ,
  Gold =0xFFD700 , Goldenrod =0xDAA520 , Gray =0x808080 , Grey =0x808080 ,
  Green =0x008000 , GreenYellow =0xADFF2F , Honeydew =0xF0FFF0 , HotPink =0xFF69B4 ,
  IndianRed =0xCD5C5C , Indigo =0x4B0082 , Ivory =0xFFFFF0 , Khaki =0xF0E68C ,
  Lavender =0xE6E6FA , LavenderBlush =0xFFF0F5 , LawnGreen =0x7CFC00 , LemonChiffon =0xFFFACD ,
  LightBlue =0xADD8E6 , LightCoral =0xF08080 , LightCyan =0xE0FFFF , LightGoldenrodYellow =0xFAFAD2 ,
  LightGreen =0x90EE90 , LightGrey =0xD3D3D3 , LightPink =0xFFB6C1 , LightSalmon =0xFFA07A ,
  LightSeaGreen =0x20B2AA , LightSkyBlue =0x87CEFA , LightSlateGray =0x778899 , LightSlateGrey =0x778899 ,
  LightSteelBlue =0xB0C4DE , LightYellow =0xFFFFE0 , Lime =0x00FF00 , LimeGreen =0x32CD32 ,
  Linen =0xFAF0E6 , Magenta =0xFF00FF , Maroon =0x800000 , MediumAquamarine =0x66CDAA ,
  MediumBlue =0x0000CD , MediumOrchid =0xBA55D3 , MediumPurple =0x9370DB , MediumSeaGreen =0x3CB371 ,
  MediumSlateBlue =0x7B68EE , MediumSpringGreen =0x00FA9A , MediumTurquoise =0x48D1CC , MediumVioletRed =0xC71585 ,
  MidnightBlue =0x191970 , MintCream =0xF5FFFA , MistyRose =0xFFE4E1 , Moccasin =0xFFE4B5 ,
  NavajoWhite =0xFFDEAD , Navy =0x000080 , OldLace =0xFDF5E6 , Olive =0x808000 ,
  OliveDrab =0x6B8E23 , Orange =0xFFA500 , OrangeRed =0xFF4500 , Orchid =0xDA70D6 ,
  PaleGoldenrod =0xEEE8AA , PaleGreen =0x98FB98 , PaleTurquoise =0xAFEEEE , PaleVioletRed =0xDB7093 ,
  PapayaWhip =0xFFEFD5 , PeachPuff =0xFFDAB9 , Peru =0xCD853F , Pink =0xFFC0CB ,
  Plaid =0xCC5533 , Plum =0xDDA0DD , PowderBlue =0xB0E0E6 , Purple =0x800080 ,
  Red =0xFF0000 , RosyBrown =0xBC8F8F , RoyalBlue =0x4169E1 , SaddleBrown =0x8B4513 ,
  Salmon =0xFA8072 , SandyBrown =0xF4A460 , SeaGreen =0x2E8B57 , Seashell =0xFFF5EE ,
  Sienna =0xA0522D , Silver =0xC0C0C0 , SkyBlue =0x87CEEB , SlateBlue =0x6A5ACD ,
  SlateGray =0x708090 , SlateGrey =0x708090 , Snow =0xFFFAFA , SpringGreen =0x00FF7F ,
  SteelBlue =0x4682B4 , Tan =0xD2B48C , Teal =0x008080 , Thistle =0xD8BFD8 ,
  Tomato =0xFF6347 , Turquoise =0x40E0D0 , Violet =0xEE82EE , Wheat =0xF5DEB3 ,
  White =0xFFFFFF , WhiteSmoke =0xF5F5F5 , Yellow =0xFFFF00 , YellowGreen =0x9ACD32 ,
  FairyLight =0xFFE42D , FairyLightNCC =0xFF9D2A
}
 Predefined RGB colors. More...
 

Public Member Functions

uint8_t & operator[] (uint8_t x)
 Array access operator to index into the CRGB object.
 
const uint8_t & operator[] (uint8_t x) const
 Array access operator to index into the CRGB object.
 
 CRGB ()=default
 Default constructor.
 
 CRGB (uint8_t ir, uint8_t ig, uint8_t ib)
 Allow construction from red, green, and blue.
 
 CRGB (uint32_t colorcode)
 Allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code.
 
 CRGB (LEDColorCorrection colorcode)
 Allow construction from a LEDColorCorrection enum.
 
 CRGB (ColorTemperature colorcode)
 Allow construction from a ColorTemperature enum.
 
 CRGB (const CRGB &rhs)=default
 Allow copy construction.
 
 CRGB (const CHSV &rhs)
 Allow construction from a CHSV color.
 
CRGBoperator= (const CRGB &rhs)=default
 Allow assignment from one RGB struct to another.
 
CRGBoperator= (const uint32_t colorcode)
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
CRGBsetRGB (uint8_t nr, uint8_t ng, uint8_t nb)
 Allow assignment from red, green, and blue.
 
CRGBsetHSV (uint8_t hue, uint8_t sat, uint8_t val)
 Allow assignment from hue, saturation, and value.
 
CRGBsetHue (uint8_t hue)
 Allow assignment from just a hue.
 
CRGBoperator= (const CHSV &rhs)
 Allow assignment from HSV color.
 
CRGBsetColorCode (uint32_t colorcode)
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
CRGBoperator+= (const CRGB &rhs)
 Add one CRGB to another, saturating at 0xFF for each channel.
 
CRGBaddToRGB (uint8_t d)
 Add a constant to each channel, saturating at 0xFF.
 
CRGBoperator-= (const CRGB &rhs)
 Subtract one CRGB from another, saturating at 0x00 for each channel.
 
CRGBsubtractFromRGB (uint8_t d)
 Subtract a constant from each channel, saturating at 0x00.
 
CRGBoperator-- ()
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
CRGB operator-- (int)
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
CRGBoperator++ ()
 Add a constant of '1' from each channel, saturating at 0xFF.
 
CRGB operator++ (int)
 Add a constant of '1' from each channel, saturating at 0xFF.
 
CRGBoperator/= (uint8_t d)
 Divide each of the channels by a constant.
 
CRGBoperator>>= (uint8_t d)
 Right shift each of the channels by a constant.
 
CRGBoperator*= (uint8_t d)
 Multiply each of the channels by a constant, saturating each channel at 0xFF.
 
CRGBnscale8_video (uint8_t scaledown)
 Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.
 
CRGBoperator%= (uint8_t scaledown)
 %= is a synonym for nscale8_video().
 
CRGBfadeLightBy (uint8_t fadefactor)
 fadeLightBy is a synonym for nscale8_video(), as a fade instead of a scale
 
CRGBnscale8 (uint8_t scaledown)
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
CRGBnscale8 (const CRGB &scaledown)
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
CRGB scale8 (uint8_t scaledown) const
 Return a CRGB object that is a scaled down version of this object.
 
CRGB scale8 (const CRGB &scaledown) const
 Return a CRGB object that is a scaled down version of this object.
 
CRGBfadeToBlackBy (uint8_t fadefactor)
 fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale
 
CRGBoperator|= (const CRGB &rhs)
 "or" operator brings each channel up to the higher of the two values
 
CRGBoperator|= (uint8_t d)
 "or" operator brings each channel up to the higher of the two values
 
CRGBoperator&= (const CRGB &rhs)
 "and" operator brings each channel down to the lower of the two values
 
CRGBoperator&= (uint8_t d)
 "and" operator brings each channel down to the lower of the two values
 
 operator bool () const
 This allows testing a CRGB for zero-ness.
 
 operator uint32_t () const
 Converts a CRGB to a 32-bit color having an alpha of 255.
 
CRGB operator- () const
 Invert each channel.
 
 operator rgb24 () const
 Convert to an rgb24 object, used with the SmartMatrix library.
 
uint8_t getLuma () const
 Get the "luma" of a CRGB object.
 
uint8_t getAverageLight () const
 Get the average of the R, G, and B values.
 
void maximizeBrightness (uint8_t limit=255)
 Maximize the brightness of this CRGB object.
 
CRGB lerp8 (const CRGB &other, fract8 frac) const
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
CRGB lerp16 (const CRGB &other, fract16 frac) const
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
uint8_t getParity ()
 Returns 0 or 1, depending on the lowest bit of the sum of the color components.
 
void setParity (uint8_t parity)
 Adjusts the color in the smallest way possible so that the parity of the coloris now the desired value.
 

Public Attributes

union { 
 
   struct { 
 
      union { 
 
         uint8_t   r 
 Red channel value. More...
 
         uint8_t   red 
 Red channel value. More...
 
      }  
 
      union { 
 
         uint8_t   g 
 Green channel value. More...
 
         uint8_t   green 
 Green channel value. More...
 
      }  
 
      union { 
 
         uint8_t   b 
 Blue channel value. More...
 
         uint8_t   blue 
 Blue channel value. More...
 
      }  
 
   }  
 
   uint8_t   raw [3] 
 Access the red, green, and blue data as an array. More...
 
};  
 

Member Enumeration Documentation

◆ HTMLColorCode

Predefined RGB colors.

Enumerator
AliceBlue 
Amethyst 
AntiqueWhite 
Aqua 
Aquamarine 
Azure 
Beige 
Bisque 
Black 
BlanchedAlmond 
Blue 
BlueViolet 
Brown 
BurlyWood 
CadetBlue 
Chartreuse 
Chocolate 
Coral 
CornflowerBlue 
Cornsilk 
Crimson 
Cyan 
DarkBlue 
DarkCyan 
DarkGoldenrod 
DarkGray 
DarkGrey 
DarkGreen 
DarkKhaki 
DarkMagenta 
DarkOliveGreen 
DarkOrange 
DarkOrchid 
DarkRed 
DarkSalmon 
DarkSeaGreen 
DarkSlateBlue 
DarkSlateGray 
DarkSlateGrey 
DarkTurquoise 
DarkViolet 
DeepPink 
DeepSkyBlue 
DimGray 
DimGrey 
DodgerBlue 
FireBrick 
FloralWhite 
ForestGreen 
Fuchsia 
Gainsboro 
GhostWhite 
Gold 
Goldenrod 
Gray 
Grey 
Green 
GreenYellow 
Honeydew 
HotPink 
IndianRed 
Indigo 
Ivory 
Khaki 
Lavender 
LavenderBlush 
LawnGreen 
LemonChiffon 
LightBlue 
LightCoral 
LightCyan 
LightGoldenrodYellow 
LightGreen 
LightGrey 
LightPink 
LightSalmon 
LightSeaGreen 
LightSkyBlue 
LightSlateGray 
LightSlateGrey 
LightSteelBlue 
LightYellow 
Lime 
LimeGreen 
Linen 
Magenta 
Maroon 
MediumAquamarine 
MediumBlue 
MediumOrchid 
MediumPurple 
MediumSeaGreen 
MediumSlateBlue 
MediumSpringGreen 
MediumTurquoise 
MediumVioletRed 
MidnightBlue 
MintCream 
MistyRose 
Moccasin 
NavajoWhite 
Navy 
OldLace 
Olive 
OliveDrab 
Orange 
OrangeRed 
Orchid 
PaleGoldenrod 
PaleGreen 
PaleTurquoise 
PaleVioletRed 
PapayaWhip 
PeachPuff 
Peru 
Pink 
Plaid 
Plum 
PowderBlue 
Purple 
Red 
RosyBrown 
RoyalBlue 
SaddleBrown 
Salmon 
SandyBrown 
SeaGreen 
Seashell 
Sienna 
Silver 
SkyBlue 
SlateBlue 
SlateGray 
SlateGrey 
Snow 
SpringGreen 
SteelBlue 
Tan 
Teal 
Thistle 
Tomato 
Turquoise 
Violet 
Wheat 
White 
WhiteSmoke 
Yellow 
YellowGreen 
FairyLight 
FairyLightNCC 

Definition at line 663 of file pixeltypes.h.

Constructor & Destructor Documentation

◆ CRGB() [1/6]

CRGB::CRGB ( )
inlinedefault

Default constructor.

Warning
Default values are UNITIALIZED!

◆ CRGB() [2/6]

CRGB::CRGB ( uint8_t  ir,
uint8_t  ig,
uint8_t  ib 
)
inline

Allow construction from red, green, and blue.

Parameters
irinput red value
iginput green value
ibinput blue value

Definition at line 168 of file pixeltypes.h.

◆ CRGB() [3/6]

CRGB::CRGB ( uint32_t  colorcode)
inline

Allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 175 of file pixeltypes.h.

◆ CRGB() [4/6]

CRGB::CRGB ( LEDColorCorrection  colorcode)
inline

Allow construction from a LEDColorCorrection enum.

Parameters
colorcodean LEDColorCorrect enumeration value

Definition at line 182 of file pixeltypes.h.

◆ CRGB() [5/6]

CRGB::CRGB ( ColorTemperature  colorcode)
inline

Allow construction from a ColorTemperature enum.

Parameters
colorcodean ColorTemperature enumeration value

Definition at line 190 of file pixeltypes.h.

◆ CRGB() [6/6]

CRGB::CRGB ( const CHSV rhs)
inline

Allow construction from a CHSV color.

Definition at line 200 of file pixeltypes.h.

Member Function Documentation

◆ addToRGB()

CRGB & CRGB::addToRGB ( uint8_t  d)
inline

Add a constant to each channel, saturating at 0xFF.

Note
This is NOT an operator+= overload because the compiler can't usefully decide when it's being passed a 32-bit constant (e.g. CRGB::Red) and an 8-bit one (CRGB::Blue)

Definition at line 280 of file pixeltypes.h.

◆ fadeLightBy()

CRGB & CRGB::fadeLightBy ( uint8_t  fadefactor)
inline

fadeLightBy is a synonym for nscale8_video(), as a fade instead of a scale

Parameters
fadefactorthe amount to fade, sent to nscale8_video() as (255 - fadefactor)

Definition at line 389 of file pixeltypes.h.

◆ fadeToBlackBy()

CRGB & CRGB::fadeToBlackBy ( uint8_t  fadefactor)
inline

fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale

Parameters
fadefactorthe amount to fade, sent to nscale8() as (255 - fadefactor)
Examples
RGBSetDemo.ino.

Definition at line 437 of file pixeltypes.h.

◆ getAverageLight()

uint8_t CRGB::getAverageLight ( ) const
inline

Get the average of the R, G, and B values.

Examples
Pacifica.ino, and TwinkleFox.ino.

Definition at line 530 of file pixeltypes.h.

◆ getLuma()

uint8_t CRGB::getLuma ( ) const
inline

Get the "luma" of a CRGB object.

In other words, roughly how much light the CRGB pixel is putting out (from 0 to 255).

Definition at line 518 of file pixeltypes.h.

◆ getParity()

uint8_t CRGB::getParity ( )
inline

Returns 0 or 1, depending on the lowest bit of the sum of the color components.

Definition at line 587 of file pixeltypes.h.

◆ lerp16()

CRGB CRGB::lerp16 ( const CRGB other,
fract16  frac 
) const
inline

Return a new CRGB object after performing a linear interpolation between this object and the passed in object.

Definition at line 575 of file pixeltypes.h.

◆ lerp8()

CRGB CRGB::lerp8 ( const CRGB other,
fract8  frac 
) const
inline

Return a new CRGB object after performing a linear interpolation between this object and the passed in object.

Definition at line 563 of file pixeltypes.h.

◆ maximizeBrightness()

void CRGB::maximizeBrightness ( uint8_t  limit = 255)
inline

Maximize the brightness of this CRGB object.

This makes the individual color channels as bright as possible while keeping the same value differences between channels.

Note
This does not keep the same ratios between channels, just the same difference in absolute values.

Definition at line 548 of file pixeltypes.h.

◆ nscale8() [1/2]

CRGB & CRGB::nscale8 ( const CRGB scaledown)
inline

Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.

"Plain math" dimming rules means that the low light levels may dim all the way to 100% black.

See also
scale8

Definition at line 409 of file pixeltypes.h.

◆ nscale8() [2/2]

CRGB & CRGB::nscale8 ( uint8_t  scaledown)
inline

Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.

"Plain math" dimming rules means that the low light levels may dim all the way to 100% black.

See also
nscale8x3
Examples
Cylon.ino.

Definition at line 399 of file pixeltypes.h.

◆ nscale8_video()

CRGB & CRGB::nscale8_video ( uint8_t  scaledown)
inline

Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.

"Video" dimming rules means that unless the scale factor is ZERO each channel is guaranteed NOT to dim down to zero. If it's already nonzero, it'll stay nonzero, even if that means the hue shifts a little at low brightness levels.

See also
nscale8x3_video
Examples
TwinkleFox.ino.

Definition at line 373 of file pixeltypes.h.

◆ operator bool()

CRGB::operator bool ( ) const
inlineexplicit

This allows testing a CRGB for zero-ness.

Definition at line 480 of file pixeltypes.h.

◆ operator rgb24()

CRGB::operator rgb24 ( ) const
inline

Convert to an rgb24 object, used with the SmartMatrix library.

See also
https://github.com/pixelmatix/SmartMatrix

Definition at line 507 of file pixeltypes.h.

◆ operator uint32_t()

CRGB::operator uint32_t ( ) const
inlineexplicit

Converts a CRGB to a 32-bit color having an alpha of 255.

Definition at line 486 of file pixeltypes.h.

◆ operator%=()

CRGB & CRGB::operator%= ( uint8_t  scaledown)
inline

%= is a synonym for nscale8_video().

Think of it is scaling down by "a percentage"

Definition at line 381 of file pixeltypes.h.

◆ operator&=() [1/2]

CRGB & CRGB::operator&= ( const CRGB rhs)
inline

"and" operator brings each channel down to the lower of the two values

Definition at line 462 of file pixeltypes.h.

◆ operator&=() [2/2]

CRGB & CRGB::operator&= ( uint8_t  d)
inline

"and" operator brings each channel down to the lower of the two values

Definition at line 471 of file pixeltypes.h.

◆ operator*=()

CRGB & CRGB::operator*= ( uint8_t  d)
inline

Multiply each of the channels by a constant, saturating each channel at 0xFF.

Definition at line 359 of file pixeltypes.h.

◆ operator++() [1/2]

CRGB & CRGB::operator++ ( )
inline

Add a constant of '1' from each channel, saturating at 0xFF.

Definition at line 325 of file pixeltypes.h.

◆ operator++() [2/2]

CRGB CRGB::operator++ ( int  )
inline

Add a constant of '1' from each channel, saturating at 0xFF.

Definition at line 332 of file pixeltypes.h.

◆ operator+=()

CRGB & CRGB::operator+= ( const CRGB rhs)
inline

Add one CRGB to another, saturating at 0xFF for each channel.

Definition at line 268 of file pixeltypes.h.

◆ operator-()

CRGB CRGB::operator- ( ) const
inline

Invert each channel.

Definition at line 495 of file pixeltypes.h.

◆ operator--() [1/2]

CRGB & CRGB::operator-- ( )
inline

Subtract a constant of '1' from each channel, saturating at 0x00.

Definition at line 310 of file pixeltypes.h.

◆ operator--() [2/2]

CRGB CRGB::operator-- ( int  )
inline

Subtract a constant of '1' from each channel, saturating at 0x00.

Definition at line 317 of file pixeltypes.h.

◆ operator-=()

CRGB & CRGB::operator-= ( const CRGB rhs)
inline

Subtract one CRGB from another, saturating at 0x00 for each channel.

Definition at line 289 of file pixeltypes.h.

◆ operator/=()

CRGB & CRGB::operator/= ( uint8_t  d)
inline

Divide each of the channels by a constant.

Definition at line 340 of file pixeltypes.h.

◆ operator=() [1/2]

CRGB & CRGB::operator= ( const CHSV rhs)
inline

Allow assignment from HSV color.

Definition at line 250 of file pixeltypes.h.

◆ operator=() [2/2]

CRGB & CRGB::operator= ( const uint32_t  colorcode)
inline

Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 210 of file pixeltypes.h.

◆ operator>>=()

CRGB & CRGB::operator>>= ( uint8_t  d)
inline

Right shift each of the channels by a constant.

Definition at line 349 of file pixeltypes.h.

◆ operator[]() [1/2]

uint8_t & CRGB::operator[] ( uint8_t  x)
inline

Array access operator to index into the CRGB object.

Parameters
xthe index to retrieve (0-2)
Returns
the CRGB::raw value for the given index

Definition at line 147 of file pixeltypes.h.

◆ operator[]() [2/2]

const uint8_t & CRGB::operator[] ( uint8_t  x) const
inline

Array access operator to index into the CRGB object.

Parameters
xthe index to retrieve (0-2)
Returns
the CRGB::raw value for the given index

Definition at line 155 of file pixeltypes.h.

◆ operator|=() [1/2]

CRGB & CRGB::operator|= ( const CRGB rhs)
inline

"or" operator brings each channel up to the higher of the two values

Definition at line 444 of file pixeltypes.h.

◆ operator|=() [2/2]

CRGB & CRGB::operator|= ( uint8_t  d)
inline

"or" operator brings each channel up to the higher of the two values

Definition at line 453 of file pixeltypes.h.

◆ scale8() [1/2]

CRGB CRGB::scale8 ( const CRGB scaledown) const
inline

Return a CRGB object that is a scaled down version of this object.

Definition at line 426 of file pixeltypes.h.

◆ scale8() [2/2]

CRGB CRGB::scale8 ( uint8_t  scaledown) const
inline

Return a CRGB object that is a scaled down version of this object.

Definition at line 418 of file pixeltypes.h.

◆ setColorCode()

CRGB & CRGB::setColorCode ( uint32_t  colorcode)
inline

Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 258 of file pixeltypes.h.

◆ setHSV()

CRGB & CRGB::setHSV ( uint8_t  hue,
uint8_t  sat,
uint8_t  val 
)
inline

Allow assignment from hue, saturation, and value.

Parameters
huecolor hue
satcolor saturation
valcolor value (brightness)

Definition at line 234 of file pixeltypes.h.

◆ setHue()

CRGB & CRGB::setHue ( uint8_t  hue)
inline

Allow assignment from just a hue.

Saturation and value (brightness) are set automatically to max.

Parameters
huecolor hue

Definition at line 243 of file pixeltypes.h.

◆ setParity()

void CRGB::setParity ( uint8_t  parity)
inline

Adjusts the color in the smallest way possible so that the parity of the coloris now the desired value.

This allows you to "hide" one bit of information in the color.

Ideally, we find one color channel which already has data in it, and modify just that channel by one. We don't want to light up a channel that's black if we can avoid it, and if the pixel is 'grayscale', (meaning that R==G==B), we modify all three channels at once, to preserve the neutral hue.

There's no such thing as a free lunch; in many cases this "hidden bit" may actually be visible, but this code makes reasonable efforts to hide it as much as is reasonably possible.

Also, an effort is made to make it such that repeatedly setting the parity to different values will not cause the color to "drift". Toggling the parity twice should generally result in the original color again.

Definition at line 615 of file pixeltypes.h.

◆ setRGB()

CRGB & CRGB::setRGB ( uint8_t  nr,
uint8_t  ng,
uint8_t  nb 
)
inline

Allow assignment from red, green, and blue.

Parameters
nrnew red value
ngnew green value
nbnew blue value

Definition at line 222 of file pixeltypes.h.

◆ subtractFromRGB()

CRGB & CRGB::subtractFromRGB ( uint8_t  d)
inline

Subtract a constant from each channel, saturating at 0x00.

Note
This is NOT an operator+= overload because the compiler can't usefully decide when it's being passed a 32-bit constant (e.g. CRGB::Red) and an 8-bit one (CRGB::Blue)

Definition at line 301 of file pixeltypes.h.

Member Data Documentation

◆ b

uint8_t CRGB::b

Blue channel value.

Examples
AnalogOutput.ino, and TwinkleFox.ino.

Definition at line 132 of file pixeltypes.h.

◆ blue

uint8_t CRGB::blue

Blue channel value.

Examples
Pacifica.ino.

Definition at line 133 of file pixeltypes.h.

◆ g

uint8_t CRGB::g

Green channel value.

Examples
AnalogOutput.ino, and TwinkleFox.ino.

Definition at line 128 of file pixeltypes.h.

◆ green

uint8_t CRGB::green

Green channel value.

Examples
Pacifica.ino.

Definition at line 129 of file pixeltypes.h.

◆ r

uint8_t CRGB::r

Red channel value.

Examples
AnalogOutput.ino.

Definition at line 124 of file pixeltypes.h.

◆ raw

uint8_t CRGB::raw[3]

Access the red, green, and blue data as an array.

Where:

  • raw[0] is the red value
  • raw[1] is the green value
  • raw[2] is the blue value

Definition at line 141 of file pixeltypes.h.

◆ red

uint8_t CRGB::red

Red channel value.

Definition at line 125 of file pixeltypes.h.


The documentation for this struct was generated from the following file: