722 {
727 constexpr s16x16 half(0.5f);
728 constexpr s16x16 two_pi(6.2831853f);
729 s16x16 fn = s16x16(n);
730 s16x16 inv_fn = s16x16(1) / fn;
731 s16x16 ocx = s16x16(w) * half - half;
732 s16x16 ocy = s16x16(h) * half - half;
733 s16x16 orad = s16x16(minDim) * s16x16(0.35f);
734 s16x16 base =
t * s16x16(3);
735 constexpr s16x16 dotDiam(1.5f);
736 s16x16
step = two_pi * inv_fn;
737
738 for (int i = 0; i < n; i++) {
739 s16x16 a = base + s16x16(i) *
step;
740 s16x16 sin_a, cos_a;
742 s16x16 cx = ocx + cos_a * orad;
743 s16x16 cy = ocy + sin_a * orad;
745 drawDot(cx, cy, dotDiam, c.r, c.g, c.b);
746 }
747}
void drawDot(s16x16 cx, s16x16 cy, s16x16 diam, u8 cr, u8 cg, u8 cb)
static FASTLED_FORCE_INLINE void sincos(s16x16 angle, s16x16 &out_sin, s16x16 &out_cos) FL_NOEXCEPT
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
constexpr enable_if< is_fixed_point< T >::value, T >::type step(T edge, T x) FL_NOEXCEPT