1#ifndef __INC_FL_PROGMEM_H
2#define __INC_FL_PROGMEM_H
26#define FASTLED_USE_PROGMEM 1
35#if (FASTLED_USE_PROGMEM == 1) || defined(FASTLED_DOXYGEN)
36#ifndef FASTLED_INCLUDE_PGMSPACE
37#define FASTLED_INCLUDE_PGMSPACE 1
40#if FASTLED_INCLUDE_PGMSPACE == 1
41#include <avr/pgmspace.h>
45#define FL_PROGMEM PROGMEM
58#define FL_PGM_READ_BYTE_NEAR(x) (pgm_read_byte_near(x))
60#define FL_PGM_READ_WORD_NEAR(x) (pgm_read_word_near(x))
62#define FL_PGM_READ_DWORD_NEAR(x) (pgm_read_dword_near(x))
67#if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6))
71#define PROGMEM __attribute__((section(".progmem.data")))
82#define FL_PGM_READ_BYTE_NEAR(x) (*((const uint8_t*)(x)))
83#define FL_PGM_READ_WORD_NEAR(x) (*((const uint16_t*)(x)))
84#define FL_PGM_READ_DWORD_NEAR(x) (*((const uint32_t*)(x)))
98#if defined(FASTLED_ARM) || defined(ESP32) || defined(ESP8266) || defined(FASTLED_DOXYGEN)
99#define FL_ALIGN_PROGMEM __attribute__ ((aligned (4)))
101#define FL_ALIGN_PROGMEM
central include file for FastLED, defines the CFastLED class/object
Implements the FastLED namespace macros.