Add support for TM1637 seven segment display by Ajith Vasudevan (#10889)

This commit is contained in:
Theo Arends 2021-02-17 12:32:36 +01:00
parent a1a731001b
commit 14206e46a1
8 changed files with 109 additions and 112 deletions

View File

@ -210,6 +210,7 @@
| USE_DISPLAY_SSD1351 | - | - | - | - | - | - | x |
| USE_DISPLAY_RA8876 | - | - | - | - | - | - | x |
| USE_DISPLAY_ST7789 | - | - | - | - | - | - | x |
| USE_DISPLAY_TM1637 | - | - | - | - | - | - | x |
| | | | | | | | |
| USE_FT5206 | - | - | - | - | - | - | - |
| USE_FTC532 | - | - | - | - | - | - | - |

View File

@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file.
- Berry file system support
- Filesystem commands ``Ufs``, ``UfsType``, ``UfsSize``, ``UfsFree``, ``UfsDelete``, ``UfsRename`` and ``UfsRun``
- Support for filesystem ``autoexec.bat`` to execute sequential commands like backlog
- Support for TM1637 seven segment display by Ajith Vasudevan (#10889)
### Changed
- IRremoteESP8266 library from v2.7.14 to v2.7.15

View File

@ -112,6 +112,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
- Support for IR inverted leds using ``#define IR_SEND_INVERTED true`` [#10301](https://github.com/arendst/Tasmota/issues/10301)
- Support for disabling 38kHz IR modulation using ``#define IR_SEND_USE_MODULATION false`` [#10301](https://github.com/arendst/Tasmota/issues/10301)
- Support for SPI display driver for ST7789 TFT by Gerhard Mutz [#9037](https://github.com/arendst/Tasmota/issues/9037)
- Support for TM1637 seven segment display by Ajith Vasudevan [#10889](https://github.com/arendst/Tasmota/issues/10889)
- Support for time proportioned (``#define USE_TIMEPROP``) and optional PID (``#define USE_PID``) relay control [#10412](https://github.com/arendst/Tasmota/issues/10412)
- Support for 24/26/32/34 bit RFID Wiegand interface (D0/D1) by Sigurd Leuther [#3647](https://github.com/arendst/Tasmota/issues/3647)
- Support for SM2135 current selection using GPIO ``SM2135 DAT`` index [#10634](https://github.com/arendst/Tasmota/issues/10634)

View File

@ -635,13 +635,15 @@
// #define USE_DISPLAY_RA8876 // [DisplayModel 10] [I2cDriver39] (Touch)
// #define USE_DISPLAY_ST7789 // [DisplayModel 12] Enable ST7789 module
// #define USE_DISPLAY_SSD1331 // [DisplayModel 14] Enable SSD1331 module
// #define USE_DISPLAY_TM1637 // [DisplayModel 15] Enable TM1637 module
// #define USE_RC522 // Add support for MFRC522 13.56Mhz Rfid reader (+6k code)
// #define USE_RC522_DATA_FUNCTION // Add support for reading data block content (+0k4 code)
// #define USE_RC522_TYPE_INFORMATION // Add support for showing card type (+0k4 code)
#endif // USE_SPI
//#define USE_DISPLAY // Add Display support
// #define USE_DISPLAY_TM1637 // [DisplayModel 15] Enable TM1637 module
// -- Serial sensors ------------------------------
//#define USE_MHZ19 // Add support for MH-Z19 CO2 sensor (+2k code)
//#define USE_SENSEAIR // Add support for SenseAir K30, K70 and S8 CO2 sensor (+2k3 code)

View File

@ -715,7 +715,9 @@ void ResponseAppendFeatures(void)
#if defined(USE_ENERGY_SENSOR) && defined(USE_SDM72)
feature7 |= 0x20000000; // xnrg_18_sdm72.ino
#endif
// feature7 |= 0x40000000;
#if defined(USE_DISPLAY) && defined(USE_DISPLAY_TM1637)
feature7 |= 0x40000000;
#endif
// feature7 |= 0x80000000;
}

View File

@ -301,9 +301,10 @@
#undef USE_BLE_ESP32 // (ESP32 only) Disable support for native BLE on ESP32 - use new driver
#undef USE_MI_ESP32 // (ESP32 only) Disable support for ESP32 as a BLE-bridge (+9k2 mem, +292k flash)
#define USE_DISPLAY // Add Display Support (+2k code)
#define USE_DISPLAY_TM1637 // [DisplayModel 15] Enable TM1637 module
#define USE_I2C // I2C using library wire (+10k code, 0k2 mem, 124 iram)
#define USE_DISPLAY // Add I2C Display Support (+2k code)
#define USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0
#define USE_DISPLAY_LCD // [DisplayModel 1] Enable Lcd display (I2C addresses 0x27 and 0x3F) (+6k code)
#define USE_DISPLAY_SSD1306 // [DisplayModel 2] Enable SSD1306 Oled 128x64 display (I2C addresses 0x3C and 0x3D) (+16k code)
@ -320,7 +321,6 @@
#define USE_DISPLAY_RA8876 // [DisplayModel 10]
#define USE_DISPLAY_ST7789 // [DisplayModel 12] Enable ST7789 module
#define USE_DISPLAY_SSD1331 // [DisplayModel 14] Enable SSD1331 module
#define USE_DISPLAY_TM1637 // [DisplayModel 15] Enable TM1637 module
#undef DEBUG_THEO // Disable debug code
#undef USE_DEBUG_DRIVER // Disable debug code

View File

@ -1,7 +1,7 @@
/*
xdsp_15_tm1637.ino - Support for TM1637 seven-segment display (upto 6 digits) for Tasmota
Copyright (C) 2020 Ajith Vasudevan
Copyright (C) 2021 Ajith Vasudevan
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,9 +17,9 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
#ifdef USE_DISPLAY
#ifdef USE_DISPLAY_TM1637
/*********************************************************************************************\
This driver enables the display of numbers (both integers and floats) and basic text
on the inexpensive TM1637-based seven-segment modules (tested on both 4- and 6-digit variants).
Raw segments can also be displayed.
@ -132,16 +132,6 @@
"DisplayClock 2" // 24 hr format
"DisplayClock 0" // turn off clock
*/
#ifdef USE_DISPLAY
#ifdef USE_DISPLAY_TM1637
/*********************************************************************************************\
* TM1637 support
\*********************************************************************************************/
#define XDSP_15 15

View File

@ -245,7 +245,7 @@ a_features = [[
"USE_DISPLAY_ILI9488","USE_DISPLAY_SSD1351","USE_DISPLAY_RA8876","USE_DISPLAY_ST7789",
"USE_DISPLAY_SSD1331","USE_UFILESYS","USE_TIMEPROP","USE_PID",
"USE_BS814A2","USE_SEESAW_SOIL","USE_WIEGAND","USE_NEOPOOL",
"USE_TOF10120","USE_SDM72","",""
"USE_TOF10120","USE_SDM72","USE_DISPLAY_TM1637",""
],[
"","","","",
"","","","",
@ -282,7 +282,7 @@ else:
obj = json.load(fp)
def StartDecode():
print ("\n*** decode-status.py v20210122 by Theo Arends and Jacek Ziolkowski ***")
print ("\n*** decode-status.py v20210217 by Theo Arends and Jacek Ziolkowski ***")
# print("Decoding\n{}".format(obj))