TM1638_plus 2.1.0
Arduino library for Tm1638 modules
TM1638plus_common.h
Go to the documentation of this file.
1
9#ifndef TM1638PLUS_COMMON_H
10#define TM1638PLUS_COMMON_H
11
12#if (ARDUINO >=100)
13 #include "Arduino.h"
14#else
15 #include "WProgram.h"
16#endif
17
18#include "common_data.h"
19#include "seven_segment_font_data.h"
20
22enum AlignTextType_e : uint8_t
23{
26};
27
32{
33
34public:
35
36 void displayBegin();
37 void reset(void);
38 void brightness(uint8_t brightness);
39 //getting and setter for _HFIN_DELAY
40 uint8_t getHFIN_DELAY() const { return _HFIN_DELAY; }
41 void setHFIN_DELAY(uint8_t delay) { _HFIN_DELAY = delay; }
42 uint8_t getHFOUT_DELAY() const { return _HFOUT_DELAY; }
43 void setHFOUT_DELAY(uint8_t delay) { _HFOUT_DELAY = delay; }
44protected:
45
46 uint8_t HighFreqshiftin(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) ;
47 void HighFreqshiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
48 void sendCommand(uint8_t value);
49 void sendData(uint8_t data);
50
51 uint8_t _STROBE_IO;
52 uint8_t _DATA_IO;
53 uint8_t _CLOCK_IO;
54 bool _HIGH_FREQ = false;
55 uint8_t _HFIN_DELAY = 1;
56 uint8_t _HFOUT_DELAY = 1;
58 // Commands list and defaults
59 static constexpr uint8_t TM_ACTIVATE = 0x8F;
60 static constexpr uint8_t TM_BUTTONS_MODE = 0x42;
61 static constexpr uint8_t TM_WRITE_LOC = 0x44;
62 static constexpr uint8_t TM_WRITE_INC = 0x40;
63 static constexpr uint8_t TM_SEG_ADR = 0xC0;
64 static constexpr uint8_t TM_LEDS_ADR = 0xC1;
65 static constexpr uint8_t TM_BRIGHT_ADR = 0x88;
66 static constexpr uint8_t TM_BRIGHT_MASK = 0x07;
67 static constexpr uint8_t TM_DEFAULT_BRIGHTNESS = 0x02;
68 static constexpr uint8_t TM_DISPLAY_SIZE = 8;
70private:
71
72};
73
74#endif
AlignTextType_e
Definition TM1638plus_common.h:23
@ TMAlignTextRight
Definition TM1638plus_common.h:24
@ TMAlignTextLeft
Definition TM1638plus_common.h:25
Class that provides access to common data.
Definition common_data.h:14
Class that provides access to a seven-segment font data table.
Definition seven_segment_font_data.h:13
The base Class , used to store common data & functions for all models types.
Definition TM1638plus_common.h:32
static constexpr uint8_t TM_SEG_ADR
Definition TM1638plus_common.h:63
void sendData(uint8_t data)
Send Data to display.
Definition TM1638plus_common.cpp:38
static constexpr uint8_t TM_WRITE_LOC
Definition TM1638plus_common.h:61
uint8_t HighFreqshiftin(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder)
Shifts in a byte of data from the Tm1638 SPI-like bus.
Definition TM1638plus_common.cpp:80
bool _HIGH_FREQ
Definition TM1638plus_common.h:54
uint8_t _DATA_IO
Definition TM1638plus_common.h:52
uint8_t _STROBE_IO
Definition TM1638plus_common.h:51
void HighFreqshiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
Shifts out a byte of data on to the Tm1638 SPI-like bus.
Definition TM1638plus_common.cpp:109
static constexpr uint8_t TM_BRIGHT_ADR
Definition TM1638plus_common.h:65
static constexpr uint8_t TM_ACTIVATE
Definition TM1638plus_common.h:59
static constexpr uint8_t TM_LEDS_ADR
Definition TM1638plus_common.h:64
static constexpr uint8_t TM_WRITE_INC
Definition TM1638plus_common.h:62
uint8_t _HFOUT_DELAY
Definition TM1638plus_common.h:56
uint8_t _CLOCK_IO
Definition TM1638plus_common.h:53
static constexpr uint8_t TM_BRIGHT_MASK
Definition TM1638plus_common.h:66
uint8_t _HFIN_DELAY
Definition TM1638plus_common.h:55
static constexpr uint8_t TM_DISPLAY_SIZE
Definition TM1638plus_common.h:68
static constexpr uint8_t TM_BUTTONS_MODE
Definition TM1638plus_common.h:60
void reset(void)
Reset / clear the display.
Definition TM1638plus_common.cpp:50
void brightness(uint8_t brightness)
Sets the brightness level of segments in display on a scale of brightness.
Definition TM1638plus_common.cpp:65
void sendCommand(uint8_t value)
Send command to display.
Definition TM1638plus_common.cpp:27
void displayBegin()
Begin method , sets pin modes and activate display.
Definition TM1638plus_common.cpp:14
static constexpr uint8_t TM_DEFAULT_BRIGHTNESS
Definition TM1638plus_common.h:67
common data class for LED segment modules.