mirror of
https://github.com/esphome/esphome.git
synced 2025-07-28 14:16:40 +00:00
[nextion] Add optional device info storage configuration (#9366)
This commit is contained in:
parent
8147d117a0
commit
e88b8d10ec
@ -11,6 +11,7 @@ CONF_AUTO_WAKE_ON_TOUCH = "auto_wake_on_touch"
|
|||||||
CONF_BACKGROUND_PRESSED_COLOR = "background_pressed_color"
|
CONF_BACKGROUND_PRESSED_COLOR = "background_pressed_color"
|
||||||
CONF_COMMAND_SPACING = "command_spacing"
|
CONF_COMMAND_SPACING = "command_spacing"
|
||||||
CONF_COMPONENT_NAME = "component_name"
|
CONF_COMPONENT_NAME = "component_name"
|
||||||
|
CONF_DUMP_DEVICE_INFO = "dump_device_info"
|
||||||
CONF_EXIT_REPARSE_ON_START = "exit_reparse_on_start"
|
CONF_EXIT_REPARSE_ON_START = "exit_reparse_on_start"
|
||||||
CONF_FONT_ID = "font_id"
|
CONF_FONT_ID = "font_id"
|
||||||
CONF_FOREGROUND_PRESSED_COLOR = "foreground_pressed_color"
|
CONF_FOREGROUND_PRESSED_COLOR = "foreground_pressed_color"
|
||||||
|
@ -15,6 +15,7 @@ from . import Nextion, nextion_ns, nextion_ref
|
|||||||
from .base_component import (
|
from .base_component import (
|
||||||
CONF_AUTO_WAKE_ON_TOUCH,
|
CONF_AUTO_WAKE_ON_TOUCH,
|
||||||
CONF_COMMAND_SPACING,
|
CONF_COMMAND_SPACING,
|
||||||
|
CONF_DUMP_DEVICE_INFO,
|
||||||
CONF_EXIT_REPARSE_ON_START,
|
CONF_EXIT_REPARSE_ON_START,
|
||||||
CONF_MAX_COMMANDS_PER_LOOP,
|
CONF_MAX_COMMANDS_PER_LOOP,
|
||||||
CONF_MAX_QUEUE_SIZE,
|
CONF_MAX_QUEUE_SIZE,
|
||||||
@ -57,6 +58,7 @@ CONFIG_SCHEMA = (
|
|||||||
cv.positive_time_period_milliseconds,
|
cv.positive_time_period_milliseconds,
|
||||||
cv.Range(max=TimePeriod(milliseconds=255)),
|
cv.Range(max=TimePeriod(milliseconds=255)),
|
||||||
),
|
),
|
||||||
|
cv.Optional(CONF_DUMP_DEVICE_INFO, default=False): cv.boolean,
|
||||||
cv.Optional(CONF_EXIT_REPARSE_ON_START, default=False): cv.boolean,
|
cv.Optional(CONF_EXIT_REPARSE_ON_START, default=False): cv.boolean,
|
||||||
cv.Optional(CONF_MAX_COMMANDS_PER_LOOP): cv.uint16_t,
|
cv.Optional(CONF_MAX_COMMANDS_PER_LOOP): cv.uint16_t,
|
||||||
cv.Optional(CONF_MAX_QUEUE_SIZE): cv.positive_int,
|
cv.Optional(CONF_MAX_QUEUE_SIZE): cv.positive_int,
|
||||||
@ -174,6 +176,9 @@ async def to_code(config):
|
|||||||
|
|
||||||
cg.add(var.set_auto_wake_on_touch(config[CONF_AUTO_WAKE_ON_TOUCH]))
|
cg.add(var.set_auto_wake_on_touch(config[CONF_AUTO_WAKE_ON_TOUCH]))
|
||||||
|
|
||||||
|
if config[CONF_DUMP_DEVICE_INFO]:
|
||||||
|
cg.add_define("USE_NEXTION_CONFIG_DUMP_DEVICE_INFO")
|
||||||
|
|
||||||
if config[CONF_EXIT_REPARSE_ON_START]:
|
if config[CONF_EXIT_REPARSE_ON_START]:
|
||||||
cg.add_define("USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START")
|
cg.add_define("USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START")
|
||||||
|
|
||||||
|
@ -110,11 +110,19 @@ bool Nextion::check_connect_() {
|
|||||||
this->is_detected_ = (connect_info.size() == 7);
|
this->is_detected_ = (connect_info.size() == 7);
|
||||||
if (this->is_detected_) {
|
if (this->is_detected_) {
|
||||||
ESP_LOGN(TAG, "Connect info: %zu", connect_info.size());
|
ESP_LOGN(TAG, "Connect info: %zu", connect_info.size());
|
||||||
|
#ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
this->device_model_ = connect_info[2];
|
this->device_model_ = connect_info[2];
|
||||||
this->firmware_version_ = connect_info[3];
|
this->firmware_version_ = connect_info[3];
|
||||||
this->serial_number_ = connect_info[5];
|
this->serial_number_ = connect_info[5];
|
||||||
this->flash_size_ = connect_info[6];
|
this->flash_size_ = connect_info[6];
|
||||||
|
#else // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
|
ESP_LOGI(TAG,
|
||||||
|
" Device Model: %s\n"
|
||||||
|
" FW Version: %s\n"
|
||||||
|
" Serial Number: %s\n"
|
||||||
|
" Flash Size: %s\n",
|
||||||
|
connect_info[2].c_str(), connect_info[3].c_str(), connect_info[5].c_str(), connect_info[6].c_str());
|
||||||
|
#endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGE(TAG, "Bad connect value: '%s'", response.c_str());
|
ESP_LOGE(TAG, "Bad connect value: '%s'", response.c_str());
|
||||||
}
|
}
|
||||||
@ -142,18 +150,22 @@ void Nextion::dump_config() {
|
|||||||
ESP_LOGCONFIG(TAG, " Skip handshake: YES");
|
ESP_LOGCONFIG(TAG, " Skip handshake: YES");
|
||||||
#else // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE
|
#else // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE
|
||||||
ESP_LOGCONFIG(TAG,
|
ESP_LOGCONFIG(TAG,
|
||||||
|
#ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
" Device Model: %s\n"
|
" Device Model: %s\n"
|
||||||
" FW Version: %s\n"
|
" FW Version: %s\n"
|
||||||
" Serial Number: %s\n"
|
" Serial Number: %s\n"
|
||||||
" Flash Size: %s\n"
|
" Flash Size: %s\n"
|
||||||
|
#endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
#ifdef USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START
|
#ifdef USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START
|
||||||
" Exit reparse: YES\n"
|
" Exit reparse: YES\n"
|
||||||
#endif // USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START
|
#endif // USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START
|
||||||
" Wake On Touch: %s\n"
|
" Wake On Touch: %s\n"
|
||||||
" Touch Timeout: %" PRIu16,
|
" Touch Timeout: %" PRIu16,
|
||||||
|
#ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
this->device_model_.c_str(), this->firmware_version_.c_str(), this->serial_number_.c_str(),
|
this->device_model_.c_str(), this->firmware_version_.c_str(), this->serial_number_.c_str(),
|
||||||
this->flash_size_.c_str(), YESNO(this->connection_state_.auto_wake_on_touch_),
|
this->flash_size_.c_str(),
|
||||||
this->touch_sleep_timeout_);
|
#endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
|
YESNO(this->connection_state_.auto_wake_on_touch_), this->touch_sleep_timeout_);
|
||||||
#endif // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE
|
#endif // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE
|
||||||
|
|
||||||
#ifdef USE_NEXTION_MAX_COMMANDS_PER_LOOP
|
#ifdef USE_NEXTION_MAX_COMMANDS_PER_LOOP
|
||||||
|
@ -1457,10 +1457,12 @@ class Nextion : public NextionBase, public PollingComponent, public uart::UARTDe
|
|||||||
optional<nextion_writer_t> writer_;
|
optional<nextion_writer_t> writer_;
|
||||||
optional<float> brightness_;
|
optional<float> brightness_;
|
||||||
|
|
||||||
|
#ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
std::string device_model_;
|
std::string device_model_;
|
||||||
std::string firmware_version_;
|
std::string firmware_version_;
|
||||||
std::string serial_number_;
|
std::string serial_number_;
|
||||||
std::string flash_size_;
|
std::string flash_size_;
|
||||||
|
#endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
|
||||||
|
|
||||||
void remove_front_no_sensors_();
|
void remove_front_no_sensors_();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user