![]()  | 
  
    Display_Lib_RPI 2.4.2
    
   A C++ Library to connect electronic displays to Linux single board computers. 
   | 
 
class to control Ht16K33 , supports 7 9 14 and 16 segment displays More...
#include <HT16K33plus_Model1_RDL.hpp>

Public Types | |
| enum | TextAlignment_e : uint8_t { AlignLeft = 0 , AlignRight = 1 , AlignRightZeros = 2 } | 
| enum | BlinkFreq_e : uint8_t { BLINKOFF = 0x81 , BLINKON2HZ = 0x83 , BLINKON1HZ = 0x85 , BLINKON0_5HZ = 0x87 } | 
| enum | DecimalPoint_e : uint8_t { DecPointOff = 0 , DecPointOn = 1 } | 
| enum | DisplayType_e : uint8_t { SegType7 = 7 , SegType9 = 9 , SegType14 = 14 , SegType16 = 16 } | 
Public Member Functions | |
| HT16K33plus_Model1 (int I2Cdevice, int I2Caddress, int I2Cflags) | |
| Constructor for class HT16K33plus_Model1.   | |
| rdlib::Return_Codes_e | Display_I2C_ON (void) | 
| Switch on the I2C.   | |
| rdlib::Return_Codes_e | Display_I2C_OFF (void) | 
| End I2C operations.   | |
| int | DisplayCheckConnection (void) | 
| checks if Display on I2C bus   | |
| int | DisplayI2CErrorGet (void) const | 
| get I2C error Flag   | |
| uint16_t | DisplayI2CErrorTimeoutGet (void) const | 
| Gets the I2C timeout, used in the event of an I2C write error.   | |
| void | DisplayI2CErrorTimeoutSet (uint16_t) | 
| Sets the I2C timeout, in the event of an I2C write error.   | |
| uint8_t | DisplayI2CErrorRetryNumGet (void) const | 
| Gets the I2C error retry attempts, used in the event of an I2C write error.   | |
| void | DisplayI2CErrorRetryNumSet (uint8_t) | 
| Sets the I2C error retry attempts used in the event of an I2C write error.   | |
| void | DisplayInit (uint8_t brightLevel, BlinkFreq_e blink, uint8_t numOfDigits, DisplayType_e dtype) | 
| Initializes the HT16K33 display with specified settings.   | |
| void | DisplayOn (void) | 
| Turns on the display with the previously set blink setting.   | |
| void | DisplayOff (void) | 
| Turns off the display.  | |
| void | DisplaySleep (void) | 
| Puts the display into standby mode. Turn off System oscillator.  | |
| void | DisplayNormal (void) | 
| Restores the display to normal operation mode. Turn on System oscillator.  | |
| void | DisplayResetDefault (void) | 
| Resets the display to default settings.   | |
| void | setBrightness (uint8_t value) | 
| Sets the display brightness level.   | |
| uint8_t | getBrightness () const | 
| Gets the current brightness level.   | |
| void | setBlink (BlinkFreq_e value) | 
| Sets the display blink frequency.   | |
| BlinkFreq_e | getBlink () const | 
| Gets the current blink frequency setting.   | |
| DisplayType_e | getDisplayType () const | 
| Gets the display type.   | |
| void | ClearDigits (void) | 
| Clears all digits on the display.   | |
| void | displayRawData (uint8_t digitPos, uint16_t value) | 
| Sends raw segment data to a specific digit position.   | |
| rdlib::Return_Codes_e | displayChar (uint8_t digitPos, char c, DecimalPoint_e dp) | 
| Displays a single character at the specified digit position.   | |
| rdlib::Return_Codes_e | displayText (const char *text, TextAlignment_e TextAlignment) | 
| Displays a text string on display.   | |
| rdlib::Return_Codes_e | displayText (const char *text) | 
| Display a text string on display.   | |
| rdlib::Return_Codes_e | displayHexChar (uint8_t digitPos, char hex) | 
| Send Hexadecimal value to seven segment.   | |
| rdlib::Return_Codes_e | displayIntNum (int32_t number, TextAlignment_e TextAlignment) | 
| Display an integer and leading zeros optional.   | |
| rdlib::Return_Codes_e | displayFloatNum (float number, TextAlignment_e TextAlignment, uint8_t fractionDigits) | 
| Displays a floating-point number on the display.   | |
Private Member Functions | |
| rdlib::Return_Codes_e | displayMultiSegNum (uint8_t digitPos, char c, DecimalPoint_e dp) | 
| Displays a character on multi-segment displays (9, 14, or 16 segments).   | |
| void | SendCmd (uint8_t cmd) | 
| Send command byte to display.   | |
| void | SendData (const unsigned char *data, size_t length) | 
| Send data buffer to via I2C.   | |
Private Attributes | |
| int | _I2CAddress = 0x70 | 
| int | _I2CDevice = 1 | 
| int | _I2CFlags = 0 | 
| int | _I2CHandle = 0 | 
| uint16_t | _I2C_ErrorDelay = 100 | 
| uint8_t | _I2C_ErrorRetryNum = 3 | 
| int | _I2C_ErrorFlag = 0 | 
| BlinkFreq_e | _blinkSetting = BLINKOFF | 
| DisplayType_e | _displayType = SegType7 | 
| uint8_t | _brightness = 7 | 
| uint8_t | _numOfDigits = 4 | 
Static Private Attributes | |
| static constexpr uint8_t | HT16K33_DDAPTR = 0x00 | 
| static constexpr uint8_t | HT16K33_NORMAL = 0x21 | 
| static constexpr uint8_t | HT16K33_STANDBY = 0x20 | 
| static constexpr uint8_t | HT16K33_DISPLAYON = 0x81 | 
| static constexpr uint8_t | HT16K33_DISPLAYOFF = 0x80 | 
| static constexpr uint8_t | HT16K33_BRIGHTNESS = 0xE0 | 
| static constexpr uint8_t | _HT_ASCIIOffset = 0x20 | 
| static constexpr uint8_t | _HT_HEXoffset = 0x10 | 
| static constexpr uint8_t | _HT_ASCIIEnd = 0x7B | 
| static constexpr uint8_t | _HT_DEC_POINT_7_MASK = 0x80 | 
| static constexpr uint16_t | _HT_DEC_POINT_9_MASK = 0x0200 | 
| static constexpr uint16_t | _HT_DEC_POINT_14_MASK = 0x4000 | 
Additional Inherited Members | |
  Static Protected Member Functions inherited from SevenSegmentFont | |
