25 #ifndef ACE_SEGMENT_RENDERER_BUILDER_H 26 #define ACE_SEGMENT_RENDERER_BUILDER_H 48 mStyledDigits(styledDigits),
49 mNumDigits(numDigits),
50 mFramesPerSecond(kFramesPerSecondDefault),
51 mStatsResetInterval(kStatsResetIntervalDefault),
52 mBlinkSlowDurationMillis(kBlinkSlowDurationMillisDefault),
53 mBlinkFastDurationMillis(kBlinkFastDurationMillisDefault),
54 mPulseSlowDurationMillis(kPulseSlowDurationMillisDefault),
55 mPulseFastDurationMillis(kPulseFastDurationMillisDefault)
71 mFramesPerSecond = framesPerSecond;
83 mStatsResetInterval = statsResetInterval;
89 mBlinkSlowDurationMillis = durationMillis;
95 mBlinkFastDurationMillis = durationMillis;
101 mPulseSlowDurationMillis = durationMillis;
107 mPulseFastDurationMillis = durationMillis;
116 return new Renderer(mHardware, mDriver, mStyledDigits, mNumDigits,
117 mFramesPerSecond, mStatsResetInterval,
118 mBlinkSlowDurationMillis, mBlinkFastDurationMillis,
119 mPulseSlowDurationMillis, mPulseFastDurationMillis);
123 static const uint8_t kFramesPerSecondDefault = 60;
125 static const uint16_t kStatsResetIntervalDefault = 1200;
127 static const uint16_t kBlinkSlowDurationMillisDefault = 800;
129 static const uint16_t kBlinkFastDurationMillisDefault = 400;
131 static const uint16_t kPulseSlowDurationMillisDefault = 3000;
133 static const uint16_t kPulseFastDurationMillisDefault = 1000;
138 uint8_t
const mNumDigits;
139 uint8_t mFramesPerSecond;
140 uint16_t mStatsResetInterval;
141 uint16_t mBlinkSlowDurationMillis;
142 uint16_t mBlinkFastDurationMillis;
143 uint16_t mPulseSlowDurationMillis;
144 uint16_t mPulseFastDurationMillis;
RendererBuilder & setFramesPerSecond(uint8_t framesPerSecond)
Set the desired frame rate.
RendererBuilder & setStatsResetInterval(uint16_t statsResetInterval)
Set the maximum number of stats updates after which it is periodicallly reset.
Data structure that keeps track of the state of each digit (its segment bit pattern and its style)...
A class that knows how to translate an array of led segement bit patterns with style attributes to a ...
RendererBuilder & setBlinkFastDuration(uint16_t durationMillis)
Set blink fast duration millis.
RendererBuilder(Hardware *hardware, Driver *driver, StyledDigit *styledDigits, uint8_t numDigits)
Constructor.
RendererBuilder & setBlinkSlowDuration(uint16_t durationMillis)
Set blink slow duration millis.
Renderer * build()
Return a new instance of Renderer with the various configurable parameters.
A builder for the Renderer.
Base class of drivers which knows how to transfer the bit patterns stored in the array of DimmingDigi...
RendererBuilder & setPulseSlowDuration(uint16_t durationMillis)
Set pulse slow duration millis.
RendererBuilder & setPulseFastDuration(uint16_t durationMillis)
Set pulse fast duration millis.