Display_Lib_RPI 2.3.0
A C++ Library to connect electronic displays to Linux single board computers.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TM1638plus_Model1 Class Reference

Class for Model 1. More...

#include <TM1638plus_Model1_RDL.hpp>

Inheritance diagram for TM1638plus_Model1:
Inheritance graph
[legend]

Public Member Functions

 TM1638plus_Model1 (uint8_t strobe, uint8_t clock, uint8_t data, int gpioDev)
 Constructor for class TM1638plus_Model1.
 
uint8_t readButtons (void)
 Read buttons values from display.
 
rdlib::Return_Codes_e displayText (const char *text)
 Display a text string on display.
 
void displayASCII (uint8_t position, uint8_t ascii)
 Display an ASCII character on display.
 
void displayASCIIwDot (uint8_t position, uint8_t ascii)
 Display an ASCII character with decimal point turned on.
 
void displayHex (uint8_t position, uint8_t hex)
 Send Hexadecimal value to seven segment.
 
void display7Seg (uint8_t position, uint8_t value)
 Send seven segment value to seven segment.
 
void displayIntNum (unsigned long number, AlignTextType_e=TMAlignTextLeft)
 Display an integer and leading zeros optional.
 
void DisplayDecNumNibble (uint16_t numberUpper, uint16_t numberLower, AlignTextType_e=TMAlignTextLeft)
 Display an integer in a nibble (4 digits on display)
 
virtual void setLEDs (uint16_t leds)
 Set all LED's on or off Model 1 & 3.
 
virtual rdlib::Return_Codes_e setLED (uint8_t position, uint8_t value)
 Set one LED on or off Model 1 & 3.
 
- Public Member Functions inherited from TM1638plus_common
 TM1638plus_common (uint8_t strobe, uint8_t clock, uint8_t data, int gpioDev)
 Constructor for class TM1638plus_common.
 
void reset (void)
 Reset / clear the display.
 
rdlib::Return_Codes_e displayBegin (void)
 Begin method , sets pin modes and activate display.
 
void brightness (uint8_t brightness)
 Sets the brightness level of segments in display on a scale of brightness.
 
uint16_t TMCommDelayGet (void)
 get the TM comm delay.
 
void TMCommDelayset (uint16_t)
 set the TM comm delay.
 
rdlib::Return_Codes_e displayClose (void)
 Close method , frees GPIO and deactivate display.
 

Additional Inherited Members

- Public Types inherited from TM1638plus_common
enum  AlignTextType_e : uint8_t { TMAlignTextRight = 1 , TMAlignTextLeft = 2 , TMAlignTextZeros = 3 }
 
enum  TMOffsetsMasks : uint8_t { TM_ASCII_OFFSET = 0x20 , TM_HEX_OFFSET = 0x10 , TM_DOT_MASK_DEC = 0x80 , TM_BRIGHT_MASK = 0x07 }
 
- Protected Types inherited from TM1638plus_common
enum  TMCommands : uint8_t {
  TM_ACTIVATE = 0x8F , TM_BUTTONS_MODE = 0x42 , TM_WRITE_LOC = 0x44 , TM_WRITE_INC = 0x40 ,
  TM_SEG_ADR = 0xC0 , TM_LEDS_ADR = 0xC1 , TM_BRIGHT_ADR = 0x88
}
 
- Protected Member Functions inherited from TM1638plus_common
void sendCommand (uint8_t value)
 Send command to display.
 
void sendData (uint8_t data)
 Send Data to display.
 
uint8_t HighFreqshiftin (void)
 Shifts in a byte of data from the Tm1638 SPI-like bus.
 
void HighFreqshiftOut (uint8_t val)
 Shifts out a byte of data on to the Tm1638 SPI-like bus.
 
- Protected Attributes inherited from TM1638plus_common
uint8_t _Display_CS
 
uint8_t _Display_SDATA
 
uint8_t _Display_SCLK
 
const uint8_t _TMDisplaySize = 8
 
int _DeviceNumGpioChip = 0
 
int _GpioHandle = 0
 

Detailed Description