| static const uint8_t * | pFontSevenSegptr () | 
| Retrieves a pointer to the seven-segment font data table.   | |
  Static Protected Member Functions inherited from NineSegmentFont | |
| static const uint16_t * | pFontNineSegptr () | 
| Retrieves a pointer to the nine-segment font data table.   | |
  Static Protected Member Functions inherited from FourteenSegmentFont | |
| static const uint16_t * | pFontFourteenSegptr () | 
| Retrieves a pointer to the fourteen-segment font data table.   | |
  Static Protected Member Functions inherited from SixteenSegmentFont | |
| static const uint16_t * | pFontSixteenSegptr () | 
| Retrieves a pointer to the sixteen-segment font data table.   | |
class to control Ht16K33 , supports 7 9 14 and 16 segment displays
| enum HT16K33plus_Model1::BlinkFreq_e : uint8_t | 
| enum HT16K33plus_Model1::DecimalPoint_e : uint8_t | 
| enum HT16K33plus_Model1::DisplayType_e : uint8_t | 
| enum HT16K33plus_Model1::TextAlignment_e : uint8_t | 
| HT16K33plus_Model1::HT16K33plus_Model1 | ( | int | I2CDevice, | 
| int | I2Caddress, | ||
| int | I2CFlags | ||
| ) | 
Constructor for class HT16K33plus_Model1.
| I2CDevice | An I2C device number. | 
| I2Caddress | The address of a device on the I2C bus. default is 0x70. | 
| I2CFlags | Flags which modify an I2C open command. None are currently defined. | 
| void HT16K33plus_Model1::ClearDigits | ( | void | ) | 
Clears all digits on the display.
Iterates through all digit positions and replaces each character with a blank space. The decimal points are also turned off.
| rdlib::Return_Codes_e HT16K33plus_Model1::Display_I2C_OFF | ( | void | ) | 
End I2C operations.
| rdlib::Return_Codes_e HT16K33plus_Model1::Display_I2C_ON | ( | void | ) | 
Switch on the I2C.
| rdlib::Return_Codes_e HT16K33plus_Model1::displayChar | ( | uint8_t | digitPosition, | 
| char | character, | ||
| DecimalPoint_e | decimalOnPoint | ||
| ) | 
Displays a single character at the specified digit position.
| digitPosition | The position of the digit on the display (0-based index 0 = LHS). | 
| character | The ASCII character to display. | 
| decimalOnPoint | Specifies whether the decimal point should be enabled (enumeration DecimalPoint_e). | 
If the character is out of the supported ASCII font range, an error is logged and a corresponding error code is returned. If the display type is not 7-segment, the function delegates to displayMultiSegNum(). Otherwise, the function retrieves the 7-segment font data, applies the decimal point if needed, and sends the data to the display.
| int HT16K33plus_Model1::DisplayCheckConnection | ( | void | ) | 
checks if Display on I2C bus
| rdlib::Return_Codes_e HT16K33plus_Model1::displayFloatNum | ( | float | number, | 
| TextAlignment_e | TextAlignment, | ||
| uint8_t | fractionDigits | ||
| ) | 
Displays a floating-point number on the display.
| number | The floating-point number to be displayed. | 
| TextAlignment | Text alignment option (enumeration TextAlignment_e 2 options). | 
| fractionDigits | Number of fractional digits to display. | 
Converts the floating-point number into a formatted string and displays it on the device. If the total number of required digits (integer + fractional + sign) exceeds the available display space, an error is returned. Leading zero alignment is not supported.
| rdlib::Return_Codes_e HT16K33plus_Model1::displayHexChar | ( | uint8_t | position, | 
| char | hex | ||
| ) | 
Send Hexadecimal value to seven segment.
| position | The position on display | 
| hex | hexadecimal value (DEC) 0-15 (0x00 - 0x0F) | 
| int HT16K33plus_Model1::DisplayI2CErrorGet | ( | void | ) | const | 
get I2C error Flag
See Error Codes at bottom of https://abyz.me.uk/lg/lgpio.html
| uint8_t HT16K33plus_Model1::DisplayI2CErrorRetryNumGet | ( | void | ) | const | 
Gets the I2C error retry attempts, used in the event of an I2C write error.
Number of times to retry in event of an error
| void HT16K33plus_Model1::DisplayI2CErrorRetryNumSet | ( | uint8_t | AttemptCount | ) | 
Sets the I2C error retry attempts used in the event of an I2C write error.
Number of times to retry in event of an error
| AttemptCount | I2C retry attempts | 
| uint16_t HT16K33plus_Model1::DisplayI2CErrorTimeoutGet | ( | void | ) | const | 
Gets the I2C timeout, used in the event of an I2C write error.
Delay between retry attempts in event of an error , mS
| void HT16K33plus_Model1::DisplayI2CErrorTimeoutSet | ( | uint16_t | newTimeout | ) | 
Sets the I2C timeout, in the event of an I2C write error.
| newTimeout | I2C timeout delay in mS | 
Delay between retry attempts in event of an error , mS
| void HT16K33plus_Model1::DisplayInit | ( | uint8_t | brightLevel, | 
| BlinkFreq_e | blinklevel, | ||
| uint8_t | numOfDigits, | ||
| DisplayType_e | displayType | ||
| ) | 
Initializes the HT16K33 display with specified settings.
| brightLevel | Brightness level (0-15). If greater than 15, it defaults to 15. | 
| blinklevel | Blink frequency setting (enumeration BlinkFreq_e 4 settings). | 
| numOfDigits | Number of digits to be displayed. | 
| displayType | Type of display configuration (enumeration DisplayType_e 4 settings). | 
| rdlib::Return_Codes_e HT16K33plus_Model1::displayIntNum | ( | int32_t | number, | 
| TextAlignment_e | TextAlignment | ||
| ) | 
Display an integer and leading zeros optional.
| number | integer to display 2^32 | 
| TextAlignment | enum text alignment, left or right alignment or leading zeros | 
      
  | 
  private | 
Displays a character on multi-segment displays (9, 14, or 16 segments).
| digitPosition | The position of the digit on the display (0-based index, 0=LHS). | 
| character | The ASCII character to display. | 
| decimalOnPoint | Specifies whether the decimal point should be enabled (enumeration DecimalPoint_e). | 
Converts the ASCII character into the appropriate segment mapping for the display type (9-segment, 14-segment, or 16-segment). The decimal point is applied if applicable. The processed data is then sent to the display.
| void HT16K33plus_Model1::DisplayOn | ( | void | ) | 
Turns on the display with the previously set blink setting.
Sends the command to enable the display, using the stored blink setting.
| void HT16K33plus_Model1::displayRawData | ( | uint8_t | digitPosition, | 
| uint16_t | rawData | ||
| ) | 
Sends raw segment data to a specific digit position.
| digitPosition | The position of the digit on the display (0-based index). | 
| rawData | The raw segment data to be displayed (bit-mapped for the display type). | 
This function allows direct control of the display segments by sending raw data. The rawData value is split into two bytes and transmitted to the display.
| void HT16K33plus_Model1::DisplayResetDefault | ( | void | ) | 
Resets the display to default settings.
This function restores normal operation mode, sets brightness to a default level of 7, and turns the display on with the stored blink setting.
| rdlib::Return_Codes_e HT16K33plus_Model1::displayText | ( | const char * | text | ) | 
Display a text string on display.
| text | pointer to a character array | 
| rdlib::Return_Codes_e HT16K33plus_Model1::displayText | ( | const char * | text, | 
| TextAlignment_e | TextAlignment | ||
| ) | 
Displays a text string on display.
| text | pointer to character array containg text string | 
| TextAlignment | left or right alignment | 
| HT16K33plus_Model1::BlinkFreq_e HT16K33plus_Model1::getBlink | ( | ) | const | 
Gets the current blink frequency setting.
| uint8_t HT16K33plus_Model1::getBrightness | ( | ) | const | 
Gets the current brightness level.
| HT16K33plus_Model1::DisplayType_e HT16K33plus_Model1::getDisplayType | ( | ) | const | 
Gets the display type.
      
  | 
  private | 
