FastLED 3.9.15
Loading...
Searching...
No Matches
wave3.cpp.hpp File Reference

Detailed Description

Wave3 waveform generation and transposition implementation.

This file contains:

  • Non-ISR LUT builder (buildWave3ExpansionLUT)
  • canUseWave3() eligibility check
  • wave3ClockFrequencyHz() clock calculation
  • Public transposition functions (wave3Transpose_2/4/8/16)
  • Untranspose functions (for testing)

Definition in file wave3.cpp.hpp.

+ Include dependency graph for wave3.cpp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fl
 Base definition for an LED controller.
 

Functions

FL_OPTIMIZE_FUNCTION Wave3BitExpansionLut fl::buildWave3ExpansionLUT (const ChipsetTiming &timing)
 Build a Wave3BitExpansionLut from chipset timing data.
 
FL_OPTIMIZE_FUNCTION bool fl::canUseWave3 (const ChipsetTiming &timing)
 Check if a chipset timing is eligible for wave3 encoding.
 
FL_OPTIMIZE_FUNCTION u32 fl::wave3ClockFrequencyHz (const ChipsetTiming &timing)
 Calculate the clock frequency for wave3 encoding.
 
FL_OPTIMIZE_FUNCTION FL_IRAM void fl::wave3Transpose_16 (const u8(&FL_RESTRICT_PARAM lanes)[16], const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[16 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION FL_IRAM void fl::wave3Transpose_2 (const u8(&FL_RESTRICT_PARAM lanes)[2], const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[2 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION FL_IRAM void fl::wave3Transpose_4 (const u8(&FL_RESTRICT_PARAM lanes)[4], const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[4 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION FL_IRAM void fl::wave3Transpose_8 (const u8(&FL_RESTRICT_PARAM lanes)[8], const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[8 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION void fl::wave3Untranspose_16 (const u8(&FL_RESTRICT_PARAM transposed)[16 *sizeof(Wave3Byte)], u8(&FL_RESTRICT_PARAM output)[16 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION void fl::wave3Untranspose_2 (const u8(&FL_RESTRICT_PARAM transposed)[2 *sizeof(Wave3Byte)], u8(&FL_RESTRICT_PARAM output)[2 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION void fl::wave3Untranspose_4 (const u8(&FL_RESTRICT_PARAM transposed)[4 *sizeof(Wave3Byte)], u8(&FL_RESTRICT_PARAM output)[4 *sizeof(Wave3Byte)])
 
FL_OPTIMIZE_FUNCTION void fl::wave3Untranspose_8 (const u8(&FL_RESTRICT_PARAM transposed)[8 *sizeof(Wave3Byte)], u8(&FL_RESTRICT_PARAM output)[8 *sizeof(Wave3Byte)])