AceSegment  0.3.0
An adjustable, configurable, and extensible framework for rendering seven segment LED displays.
Public Member Functions | Protected Attributes | List of all members
ace_segment::ModulatingDigitDriver Class Reference
Inheritance diagram for ace_segment::ModulatingDigitDriver:
Inheritance graph
[legend]
Collaboration diagram for ace_segment::ModulatingDigitDriver:
Collaboration graph
[legend]

Public Member Functions

 ModulatingDigitDriver (LedMatrix *ledMatrix, DimmablePattern *dimmablePatterns, uint8_t numDigits, uint8_t numSubFields, bool ownsLedMatrix=false)
 Constructor. More...
 
virtual void configure () override
 Configure the driver. More...
 
virtual uint16_t getFieldsPerFrame () override
 Return number of fields per frame. More...
 
virtual bool isBrightnessSupported () override
 Returns true if the driver supports brightness. More...
 
virtual void displayCurrentField () override
 Display the current field of the frame. More...
 
- Public Member Functions inherited from ace_segment::DigitDriver
 DigitDriver (LedMatrix *ledMatrix, DimmablePattern *dimmablePatterns, uint8_t numDigits, bool ownsLedMatrix=false)
 Constructor. More...
 
virtual void prepareToSleep () override
 Prepare to go to sleep by clearing the frame, and setting a flag so that it doesn't turn itself back on through an interrupt.
 
- Public Member Functions inherited from ace_segment::Driver
virtual ~Driver ()
 Virtual destructor needed to clean up LedMatrix that was created on the heap by DriverBuilder. More...
 
virtual void finish ()
 Turn off the LEDs by doing the opposite of configure(). More...
 
virtual void wakeFromSleep ()
 Wake up from sleep. More...
 
void setPattern (uint8_t digit, SegmentPatternType pattern, uint8_t brightness=DimmablePattern::kOn)
 Set the pattern for a given digit. More...
 
void setBrightness (uint8_t digit, uint8_t brightness)
 Set the brightness of the given digit. More...
 

Protected Attributes

uint8_t const mNumSubFields
 
uint8_t mCurrentSubField
 
uint8_t mCurrentSubFieldMax
 
bool mIsPrevDigitOn
 Whether the previous digit was turned on or off. More...
 
- Protected Attributes inherited from ace_segment::DigitDriver
uint8_t mCurrentDigit
 Within the displayCurrentField() method, mCurrentDigit is the current digit that is being drawn. More...
 
uint8_t mPrevDigit
 Within the displayCurrentField() method, the mPrevDigit is the digit that was displayed on the previous call to displayCurrentField(). More...
 
SegmentPatternType mSegmentPattern
 
- Protected Attributes inherited from ace_segment::Driver
LedMatrix *const mLedMatrix
 
DimmablePattern *const mDimmablePatterns
 
const uint8_t mNumDigits
 
const bool mOwnsLedMatrix
 
volatile bool mPreparedToSleep
 

Additional Inherited Members

- Public Types inherited from ace_segment::Driver
typedef uint8_t SegmentPatternType
 Integer type used to store the segment bit patterns of a single digit. More...
 
typedef uint8_t DigitPatternType
 Integer type used to store the digit bit patterns of a single segment. More...
 
- Protected Member Functions inherited from ace_segment::Driver
 Driver (const Driver &)=delete
 
Driveroperator= (const Driver &)=delete
 
 Driver (LedMatrix *ledMatrix, DimmablePattern *dimmablePatterns, uint8_t numDigits, bool ownsLedMatrix=false)
 Constructor. More...
 
- Static Protected Attributes inherited from ace_segment::Driver
static const uint8_t kNumSegments = 8
 Number of segments on a single digit. More...
 

Detailed Description

Definition at line 35 of file ModulatingDigitDriver.h.

Constructor & Destructor Documentation

◆ ModulatingDigitDriver()

ace_segment::ModulatingDigitDriver::ModulatingDigitDriver ( LedMatrix ledMatrix,
DimmablePattern dimmablePatterns,
uint8_t  numDigits,
uint8_t  numSubFields,
bool  ownsLedMatrix = false 
)
inlineexplicit

Constructor.

Definition at line 38 of file ModulatingDigitDriver.h.

Member Function Documentation

◆ configure()

virtual void ace_segment::ModulatingDigitDriver::configure ( )
inlineoverridevirtual

Configure the driver.

Usually called only once in a program. Sometimes unit tests may call it twice.

Reimplemented from ace_segment::DigitDriver.

Definition at line 45 of file ModulatingDigitDriver.h.

◆ displayCurrentField()

void ace_segment::ModulatingDigitDriver::displayCurrentField ( )
overridevirtual

Display the current field of the frame.

Automatically advances to the next field for the next call. A frame is one complete rendering of all the digits. A field is a slice of that frame. If the digits are multiplexed, then a field is a rendering of a single digit with all its segments. If the segments are multiplexed, then a field is a rendering of a single segment across multiple digits.

Reimplemented from ace_segment::DigitDriver.

Definition at line 32 of file ModulatingDigitDriver.cpp.

◆ getFieldsPerFrame()

virtual uint16_t ace_segment::ModulatingDigitDriver::getFieldsPerFrame ( )
inlineoverridevirtual

Return number of fields per frame.

Reimplemented from ace_segment::DigitDriver.

Definition at line 52 of file ModulatingDigitDriver.h.

◆ isBrightnessSupported()

virtual bool ace_segment::ModulatingDigitDriver::isBrightnessSupported ( )
inlineoverridevirtual

Returns true if the driver supports brightness.

If not, any brightness greater than 0 will be considered ON, and 0 will be OFF.

Reimplemented from ace_segment::DigitDriver.

Definition at line 56 of file ModulatingDigitDriver.h.

Member Data Documentation

◆ mIsPrevDigitOn

bool ace_segment::ModulatingDigitDriver::mIsPrevDigitOn
protected

Whether the previous digit was turned on or off.

Definition at line 66 of file ModulatingDigitDriver.h.


The documentation for this class was generated from the following files: