mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 18:56:38 +00:00
Remove command DisplayBrightness
Remove command DisplayBrightness in favour of already available DisplayDimmer
This commit is contained in:
parent
245023f9da
commit
ccd3477737
@ -89,12 +89,12 @@ enum XdspFunctions { FUNC_DISPLAY_INIT_DRIVER, FUNC_DISPLAY_INIT, FUNC_DISPLAY_E
|
||||
FUNC_DISPLAY_DRAW_CIRCLE, FUNC_DISPLAY_FILL_CIRCLE,
|
||||
FUNC_DISPLAY_DRAW_RECTANGLE, FUNC_DISPLAY_FILL_RECTANGLE,
|
||||
FUNC_DISPLAY_TEXT_SIZE, FUNC_DISPLAY_FONT_SIZE, FUNC_DISPLAY_ROTATION, FUNC_DISPLAY_DRAW_STRING,
|
||||
FUNC_DISPLAY_DIM, FUNC_DISPLAY_BLINKRATE
|
||||
FUNC_DISPLAY_DIM, FUNC_DISPLAY_BLINKRATE,
|
||||
#ifdef USE_UFILESYS
|
||||
,FUNC_DISPLAY_BATCH
|
||||
FUNC_DISPLAY_BATCH,
|
||||
#endif
|
||||
, FUNC_DISPLAY_NUMBER, FUNC_DISPLAY_FLOAT, FUNC_DISPLAY_NUMBERNC, FUNC_DISPLAY_FLOATNC,
|
||||
FUNC_DISPLAY_BRIGHTNESS, FUNC_DISPLAY_RAW, FUNC_DISPLAY_LEVEL, FUNC_DISPLAY_SEVENSEG_TEXT, FUNC_DISPLAY_SEVENSEG_TEXTNC,
|
||||
FUNC_DISPLAY_NUMBER, FUNC_DISPLAY_FLOAT, FUNC_DISPLAY_NUMBERNC, FUNC_DISPLAY_FLOATNC,
|
||||
FUNC_DISPLAY_RAW, FUNC_DISPLAY_LEVEL, FUNC_DISPLAY_SEVENSEG_TEXT, FUNC_DISPLAY_SEVENSEG_TEXTNC,
|
||||
FUNC_DISPLAY_SCROLLDELAY, FUNC_DISPLAY_CLOCK, FUNC_DISPLAY_SCROLLTEXT
|
||||
};
|
||||
|
||||
@ -103,25 +103,25 @@ enum DisplayInitModes { DISPLAY_INIT_MODE, DISPLAY_INIT_PARTIAL, DISPLAY_INIT_FU
|
||||
const char kDisplayCommands[] PROGMEM = D_PRFX_DISPLAY "|" // Prefix
|
||||
"|" D_CMND_DISP_MODEL "|" D_CMND_DISP_WIDTH "|" D_CMND_DISP_HEIGHT "|" D_CMND_DISP_MODE "|" D_CMND_DISP_REFRESH "|"
|
||||
D_CMND_DISP_DIMMER "|" D_CMND_DISP_COLS "|" D_CMND_DISP_ROWS "|" D_CMND_DISP_SIZE "|" D_CMND_DISP_FONT "|"
|
||||
D_CMND_DISP_ROTATE "|" D_CMND_DISP_TEXT "|" D_CMND_DISP_ADDRESS "|" D_CMND_DISP_BLINKRATE
|
||||
D_CMND_DISP_ROTATE "|" D_CMND_DISP_TEXT "|" D_CMND_DISP_ADDRESS "|" D_CMND_DISP_BLINKRATE "|"
|
||||
#ifdef USE_UFILESYS
|
||||
"|" D_CMND_DISP_BATCH
|
||||
D_CMND_DISP_BATCH "|"
|
||||
#endif
|
||||
"|" D_CMND_DISP_CLEAR "|" D_CMND_DISP_NUMBER "|" D_CMND_DISP_FLOAT "|" D_CMND_DISP_NUMBERNC "|" D_CMND_DISP_FLOATNC "|"
|
||||
D_CMND_DISP_BRIGHTNESS "|" D_CMND_DISP_RAW "|" D_CMND_DISP_LEVEL "|" D_CMND_DISP_SEVENSEG_TEXT "|" D_CMND_DISP_SEVENSEG_TEXTNC "|"
|
||||
D_CMND_DISP_SCROLLDELAY "|" D_CMND_DISP_CLOCK "|" D_CMND_DISP_TEXTNC "|"
|
||||
D_CMND_DISP_CLEAR "|" D_CMND_DISP_NUMBER "|" D_CMND_DISP_FLOAT "|" D_CMND_DISP_NUMBERNC "|" D_CMND_DISP_FLOATNC "|"
|
||||
D_CMND_DISP_RAW "|" D_CMND_DISP_LEVEL "|" D_CMND_DISP_SEVENSEG_TEXT "|" D_CMND_DISP_SEVENSEG_TEXTNC "|"
|
||||
D_CMND_DISP_SCROLLDELAY "|" D_CMND_DISP_CLOCK "|" D_CMND_DISP_TEXTNC "|"
|
||||
D_CMND_DISP_SCROLLTEXT "|" D_CMND_DISP_ILIMODE "|" D_CMND_DISP_ILIINVERT
|
||||
;
|
||||
|
||||
void (* const DisplayCommand[])(void) PROGMEM = {
|
||||
&CmndDisplay, &CmndDisplayModel, &CmndDisplayWidth, &CmndDisplayHeight, &CmndDisplayMode, &CmndDisplayRefresh,
|
||||
&CmndDisplayDimmer, &CmndDisplayColumns, &CmndDisplayRows, &CmndDisplaySize, &CmndDisplayFont,
|
||||
&CmndDisplayRotate, &CmndDisplayText, &CmndDisplayAddress, &CmndDisplayBlinkrate
|
||||
&CmndDisplayRotate, &CmndDisplayText, &CmndDisplayAddress, &CmndDisplayBlinkrate,
|
||||
#ifdef USE_UFILESYS
|
||||
,&CmndDisplayBatch
|
||||
&CmndDisplayBatch,
|
||||
#endif
|
||||
, &CmndDisplayClear, &CmndDisplayNumber, &CmndDisplayFloat, &CmndDisplayNumberNC, &CmndDisplayFloatNC,
|
||||
&CmndDisplayBrightness, &CmndDisplayRaw, &CmndDisplayLevel, &CmndDisplaySevensegText, &CmndDisplaySevensegTextNC,
|
||||
&CmndDisplayClear, &CmndDisplayNumber, &CmndDisplayFloat, &CmndDisplayNumberNC, &CmndDisplayFloatNC,
|
||||
&CmndDisplayRaw, &CmndDisplayLevel, &CmndDisplaySevensegText, &CmndDisplaySevensegTextNC,
|
||||
&CmndDisplayScrollDelay, &CmndDisplayClock, &CmndDisplayTextNC,
|
||||
&CmndDisplayScrollText, &CmndDisplayILIMOde , &CmndDisplayILIInvert
|
||||
};
|
||||
@ -1643,7 +1643,7 @@ void CmndDisplay(void)
|
||||
D_CMND_DISP_MODE "\":%d,\"" D_CMND_DISP_DIMMER "\":%d,\"" D_CMND_DISP_SIZE "\":%d,\"" D_CMND_DISP_FONT "\":%d,\""
|
||||
D_CMND_DISP_ROTATE "\":%d,\"" D_CMND_DISP_REFRESH "\":%d,\"" D_CMND_DISP_COLS "\":[%d,%d],\"" D_CMND_DISP_ROWS "\":%d}}"),
|
||||
Settings.display_model, Settings.display_width, Settings.display_height,
|
||||
Settings.display_mode, Settings.display_dimmer, Settings.display_size, Settings.display_font,
|
||||
Settings.display_mode, ((Settings.display_dimmer * 666) / 100) +1, Settings.display_size, Settings.display_font,
|
||||
Settings.display_rotate, Settings.display_refresh, Settings.display_cols[0], Settings.display_cols[1], Settings.display_rows);
|
||||
}
|
||||
|
||||
@ -1686,7 +1686,7 @@ void CmndDisplayHeight(void)
|
||||
void CmndDisplayMode(void)
|
||||
{
|
||||
#ifdef USE_DISPLAY_MODES1TO5
|
||||
/* Matrix LCD / Oled TFT
|
||||
/* Matrix / 7-segment LCD / Oled TFT
|
||||
* 1 = Text up and time Time
|
||||
* 2 = Date Local sensors Local sensors
|
||||
* 3 = Day Local sensors and time Local sensors and time
|
||||
@ -1714,8 +1714,7 @@ void CmndDisplayMode(void)
|
||||
ResponseCmndNumber(Settings.display_mode);
|
||||
}
|
||||
|
||||
void CmndDisplayDimmer(void)
|
||||
{
|
||||
void CmndDisplayDimmer(void) {
|
||||
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 100)) {
|
||||
Settings.display_dimmer = ((XdrvMailbox.payload +1) * 100) / 666; // Correction for Domoticz (0 - 15)
|
||||
if (Settings.display_dimmer && !(disp_power)) {
|
||||
@ -1724,12 +1723,13 @@ void CmndDisplayDimmer(void)
|
||||
else if (!Settings.display_dimmer && disp_power) {
|
||||
ExecuteCommandPower(disp_device, POWER_OFF, SRC_DISPLAY);
|
||||
}
|
||||
if (renderer)
|
||||
if (renderer) {
|
||||
renderer->dim(Settings.display_dimmer);
|
||||
else
|
||||
} else {
|
||||
XdspCall(FUNC_DISPLAY_DIM);
|
||||
}
|
||||
}
|
||||
ResponseCmndNumber(Settings.display_dimmer);
|
||||
ResponseCmndNumber(((Settings.display_dimmer * 666) / 100) +1);
|
||||
}
|
||||
|
||||
void CmndDisplayBlinkrate(void)
|
||||
@ -1794,15 +1794,6 @@ void CmndDisplayFloatNC(void)
|
||||
ResponseCmndChar(XdrvMailbox.data);
|
||||
}
|
||||
|
||||
void CmndDisplayBrightness(void)
|
||||
{
|
||||
bool result = false;
|
||||
if (!renderer) {
|
||||
result = XdspCall(FUNC_DISPLAY_BRIGHTNESS);
|
||||
}
|
||||
if(result) ResponseCmndNumber(XdrvMailbox.payload);
|
||||
}
|
||||
|
||||
void CmndDisplayRaw(void)
|
||||
{
|
||||
if (!renderer) {
|
||||
|
@ -87,12 +87,6 @@
|
||||
|
||||
|
||||
|
||||
DisplayBrightness num {1-8}
|
||||
|
||||
Set brightness (1 to 8) command e.g., "DisplayBrightness 2"
|
||||
|
||||
|
||||
|
||||
DisplayRaw position {0-(Settings.display_width-1)},length {1 to Settings.display_width}, num1 [, num2[, num3[, num4[, ...upto Settings.display_width numbers]]]]]
|
||||
|
||||
Takes upto Settings.display_width comma-separated integers (0-255) and displays raw segments. Each number represents a
|
||||
@ -148,8 +142,6 @@
|
||||
|
||||
#define XDSP_15 15
|
||||
|
||||
#define BRIGHTNESS_MIN 1
|
||||
#define BRIGHTNESS_MAX 8
|
||||
#define CMD_MAX_LEN 55
|
||||
#define LEVEL_MIN 0
|
||||
#define LEVEL_MAX 100
|
||||
@ -174,7 +166,6 @@ struct {
|
||||
uint8_t scroll_delay = 4;
|
||||
uint8_t scroll_index = 0;
|
||||
uint8_t iteration = 0;
|
||||
uint8_t brightness = 5;
|
||||
uint8_t buttons;
|
||||
uint8_t display_type = TM1637;
|
||||
uint8_t prev_buttons;
|
||||
@ -221,8 +212,7 @@ void TM1637Init(void) {
|
||||
tm1638display->displayBegin();
|
||||
}
|
||||
TM1637ClearDisplay();
|
||||
TM1637Data.brightness = (Settings.display_dimmer ? Settings.display_dimmer : TM1637Data.brightness);
|
||||
TM1637SetBrightness(TM1637Data.brightness);
|
||||
TM1637Dim();
|
||||
TM1637Data.init_done = true;
|
||||
AddLog(LOG_LEVEL_INFO, PSTR("DSP: %s with %d digits"), TM1637Data.model_name, Settings.display_width);
|
||||
}
|
||||
@ -664,40 +654,6 @@ bool CmndTM1637Text(bool clear) {
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Sets brightness of the display.
|
||||
* Command: DisplayBrightness {1-8}
|
||||
\*********************************************************************************************/
|
||||
bool CmndTM1637Brightness(void) {
|
||||
|
||||
uint16_t val = XdrvMailbox.payload;
|
||||
if(ArgC() == 0) {
|
||||
XdrvMailbox.payload = TM1637Data.brightness;
|
||||
return true;
|
||||
}
|
||||
|
||||
if((val < BRIGHTNESS_MIN) || (val > BRIGHTNESS_MAX)) {
|
||||
Response_P(PSTR("{\"Error\":\"Brightness should be a number in the range [%d, %d]\"}"), BRIGHTNESS_MIN, BRIGHTNESS_MAX);
|
||||
return false;
|
||||
}
|
||||
TM1637Data.brightness = val;
|
||||
TM1637SetBrightness(TM1637Data.brightness);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TM1637SetBrightness(uint8_t val) {
|
||||
if((val < BRIGHTNESS_MIN) || (val > BRIGHTNESS_MAX)) val = 5;
|
||||
Settings.display_dimmer = val;
|
||||
if(TM1637Data.display_type == TM1637) tm1637display->setBacklight(val*10);
|
||||
else if(TM1637Data.display_type == TM1638) tm1638display->brightness(val-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Displays a clock.
|
||||
* Command: DisplayClock 1 // 12-hour format
|
||||
@ -787,9 +743,6 @@ bool TM1637MainFunc(uint8_t fn) {
|
||||
case FUNC_DISPLAY_FLOATNC :
|
||||
result = CmndTM1637Float(false);
|
||||
break;
|
||||
case FUNC_DISPLAY_BRIGHTNESS:
|
||||
result = CmndTM1637Brightness();
|
||||
break;
|
||||
case FUNC_DISPLAY_RAW:
|
||||
result = CmndTM1637Raw();
|
||||
break;
|
||||
@ -816,6 +769,17 @@ bool TM1637MainFunc(uint8_t fn) {
|
||||
return result;
|
||||
}
|
||||
|
||||
void TM1637Dim(void) {
|
||||
// Settings.display_dimmer = 0 - 15
|
||||
uint8_t brightness = Settings.display_dimmer >> 1; // 0 - 7
|
||||
|
||||
if (TM1637 == TM1637Data.display_type) {
|
||||
tm1637display->setBacklight(brightness * 12); // 0 - 84
|
||||
}
|
||||
else if (TM1637Data.display_type == TM1638) {
|
||||
tm1638display->brightness(brightness); // 0 - 7
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************************************/
|
||||
|
||||
@ -912,31 +876,31 @@ void TM1637Date(void) {
|
||||
}
|
||||
|
||||
void TM1637Refresh(void) { // Every second
|
||||
if (Settings.display_mode) { // Mode 0 is User text
|
||||
switch (Settings.display_mode) {
|
||||
case 1: // Time
|
||||
if (!disp_power || !Settings.display_mode) { return; } // Mode 0 is User text
|
||||
|
||||
switch (Settings.display_mode) {
|
||||
case 1: // Time
|
||||
TM1637Time();
|
||||
break;
|
||||
case 2: // Date
|
||||
TM1637Date();
|
||||
break;
|
||||
case 3: // Time
|
||||
if (TasmotaGlobal.uptime % Settings.display_refresh) {
|
||||
TM1637Time();
|
||||
break;
|
||||
case 2: // Date
|
||||
} else {
|
||||
TM1637Date();
|
||||
break;
|
||||
case 3: // Time
|
||||
if (TasmotaGlobal.uptime % Settings.display_refresh) {
|
||||
TM1637Time();
|
||||
} else {
|
||||
TM1637Date();
|
||||
}
|
||||
break;
|
||||
/*
|
||||
case 4: // Mqtt
|
||||
TM1637PrintLog();
|
||||
break;
|
||||
case 5: { // Mqtt
|
||||
if (!TM1637PrintLog()) { TM1637Time(); }
|
||||
break;
|
||||
}
|
||||
*/
|
||||
break;
|
||||
/*
|
||||
case 4: // Mqtt
|
||||
TM1637PrintLog();
|
||||
break;
|
||||
case 5: { // Mqtt
|
||||
if (!TM1637PrintLog()) { TM1637Time(); }
|
||||
break;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -980,12 +944,14 @@ bool Xdsp15(uint8_t function) {
|
||||
case FUNC_DISPLAY_SCROLLTEXT:
|
||||
case FUNC_DISPLAY_SCROLLDELAY:
|
||||
case FUNC_DISPLAY_CLOCK:
|
||||
TM1637Data.show_clock = false;
|
||||
case FUNC_DISPLAY_BRIGHTNESS:
|
||||
if (disp_power && !Settings.display_mode) {
|
||||
TM1637Data.show_clock = false;
|
||||
result = TM1637MainFunc(function);
|
||||
}
|
||||
break;
|
||||
case FUNC_DISPLAY_DIM:
|
||||
TM1637Dim();
|
||||
break;
|
||||
case FUNC_DISPLAY_POWER:
|
||||
if (!disp_power) { TM1637ClearDisplay(); }
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user