RSeries astromech firmware
LogicEngine.h File Reference
#include "ReelTwo.h"
#include "core/LEDPixelEngine.h"
#include "core/SetupEvent.h"
#include "core/AnimatedEvent.h"
#include "core/CommandEvent.h"
#include "core/JawaEvent.h"
#include "core/PeakValueProvider.h"
#include "core/Font.h"
+ Include dependency graph for LogicEngine.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LEDStatus
 Current color number and pause value for a single LED. More...
 
class  LogicEngineDefaults
 Default settings for LogicEngine hardware. More...
 
class  LogicEngineSettings
 Current settings for LogicEngine hardware. More...
 
class  LogicEffectObject
 
class  LogicEngineRenderer
 Base class renderer for both front and rear RSeries logics. More...
 

Typedefs

typedef LogicEngineRenderer::LogicEffect LogicEffect
 
typedef LogicEngineRenderer::LogicEffectSelector LogicEffectSelector
 
typedef LogicEngineRenderer::LogicRenderGlyph LogicRenderGlyph
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using AstroPixelFLD = LogicEngineDisplay< AstroPixelFLDPCB0< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using AstroPixelRLD = LogicEngineDisplay< AstroPixelRLDPCB0< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kNone > >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineNabooFLD = LogicEngineDisplay< LogicEngineFLDPCB0< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineNabooRLD = LogicEngineDisplay< LogicEngineRLDPCB0< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kEven > >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineKennyFLD = LogicEngineDisplay< LogicEngineFLDPCB1< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineKennyRLD = LogicEngineDisplay< LogicEngineRLDPCB1< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kEven > >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineSuperRLD = LogicEngineDisplay< LogicEngineRLDPCBSUPER< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineDeathStarFLD = LogicEngineDisplay< LogicEngineFLDPCB2< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineDeathStarFLDInverted = LogicEngineDisplay< LogicEngineFLDPCB2Inverted< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLD = LogicEngineDisplay< LogicEngineRLDPCB2< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kEven > >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDStaggerOdd = LogicEngineDisplay< LogicEngineRLDPCB2< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kOdd > >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDInverted = LogicEngineDisplay< LogicEngineRLDPCB2Inverted< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kEven > >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDInvertedStaggerOdd = LogicEngineDisplay< LogicEngineRLDPCB2Inverted< DATA_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kOdd > >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineCurvedFLD = LogicEngineDisplay< LogicEngineFLDPCB2< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineCurvedFLDInverted = LogicEngineDisplay< LogicEngineFLDPCB2Inverted< DATA_PIN >, LogicRenderGlyph5Pt >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN, uint8_t CLOCK_PIN = REAR_LOGIC_CLOCK_PIN>
using LogicEngineCurvedRLD = LogicEngineDisplay< LogicEngineRLDPCB3< DATA_PIN, CLOCK_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kNone > >
 
template<uint8_t DATA_PIN = REAR_LOGIC_PIN, uint8_t CLOCK_PIN = REAR_LOGIC_CLOCK_PIN>
using LogicEngineCurvedRLDInverted = LogicEngineDisplay< LogicEngineRLDPCB3Inverted< DATA_PIN, CLOCK_PIN >, LogicRenderGlyph4Pt< LogicStaggerType::kNone > >
 

Enumerations

enum  LogicStaggerType { kNone, kEven, kOdd }
 

Functions

LogicEffect LogicEffectDefaultSelector (unsigned effectVal)
 
byte getlsbposm1 (byte x)
 
template<LogicStaggerType staggerType>
byte LogicRenderGlyph4Pt (char ch, byte fontNum, const CRGB fontColors[], int x, int y, CRGB *leds, const byte *ledMap, int w, int h, byte *outGlyphHeight)
 

Typedef Documentation

◆ AstroPixelFLD

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using AstroPixelFLD = LogicEngineDisplay<AstroPixelFLDPCB0<DATA_PIN>, LogicRenderGlyph5Pt>

