FastLED
3.9.15
Loading...
Searching...
No Matches
led_sysdefs.h
Go to the documentation of this file.
1
#pragma once
2
3
#ifndef __INC_LED_SYSDEFS_H
4
#define __INC_LED_SYSDEFS_H
5
6
#include "
fastled_config.h
"
7
8
// Include ARM platform detection before any ARM headers
9
#include "platforms/arm/is_arm.h"
// ok platform headers
10
11
// Ensure fl:: integer types are available for platform sysdefs headers
12
// (e.g. led_sysdefs_arm_mxrt1062.h uses fl::u32 for RwReg/RoReg)
13
#include "
fl/stl/stdint.h
"
// IWYU pragma: keep
14
15
// Arduino.h needed for convenience functions digitalPinToPort/BitMask/portOutputRegister and the pinMode methods.
16
#if defined(ARDUINO) && !defined(__EMSCRIPTEN__)
17
// IWYU pragma: begin_keep
18
#include "
fl/system/arduino.h
"
19
// IWYU pragma: end_keep // ok include
20
#endif
21
24
25
#if defined(FL_IS_ARM_LPC)
26
#include "platforms/arm/lpc/led_sysdefs_arm_lpc.h"
// ok platform headers
27
#elif defined(NRF51) || defined(__RFduino__) || defined (__Simblee__)
28
#include "platforms/arm/nrf51/led_sysdefs_arm_nrf51.h"
// ok platform headers
29
#elif defined(NRF52_SERIES) || defined(NRF52840_XXAA)
30
#include "platforms/arm/nrf52/led_sysdefs_arm_nrf52.h"
// ok platform headers
31
#elif defined(__MK20DX128__) || defined(__MK20DX256__)
32
// Teensy 3.0/3.1/3.2 (MK20DX Cortex-M4)
33
#include "platforms/arm/teensy/teensy31_32/led_sysdefs_arm_k20.h"
// ok platform headers
34
#elif defined(__MK66FX1M0__) || defined(__MK64FX512__)
35
// Teensy 3.5/3.6 (MK64/MK66 Cortex-M4)
36
#include "platforms/arm/teensy/teensy36/led_sysdefs_arm_k66.h"
// ok platform headers
37
#elif defined(__MKL26Z64__)
38
// Teensy LC (MKL26Z64 Cortex-M0+)
39
#include "platforms/arm/teensy/teensy_lc/led_sysdefs_arm_kl26.h"
// ok platform headers
40
#elif defined(__IMXRT1062__)
41
// Teensy 4.0/4.1 (IMXRT1062 Cortex-M7)
42
#include "platforms/arm/teensy/teensy4_common/led_sysdefs_arm_mxrt1062.h"
// ok platform headers
43
#elif defined(__SAM3X8E__)
44
// Include sam/due headers
45
#include "platforms/arm/sam/led_sysdefs_arm_sam.h"
// ok platform headers
46
#elif defined(STM32F10X_MD) || defined(__STM32F1__) || defined(STM32F1) || defined(STM32F1xx) || defined(STM32F2XX) || defined(STM32F4) || defined(STM32U5) || defined(STM32U5xx) || defined(STM32U585xx) || defined(STM32U585XX) || defined(ARDUINO_UNO_Q) || defined(CONFIG_BOARD_ARDUINO_UNO_Q) || defined(CONFIG_SOC_STM32U585XX)
47
#include "platforms/arm/stm32/led_sysdefs_arm_stm32.h"
// ok platform headers
48
#elif defined(__SAMD21G18A__) || defined(__SAMD21J18A__) || defined(__SAMD21E17A__) || defined(__SAMD21E18A__)
49
#include "platforms/arm/d21/led_sysdefs_arm_d21.h"
// ok platform headers
50
#elif defined(__SAMD51G19A__) || defined(__SAMD51J19A__) || defined(__SAME51J19A__) || defined(__SAMD51P19A__) || defined(__SAMD51P20A__)
51
#include "platforms/arm/d51/led_sysdefs_arm_d51.h"
// ok platform headers
52
#elif defined(ARDUINO_ARCH_RP2350) || defined(PICO_RP2350)
53
#include "platforms/arm/rp/rp2350/led_sysdefs_arm_rp2350.h"
// ok platform headers
54
#elif defined(ARDUINO_ARCH_RP2040)
// not sure a pico-sdk define for this
55
// RP2040 (Raspberry Pi Pico etc)
56
#include "platforms/arm/rp/rp2040/led_sysdefs_arm_rp2040.h"
// ok platform headers
57
#elif defined(ESP8266)
58
#include "platforms/esp/8266/led_sysdefs_esp8266.h"
// ok platform headers
59
#elif defined(ESP32)
60
#include "platforms/esp/32/core/led_sysdefs_esp32.h"
// ok platform headers
61
#elif defined(__AVR__) || defined(__AVR_ATmega4809__)
62
// AVR platforms
63
#include "platforms/avr/led_sysdefs_avr.h"
// ok platform headers
64
#elif defined(ARDUINO_ARCH_APOLLO3)
65
// Apollo3 platforms (e.g. the Ambiq Micro Apollo3 Blue as used by the SparkFun Artemis platforms)
66
#include "platforms/apollo3/led_sysdefs_apollo3.h"
// ok platform headers
67
#elif defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_RENESAS_UNO) || defined(ARDUINO_ARCH_RENESAS_PORTENTA)
68
#include "platforms/arm/renesas/led_sysdef_arm_renesas.h"
// ok platform headers
69
#elif defined(ARDUINO_GIGA)|| defined(ARDUINO_GIGA_M7)
70
#include "platforms/arm/giga/led_sysdef_arm_giga.h"
// ok platform headers
71
#elif defined(ARDUINO_ARCH_SILABS)
72
// Silicon Labs MGM240 (Arduino Nano Matter, SparkFun Thing Plus Matter)
73
#include "platforms/arm/mgm240/led_sysdefs_arm_mgm240.h"
// ok platform headers
74
#elif defined(__x86_64__) || defined(FASTLED_STUB_IMPL) || defined(__APPLE__) || defined(__linux__) || defined(__unix__) || defined(__EMSCRIPTEN__)
75
// Not on a microcontroller
76
//# ifdef FASTLED_HAS_PRAGMA_MESSAGE
77
//# pragma message "Using stub, no data will be written to pins"
78
//# else
79
//# warning "Using stub, no data will be written to pins"
80
//# endif
81
#include "platforms/stub/led_sysdefs_stub.h"
// ok platform headers
82
#else
83
//
84
// We got here because we don't recognize the platform that you're
85
// trying to compile for: it's not AVR, or an ESP or ARM that we recognize.
86
//
87
// If you're reading this because you got the error below,
88
// and if this new platform is just a minor variant of an
89
// existing supported ARM platform, you may be able to add
90
// a new 'defined(XXX)' selector in the apporpriate code above.
91
//
92
// If this platform is a new microcontroller, see "PORTING.md".
93
//
94
#error "This platform isn't recognized by FastLED... yet. See comments in FastLED/led_sysdefs.h for options."
95
#endif
96
99
#define CLKS_PER_US (F_CPU/1000000)
100
101
#endif
arduino.h
fastled_config.h
Contains definitions that can be used to configure FastLED at compile time.
stdint.h
led_sysdefs.h
Generated on Tue Jun 16 2026 00:07:00 for FastLED by
1.13.2