Erriez JY-LKM1638 board library for Arduino  1.1.0
This is an optimized JY-MCU JY-LKM1638 library for Arduino. It supports 8x 7-segment display, 8 dual color LEDs and 8 buttons with a simple API.
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LKM1638Board Class Reference

LKM1638Board class, derived from TM1638 library. More...

#include <ErriezLKM1638Board.h>

Inheritance diagram for LKM1638Board:
Inheritance graph
[legend]
Collaboration diagram for LKM1638Board:
Collaboration graph
[legend]

Public Member Functions

 LKM1638Board (uint8_t clkPin, uint8_t dioPin, uint8_t stbPin)
 LKM1638 constructor. More...
 
uint8_t getButtons ()
 Read buttons. More...
 
void clear ()
 Turn all LED's off.
 
void setColorLED (uint8_t led, LedColor color)
 Set dual color LED. More...
 
void colorLEDsOn (uint8_t leds, LedColor color)
 Turn multiple color LED's on. More...
 
void colorLEDsOff (uint8_t leds)
 Turn multiple color LED's off. More...
 
void refresh ()
 Refresh display.
 
void dotOn (uint8_t pos)
 Turn dot LED on. More...
 
void dotOff (uint8_t pos)
 Turn dot LED off. More...
 
void setDots (uint8_t dots)
 Turn multiple dots on or off. More...
 
void setPrintPos (uint8_t pos)
 Set print position. More...
 
uint8_t getPrintPos ()
 Get print position. More...
 
void setSegmentsDigit (uint8_t pos, uint8_t leds)
 Write LED segments of a digit. More...
 
void setDigit (uint8_t pos, uint8_t digit)
 Write digit. More...
 
void print (uint8_t value)
 Print uint8_t value. More...
 
void print (uint8_t value, uint8_t radius)
 Print uint8_t with radius. More...
 
void print (uint8_t value, uint8_t radius, uint8_t maxDigits)
 Print uint8_t with radius and maximum number of digits. More...
 
void print (uint8_t value, uint8_t radius, uint8_t maxDigits, uint8_t pad)
 Print uint8_t with radius, maximum number of digits and padding digits. More...
 
void print (uint16_t value)
 
void print (uint16_t value, uint8_t radius)
 
void print (uint16_t value, uint8_t radius, uint8_t maxDigits)
 
void print (uint16_t value, uint8_t radius, uint8_t maxDigits, uint8_t pad)
 
void print (unsigned long value)
 
void print (unsigned long value, uint8_t radius)
 
void print (unsigned long value, uint8_t radius, uint8_t maxDigits)
 
void print (unsigned long value, uint8_t radius, uint8_t maxDigits, uint8_t pad)
 
void print (int8_t value)
 
void print (int8_t value, uint8_t radius)
 
void print (int8_t value, uint8_t radius, uint8_t maxDigits)
 
void print (int16_t value)
 
void print (int16_t value, uint8_t radius)
 
void print (int16_t value, uint8_t radius, uint8_t maxDigits)
 
void print (long value)
 
void print (long value, uint8_t radius)
 
void print (long value, uint8_t radius, uint8_t maxDigits)
 

Protected Member Functions

void writeDigit (uint8_t pos)
 Write digit position. More...
 
void writeUnsignedValue (uint32_t value, uint8_t radius, uint8_t maxDigits, uint8_t pad)
 Write unsigned value to display. More...
 
void writeSignedValue (int32_t value, uint8_t radius, uint8_t maxDigits)
 Write signed value to display. More...
 
uint8_t getNumDigits (uint32_t value, uint8_t radius)
 Get number of digits of a signed 32-bit value. More...
 
void displayOverflow (uint8_t numDigits)
 Display overflow with - characters. More...
 
uint8_t swapBits (uint8_t data)
 Swap bits. More...
 
uint8_t swapPos (uint8_t pos)
 Swap digit position. More...
 
uint8_t swapLeds (uint8_t led)
 Swap dual color LED's. More...
 

Protected Attributes

uint8_t _leds [NUM_DIGITS]
 LED digits.
 
uint8_t _pos
 Print position.
 
uint8_t _dots
 Dot LED's.
 

Detailed Description

LKM1638Board class, derived from TM1638 library.

Definition at line 66 of file ErriezLKM1638Board.h.

Constructor & Destructor Documentation

◆ LKM1638Board()

LKM1638Board::LKM1638Board ( uint8_t  clkPin,
uint8_t  dioPin,
uint8_t  stbPin 
)

LKM1638 constructor.

Parameters
clkPinClock pin
dioPinData pin (bi-directional)
stbPinStrobe pin (low is enable)

Definition at line 80 of file ErriezLKM1638Board.cpp.

Member Function Documentation

◆ colorLEDsOff()

void LKM1638Board::colorLEDsOff ( uint8_t  leds)

Turn multiple color LED's off.

Parameters
ledsByte with 8 LED's

Definition at line 190 of file ErriezLKM1638Board.cpp.

◆ colorLEDsOn()

void LKM1638Board::colorLEDsOn ( uint8_t  leds,
LedColor  color 
)

Turn multiple color LED's on.

Parameters
ledsByte with 8 LED's
color0: Off 1: Green 2: Red

Definition at line 177 of file ErriezLKM1638Board.cpp.

◆ displayOverflow()

void LKM1638Board::displayOverflow ( uint8_t  numDigits)
protected

Display overflow with - characters.

Parameters
numDigitsNumber of digits to display

Definition at line 575 of file ErriezLKM1638Board.cpp.

◆ dotOff()

void LKM1638Board::dotOff ( uint8_t  pos)

Turn dot LED off.

Parameters
posPosition 0..7

