| 250 | } |
| 251 | |
| 252 | bool CoroutinePlatformTeensy::checkStackHealth(void* ctx) const FL_NOEXCEPT { |
| 253 | if (!ctx) return true; |
| 254 | auto* state = static_cast<TeensyContextState*>(ctx); |
| 255 | if (!state->stack_base) return true; // runner has no managed stack |
| 256 | const fl::u32* canary = |
| 257 | reinterpret_cast<const fl::u32*>(state->stack_base); // ok reinterpret cast |
| 258 | return *canary == kStackCanaryValue; |
| 259 | } |
| 260 | |
| 261 | fl::u32 CoroutinePlatformTeensy::micros() const FL_NOEXCEPT { |
| 262 | return static_cast<fl::u32>(::micros()); |