FastLED 3.9.15
Loading...
Searching...
No Matches

◆ get_platform_time()

fl::u32 fl::anonymous_namespace{time.cpp}::get_platform_time ( )

Get platform-specific time in milliseconds This function contains all platform-specific timing code.

Definition at line 98 of file time.cpp.

98 {
99#if defined(__EMSCRIPTEN__)
100 // WASM platform - delegate to existing millis() implementation
101 return static_cast<fl::u32>(millis());
102
103#elif defined(ESP32) || defined(ESP8266)
104 // ESP platforms - use Arduino millis()
105 return static_cast<fl::u32>(millis());
106
107#elif defined(__AVR__)
108 // AVR platforms - use Arduino millis()
109 return static_cast<fl::u32>(millis());
110
111#elif defined(FASTLED_ARM)
112 // ARM platforms - use Arduino millis()
113 return static_cast<fl::u32>(millis());
114
115#elif defined(FASTLED_STUB_IMPL)
116 // Stub platform - delegate to existing stub millis() implementation
117 return static_cast<fl::u32>(millis());
118
119#elif defined(FASTLED_TESTING) || defined(__linux__) || defined(__APPLE__) || defined(_WIN32)
120 // Native platforms - use std::chrono with consistent start time
121 auto current_time = std::chrono::steady_clock::now();
122 auto elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(current_time - start_time);
123 return static_cast<fl::u32>(elapsed.count());
124
125#else
126 // Default fallback - assume Arduino-compatible millis() is available
127 return static_cast<fl::u32>(millis());
128
129#endif
130}

References get_platform_time().

Referenced by get_platform_time().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: