Seven Segments Displays Agnostic Library for ESP32 (Arduino) v3.3.0
A library that provides a class that models a Seven Segment Display and provides an unified API through it's members independently of the display technology.
Loading...
Searching...
No Matches
SevenSegTM1637 Class Reference

Models a Seven Segment display hardware controlled by a TM1637 display controller component. More...

#include <SevenSegDispHw.h>

Inheritance diagram for SevenSegTM1637:
Collaboration diagram for SevenSegTM1637:

Public Member Functions

 SevenSegTM1637 ()
 Default constructor.
 SevenSegTM1637 (uint8_t *ioPins, uint8_t dspDigits, bool commAnode)
 Class constructor.
 ~SevenSegTM1637 ()
 Default destructor.
Public Member Functions inherited from SevenSegTM163X
 SevenSegTM163X ()
 Default class constructor.
 SevenSegTM163X (uint8_t *ioPins, uint8_t dspDigits, bool commAnode, uint8_t dspDigitsQtyMax=0)
 Class constructor.
 ~SevenSegTM163X ()
 Class destructor.
bool begin (uint32_t updtLps=0)
 Turns On the display to be ready to receive data.
bool end ()
 Turns Off the display.
virtual uint8_t getBrghtnssLvl ()
 Returns the current brightness level setting for the display module.
virtual void ntfyUpdDsply ()
 See SevenSegDispHw::ntfyUpdDsply() for description.
virtual bool setBrghtnssLvl (const uint8_t &newBrghtnssLvl)
 Sets the Brightness level of the display.
virtual void turnOff ()
 Turns the display module off.
virtual void turnOn ()
 Turns the display module on.
virtual void turnOn (const uint8_t &newBrghtnssLvl)
 Turns the display module on.
Public Member Functions inherited from SevenSegDispHw
 SevenSegDispHw ()
 Default class constructor.
 SevenSegDispHw (uint8_t *ioPins, uint8_t dspDigits=4, bool commAnode=true, uint8_t dspDigitsQtyMax=0)
 Class constructor.
virtual ~SevenSegDispHw ()
 Class destructor.
virtual uint8_t getBrghtnssMaxLvl ()
 Returns the maximum display brightness level setting allowed for the display.
virtual uint8_t getBrghtnssMinLvl ()
 Returns the minimum display brightness level setting for the display.
bool getCommAnode ()
 Returns a value indicating if the display module component of the display hardware uses a common anode or a common cathode led wiring.
uint8_t * getDspBuffPtr ()
 Returns a pointer to the display buffer.
uint8_t getHwDspDigitsQty ()
 Returns the quantity of digits of the display module.
virtual bool getIsOn ()
 Returns the state of the display.
uint8_t * getxcdDspBuffPtr ()
 Returns a pointer to an array holding the contents for the digits/ports available from the display controller but not used for plain digits display.
virtual bool setDigitsOrder (uint8_t *newOrderPtr)
 Sets a mapping to relate the display buffer positions to the display port assigned to exhibit it's contents.
void setDspBuffPtr (uint8_t *newDspBuffPtr)
 Sets the pointer to the Display Buffer memory area.

Additional Inherited Members

Protected Attributes inherited from SevenSegTM163X
uint8_t * _lclDspBuffPtr {nullptr}
 Pointer to an array of size equal to or less than display module component digits ports, will be equal to or less than display controller component maximum digits/ports. The need for a divided display buffer comes from the fact that some Seven Segment display hardware use controllers with larger digits management capabilities than the display module digits, and the exceeding digits are used for proprietary amenities, as colons, icons, etc.
Protected Attributes inherited from SevenSegDispHw
uint8_t _allLedsOff {}
 Value to set in the display port to set all leds off (a "space"), dependent of _commAnode.
uint8_t _brghtnssLvl {0}
 Current display brightness level.
uint8_t _brghtnssLvlMax {0}
 Maximum display brightness level.
uint8_t _brghtnssLvlMin {0}
 Minimum display brightness level.
uint8_t * _dspBlankBuffPtr {nullptr}
 Pointer to a display buffer filled with _allLedsOff ("spaces") to use as display buffer while in "Off State".
uint8_t * _dspBuffPtr {nullptr}
 Pointer to the display buffer, will be provided by the SevenSegDisplays object when it's instantiated.
uint8_t * _dspBuffPtrBkp {nullptr}
 Pointer to the display buffer, copy of the original _dspBuffPtr to be used as backup.
bool _isOn {false}
 Current display status: On/Off.
uint8_t * _xcdDspBuffPtr {nullptr}
 A pointer to a buffer the size of the exceeding digits used to control display specific amenities.
uint8_t _xcdDspDigitsQty {}
 Number of unused available display ports, its the difference (_dspDigitsQtyMax - _dspDigitsQty), being the size of the array pointed by _xcdDspBuffPtr.

Detailed Description

Models a Seven Segment display hardware controlled by a TM1637 display controller component.

The TM1637 is a very popular Titan Micro TM163X family member, whose differential characteristics from other members of this family (related to this library incumbent attributes) are:

  • Maximum number of display ports: 6

Constructor & Destructor Documentation

◆ SevenSegTM1637()

SevenSegTM1637::SevenSegTM1637 ( uint8_t * ioPins,
uint8_t dspDigits,
bool commAnode )

Class constructor.

Parameters
ioPinsA pointer to an array holding the identifiers for the 2 GPIO pins required to send the data to the Seven Segment display hardware to be displayed. The correlation between the array positions and the pin function is given as in-class defined constants: 0->clk, 1->dio
dspDigitsQuantity of digits/ports of the display. This parameter for this subclass must be in the range 1 <= dspDigits <= 6.
commAnodeBoolean indicating if the hardware uses a display module component wired as common anode (true) or common cathode (false).
Here is the call graph for this function: