FastLED 3.10.8
Loading...
Searching...
No Matches
pin_probe.h
Go to the documentation of this file.
1#pragma once
2
13
14#include "fl/stl/noexcept.h"
15#include "fl/stl/stdint.h"
16
17namespace fl {
18
20constexpr u64 pinMaskBit(int pin) FL_NO_EXCEPT {
21 return (pin >= 0 && pin < 64) ? (u64(1) << pin) : u64(0);
22}
23
27const char* pinProbeSkipReason(int pin) FL_NO_EXCEPT;
28
31const char* pinProbeDriveSkipReason(int pin) FL_NO_EXCEPT;
32
35
38
39} // namespace fl
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Definition blur.h:186
constexpr u64 pinMaskBit(int pin) FL_NO_EXCEPT
Bit for pin in a 64-bit pin mask; 0 when pin is outside [0, 64).
Definition pin_probe.h:20
u64 pinUnsafeForProbeMask() FL_NO_EXCEPT
Mask of pins 0..63 that isPinUnsafeToProbe rejects (0 = none).
const char * pinProbeDriveSkipReason(int pin) FL_NO_EXCEPT
Why a probe may read pin but must not drive it, or nullptr when it may drive it.
const char * pinProbeSkipReason(int pin) FL_NO_EXCEPT
Why a probe must not touch pin at all (no pinMode, read or write), or nullptr when it may.
bool isPinUnsafeToProbe(int pin) FL_NO_EXCEPT
True when pinProbeSkipReason(pin) is non-null.
Base definition for an LED controller.
Definition crgb.hpp:179
#define FL_NO_EXCEPT
fl::u64 u64
Definition stdint.h:220