Definition at line 275 of file ErriezLKM1638Board.cpp.

◆ dotOn()

void LKM1638Board::dotOn ( uint8_t  pos)

Turn dot LED on.

Parameters
posPosition 0..7

Definition at line 263 of file ErriezLKM1638Board.cpp.

◆ getButtons()

uint8_t LKM1638Board::getButtons ( )

Read buttons.

Returns
Value of 8 buttons

Definition at line 93 of file ErriezLKM1638Board.cpp.

◆ getNumDigits()

uint8_t LKM1638Board::getNumDigits ( uint32_t  value,
uint8_t  radius 
)
protected

Get number of digits of a signed 32-bit value.

Parameters
value32-bit signed value
radiusRadius
Returns
Number of digits

Definition at line 554 of file ErriezLKM1638Board.cpp.

◆ getPrintPos()

uint8_t LKM1638Board::getPrintPos ( )

Get print position.

Returns
Position 0..7

Definition at line 311 of file ErriezLKM1638Board.cpp.

◆ print() [1/4]

void LKM1638Board::print ( uint8_t  value)

Print uint8_t value.

Parameters
valueDisplay value 0..255

Definition at line 323 of file ErriezLKM1638Board.cpp.

◆ print() [2/4]

void LKM1638Board::print ( uint8_t  value,
uint8_t  radius 
)

Print uint8_t with radius.

Parameters
valueDisplay value 0..255
radiusRadius 2 for binary, 10 for decimal, 16 for HEX

Definition at line 333 of file ErriezLKM1638Board.cpp.

◆ print() [3/4]

void LKM1638Board::print ( uint8_t  value,
uint8_t  radius,
uint8_t  maxDigits 
)

Print uint8_t with radius and maximum number of digits.

Parameters
valueDisplay value 0..255
radiusRadius 2 for binary, 10 for decimal, 16 for HEX
maxDigitsMaximum number of digits

Definition at line 344 of file ErriezLKM1638Board.cpp.

◆ print() [4/4]

void LKM1638Board::print ( uint8_t  value,
uint8_t  radius,
uint8_t  maxDigits,
uint8_t  pad 
)

Print uint8_t with radius, maximum number of digits and padding digits.

Parameters
valueDisplay value 0..255
radiusRadius 2 for binary, 10 for decimal, 16 for HEX
maxDigitsMaximum number of digits
padNumber of digits starting with a 0

Definition at line 356 of file ErriezLKM1638Board.cpp.

◆ setColorLED()

void LKM1638Board::setColorLED ( uint8_t  led,
LedColor  color 
)

Set dual color LED.

Parameters
ledLED number (0 = most right, 7 = most left)
color0: Off 1: Green 2: Red

Definition at line 144 of file ErriezLKM1638Board.cpp.

◆ setDigit()

void LKM1638Board::setDigit ( uint8_t  pos,
uint8_t  digit 
)

Write digit.

Parameters
posPosition 0..7
digitValue 0..9, A..F

Definition at line 235 of file ErriezLKM1638Board.cpp.

◆ setDots()

void LKM1638Board::setDots ( uint8_t  dots)

Turn multiple dots on or off.

Parameters
dotsByte with dots

Definition at line 287 of file ErriezLKM1638Board.cpp.

◆ setPrintPos()

void LKM1638Board::setPrintPos ( uint8_t  pos)

Set print position.

Parameters
posPosition 0..7

Definition at line 300 of file ErriezLKM1638Board.cpp.

◆ setSegmentsDigit()

void LKM1638Board::setSegmentsDigit ( uint8_t  pos,
uint8_t  segments 
)

Write LED segments of a digit.

Parameters
posPosition 0..7
segmentsSegment LED's

Definition at line 222 of file ErriezLKM1638Board.cpp.

◆ swapBits()

uint8_t LKM1638Board::swapBits ( uint8_t  data)
protected

Swap bits.

Parameters
data9-bit unsigned value
Returns
Swapped bits

Definition at line 610 of file ErriezLKM1638Board.cpp.

◆ swapLeds()

uint8_t LKM1638Board::swapLeds ( uint8_t  led)
protected

Swap dual color LED's.

Parameters
ledLED's
Returns
Swapped LED bits

Definition at line 599 of file ErriezLKM1638Board.cpp.

◆ swapPos()

uint8_t LKM1638Board::swapPos ( uint8_t  pos)
protected

Swap digit position.

Parameters
posPosition
Returns
Swapped position

Definition at line 588 of file ErriezLKM1638Board.cpp.

◆ writeDigit()

void LKM1638Board::writeDigit ( uint8_t  pos)
protected

Write digit position.

Parameters
posDigit number 0 is most right digit, 7 is most left digit

Definition at line 206 of file ErriezLKM1638Board.cpp.

◆ writeSignedValue()

void LKM1638Board::writeSignedValue ( int32_t  value,
uint8_t  radius,
uint8_t  maxDigits 
)
protected

Write signed value to display.

Parameters
valuesigned value -2^31..2^31
radiusRadius 2 for binary, 10 for decimal, 16 for HEX
maxDigitsMaximum number of digits

Definition at line 506 of file ErriezLKM1638Board.cpp.

◆ writeUnsignedValue()

void LKM1638Board::writeUnsignedValue ( uint32_t  value,
uint8_t  radius,
uint8_t  maxDigits,
uint8_t  pad 
)
protected

Write unsigned value to display.

Parameters
valueUnsigned value 0..2^32
radiusRadius 2 for binary, 10 for decimal, 16 for HEX
maxDigitsMaximum number of digits
padNumber of digits starting with a 0

Definition at line 471 of file ErriezLKM1638Board.cpp.


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