Class for Model 1.

Constructor & Destructor Documentation

◆ TM1638plus_Model1()

TM1638plus_Model1::TM1638plus_Model1 ( uint8_t  strobe,
uint8_t  clock,
uint8_t  data,
int  gpioDev 
)

Constructor for class TM1638plus_Model1.

Parameters
strobeGPIO STB pin
clockGPIO CLK pin
dataGPIO DIO pin
gpioDevThe device number of a gpiochip.

Member Function Documentation

◆ display7Seg()

void TM1638plus_Model1::display7Seg ( uint8_t  position,
uint8_t  value 
)

Send seven segment value to seven segment.

Parameters
positionThe position on display 0-7
valuebyte of data corresponding to segments (dp)gfedcba
Note
0b01000001 in value will set g and a on.

◆ displayASCII()

void TM1638plus_Model1::displayASCII ( uint8_t  position,
uint8_t  ascii 
)

Display an ASCII character on display.

Parameters
positionThe position on display 0-7
asciiThe ASCII value from font table to display

◆ displayASCIIwDot()

void TM1638plus_Model1::displayASCIIwDot ( uint8_t  position,
uint8_t  ascii 
)

Display an ASCII character with decimal point turned on.

Parameters
positionThe position on display 0-7
asciiThe ASCII value from font table to display

◆ DisplayDecNumNibble()

void TM1638plus_Model1::DisplayDecNumNibble ( uint16_t  numberUpper,
uint16_t  numberLower,
AlignTextType_e  TextAlignment = TMAlignTextLeft 
)

Display an integer in a nibble (4 digits on display)

Parameters
numberUpperupper nibble integer 2^16
numberLowerlower nibble integer 2^16
TextAlignmentleft or right alignment or leading zeros
Note
Divides the display into two nibbles and displays a Decimal number in each. takes in two numbers 0-9999 for each nibble.

◆ displayHex()

void TM1638plus_Model1::displayHex ( uint8_t  position,
uint8_t  hex 
)

Send Hexadecimal value to seven segment.

Parameters
positionThe position on display 0-7
hexhexadecimal value (DEC) 0-15 (0x00 - 0x0F)

◆ displayIntNum()

void TM1638plus_Model1::displayIntNum ( unsigned long  number,
AlignTextType_e  TextAlignment = TMAlignTextLeft 
)

Display an integer and leading zeros optional.

Parameters
numberinteger to display 2^32
TextAlignmentenum text alignment, left or right alignment or leading zeros

◆ displayText()

rdlib::Return_Codes_e TM1638plus_Model1::displayText ( const char *  text)

Display a text string on display.

Parameters
textpointer to a character array
Returns
error code if string is nullptr or too long
Note
Dots are removed from string and dot on preceding digit switched on "abc.def" will be shown as "abcdef" with c decimal point turned on.

◆ readButtons()

uint8_t TM1638plus_Model1::readButtons ( void  )

Read buttons values from display.

Returns
byte with value of buttons 1-8 b7b6b5b4b3b2b1b0 1 pressed, 0 not pressed.
Note
User may have to debounce buttons depending on application.

◆ setLED()

rdlib::Return_Codes_e TM1638plus_Model1::setLED ( uint8_t  position,
uint8_t  value 
)
virtual

Set one LED on or off Model 1 & 3.

Parameters
position0-7 == L1-L8 on PCB
value0 off 1 on
Returns
  1. rdlib::Success
  2. rdlib::GpioPinClaim

Reimplemented in TM1638plus_Model3.

◆ setLEDs()

void TM1638plus_Model1::setLEDs ( uint16_t  ledvalues)
virtual

Set all LED's on or off Model 1 & 3.

Parameters
ledvalues1 on , 0 off , 0xXXLL where LL = L8-L1
Note
MODEL 1:
  1. Upper byte ignored this byte/method is used by sub-class Model 3
  2. Lower byte LED data model 1
  3. setLEDs(0xF0) Displays as XXXX LLLL (L1-L8),NOTE on display L8 is on right hand side.

Reimplemented in TM1638plus_Model3.


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