Send command byte to display.
| cmd | command byte | 
      
  | 
  private | 
Send data buffer to via I2C.
| data | The data buffer to send | 
| length | length of data to send | 
| void HT16K33plus_Model1::setBlink | ( | BlinkFreq_e | blinklevel | ) | 
Sets the display blink frequency.
| blinklevel | Blink frequency setting (enumeration BlinkFreq_e 4 settings). | 
| void HT16K33plus_Model1::setBrightness | ( | uint8_t | value | ) | 
Sets the display brightness level.
| value | Brightness level (0-15). If greater than 15, it defaults to 15. | 
      
  | 
  private | 
Blink setting, 4 settings see enum
      
  | 
  private | 
Brightness setting 0-15
      
  | 
  private | 
Enum to hold chosen display type
      
  | 
  staticconstexprprivate | 
last character+1 in defined ASCII table 'z'''
      
  | 
  staticconstexprprivate | 
Offset in the ASCII table for font Start position
      
  | 
  staticconstexprprivate | 
Mask to switch on 14 seg decimal point
      
  | 
  staticconstexprprivate | 
Mask to switch on 7 seg decimal point
      
  | 
  staticconstexprprivate | 
Mask to switch on 9 seg decimal point
      
  | 
  staticconstexprprivate | 
16 Ascii table offset to reach number position
      
  | 
  private | 
I2C delay(in between retry attempts) in event of error in mS
      
  | 
  private | 
In event of I2C error, holds code
      
  | 
  private | 
In event of I2C error number of retry attempts
      
  | 
  private | 
I2C address
      
  | 
  private | 
An I2C device number.
      
  | 
  private | 
Flags which modify an I2C open command. None are currently defined.
      
  | 
  private | 
A number referencing an object opened by one of lgI2cOpen
      
  | 
  private | 
Number of digits in display max 8
      
  | 
  staticconstexprprivate | 
Dimming set register 0-15 XXXX-BBBB
      
  | 
  staticconstexprprivate | 
Display data address pointer
      
  | 
  staticconstexprprivate | 
Display set register Display off
      
  | 
  staticconstexprprivate | 
Display set register Display on
      
  | 
  staticconstexprprivate | 
System setup register turn on System oscillator, normal operation mode
      
  | 
  staticconstexprprivate | 
Turn off System oscillator, standby mode