◆ AstroPixelRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using AstroPixelRLD = LogicEngineDisplay<AstroPixelRLDPCB0<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kNone> >

◆ LogicEffect

typedef LogicEngineRenderer::LogicEffect LogicEffect

◆ LogicEffectSelector

typedef LogicEngineRenderer::LogicEffectSelector LogicEffectSelector

◆ LogicEngineCurvedFLD

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineCurvedFLD = LogicEngineDisplay<LogicEngineFLDPCB2<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineCurvedFLDInverted

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineCurvedFLDInverted = LogicEngineDisplay<LogicEngineFLDPCB2Inverted<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineCurvedRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN, uint8_t CLOCK_PIN = REAR_LOGIC_CLOCK_PIN>
using LogicEngineCurvedRLD = LogicEngineDisplay<LogicEngineRLDPCB3<DATA_PIN, CLOCK_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kNone> >

◆ LogicEngineCurvedRLDInverted

template<uint8_t DATA_PIN = REAR_LOGIC_PIN, uint8_t CLOCK_PIN = REAR_LOGIC_CLOCK_PIN>
using LogicEngineCurvedRLDInverted = LogicEngineDisplay<LogicEngineRLDPCB3Inverted<DATA_PIN, CLOCK_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kNone> >

◆ LogicEngineDeathStarFLD

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineDeathStarFLD = LogicEngineDisplay<LogicEngineFLDPCB2<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineDeathStarFLDInverted

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineDeathStarFLDInverted = LogicEngineDisplay<LogicEngineFLDPCB2Inverted<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineDeathStarRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLD = LogicEngineDisplay<LogicEngineRLDPCB2<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kEven> >

◆ LogicEngineDeathStarRLDInverted

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDInverted = LogicEngineDisplay<LogicEngineRLDPCB2Inverted<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kEven> >

◆ LogicEngineDeathStarRLDInvertedStaggerOdd

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDInvertedStaggerOdd = LogicEngineDisplay<LogicEngineRLDPCB2Inverted<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kOdd> >

◆ LogicEngineDeathStarRLDStaggerOdd

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineDeathStarRLDStaggerOdd = LogicEngineDisplay<LogicEngineRLDPCB2<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kOdd> >

◆ LogicEngineKennyFLD

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineKennyFLD = LogicEngineDisplay<LogicEngineFLDPCB1<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineKennyRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineKennyRLD = LogicEngineDisplay<LogicEngineRLDPCB1<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kEven> >

◆ LogicEngineNabooFLD

template<uint8_t DATA_PIN = FRONT_LOGIC_PIN>
using LogicEngineNabooFLD = LogicEngineDisplay<LogicEngineFLDPCB0<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicEngineNabooRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineNabooRLD = LogicEngineDisplay<LogicEngineRLDPCB0<DATA_PIN>, LogicRenderGlyph4Pt<LogicStaggerType::kEven> >

◆ LogicEngineSuperRLD

template<uint8_t DATA_PIN = REAR_LOGIC_PIN>
using LogicEngineSuperRLD = LogicEngineDisplay<LogicEngineRLDPCBSUPER<DATA_PIN>, LogicRenderGlyph5Pt>

◆ LogicRenderGlyph

typedef LogicEngineRenderer::LogicRenderGlyph LogicRenderGlyph

Enumeration Type Documentation

◆ LogicStaggerType

Enumerator
kNone 
kEven 
kOdd 

Function Documentation

◆ getlsbposm1()

byte getlsbposm1 ( byte  x)

◆ LogicEffectDefaultSelector()

LogicEffect LogicEffectDefaultSelector ( unsigned  effectVal)

◆ LogicRenderGlyph4Pt()

template<LogicStaggerType staggerType>
byte LogicRenderGlyph4Pt ( char  ch,
byte  fontNum,
const CRGB  fontColors[],
int  x,
int  y,
CRGB *  leds,
const byte *  ledMap,
int  w,
int  h,
byte *  outGlyphHeight 
)