mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[nextion] Cached timing optimization (#9150)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
		| @@ -71,13 +71,13 @@ bool Nextion::check_connect_() { | ||||
|     } | ||||
|     this->send_command_("connect"); | ||||
|  | ||||
|     this->comok_sent_ = millis(); | ||||
|     this->comok_sent_ = App.get_loop_component_start_time(); | ||||
|     this->ignore_is_setup_ = false; | ||||
|  | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   if (millis() - this->comok_sent_ <= 500)  // Wait 500 ms | ||||
|   if (App.get_loop_component_start_time() - this->comok_sent_ <= 500)  // Wait 500 ms | ||||
|     return false; | ||||
|  | ||||
|   std::string response; | ||||
| @@ -318,9 +318,9 @@ void Nextion::loop() { | ||||
|  | ||||
|   if (!this->nextion_reports_is_setup_) { | ||||
|     if (this->started_ms_ == 0) | ||||
|       this->started_ms_ = millis(); | ||||
|       this->started_ms_ = App.get_loop_component_start_time(); | ||||
|  | ||||
|     if (this->started_ms_ + this->startup_override_ms_ < millis()) { | ||||
|     if (this->started_ms_ + this->startup_override_ms_ < App.get_loop_component_start_time()) { | ||||
|       ESP_LOGD(TAG, "Manual ready set"); | ||||
|       this->nextion_reports_is_setup_ = true; | ||||
|     } | ||||
| @@ -432,7 +432,7 @@ void Nextion::process_nextion_commands_() { | ||||
|       case 0x01:  // instruction sent by user was successful | ||||
|  | ||||
|         ESP_LOGVV(TAG, "Cmd OK"); | ||||
|         ESP_LOGN(TAG, "this->nextion_queue_.empty() %s", this->nextion_queue_.empty() ? "True" : "False"); | ||||
|         ESP_LOGN(TAG, "this->nextion_queue_.empty() %s", YESNO(this->nextion_queue_.empty())); | ||||
|  | ||||
|         this->remove_from_q_(); | ||||
|         if (!this->is_setup_) { | ||||
| @@ -444,7 +444,7 @@ void Nextion::process_nextion_commands_() { | ||||
|         } | ||||
| #ifdef USE_NEXTION_COMMAND_SPACING | ||||
|         this->command_pacer_.mark_sent();  // Here is where we should mark the command as sent | ||||
|         ESP_LOGN(TAG, "Command spacing: marked command sent at %u ms", millis()); | ||||
|         ESP_LOGN(TAG, "Command spacing: marked command sent"); | ||||
| #endif | ||||
|         break; | ||||
|       case 0x02:  // invalid Component ID or name was used | ||||
| @@ -828,7 +828,7 @@ void Nextion::process_nextion_commands_() { | ||||
|     this->command_data_.erase(0, to_process_length + COMMAND_DELIMITER.length() + 1); | ||||
|   } | ||||
|  | ||||
|   uint32_t ms = millis(); | ||||
|   uint32_t ms = App.get_loop_component_start_time(); | ||||
|  | ||||
|   if (!this->nextion_queue_.empty() && this->nextion_queue_.front()->queue_time + this->max_q_age_ms_ < ms) { | ||||
|     for (size_t i = 0; i < this->nextion_queue_.size(); i++) { | ||||
| @@ -967,9 +967,9 @@ uint16_t Nextion::recv_ret_string_(std::string &response, uint32_t timeout, bool | ||||
|   bool exit_flag = false; | ||||
|   bool ff_flag = false; | ||||
|  | ||||
|   start = millis(); | ||||
|   start = App.get_loop_component_start_time(); | ||||
|  | ||||
|   while ((timeout == 0 && this->available()) || millis() - start <= timeout) { | ||||
|   while ((timeout == 0 && this->available()) || App.get_loop_component_start_time() - start <= timeout) { | ||||
|     if (!this->available()) { | ||||
|       App.feed_wdt(); | ||||
|       delay(1); | ||||
| @@ -1038,7 +1038,7 @@ void Nextion::add_no_result_to_queue_(const std::string &variable_name) { | ||||
|   nextion_queue->component = new nextion::NextionComponentBase; | ||||
|   nextion_queue->component->set_variable_name(variable_name); | ||||
|  | ||||
|   nextion_queue->queue_time = millis(); | ||||
|   nextion_queue->queue_time = App.get_loop_component_start_time(); | ||||
|  | ||||
|   this->nextion_queue_.push_back(nextion_queue); | ||||
|  | ||||
| @@ -1085,7 +1085,7 @@ void Nextion::add_no_result_to_queue_with_pending_command_(const std::string &va | ||||
|  | ||||
|   nextion_queue->component = new nextion::NextionComponentBase; | ||||
|   nextion_queue->component->set_variable_name(variable_name); | ||||
|   nextion_queue->queue_time = millis(); | ||||
|   nextion_queue->queue_time = App.get_loop_component_start_time(); | ||||
|   nextion_queue->pending_command = command;  // Store command for retry | ||||
|  | ||||
|   this->nextion_queue_.push_back(nextion_queue); | ||||
| @@ -1224,7 +1224,7 @@ void Nextion::add_to_get_queue(NextionComponentBase *component) { | ||||
|   new (nextion_queue) nextion::NextionQueue(); | ||||
|  | ||||
|   nextion_queue->component = component; | ||||
|   nextion_queue->queue_time = millis(); | ||||
|   nextion_queue->queue_time = App.get_loop_component_start_time(); | ||||
|  | ||||
|   ESP_LOGN(TAG, "Queue %s: %s", component->get_queue_type_string().c_str(), component->get_variable_name().c_str()); | ||||
|  | ||||
| @@ -1256,7 +1256,7 @@ void Nextion::add_addt_command_to_queue(NextionComponentBase *component) { | ||||
|   new (nextion_queue) nextion::NextionQueue(); | ||||
|  | ||||
|   nextion_queue->component = component; | ||||
|   nextion_queue->queue_time = millis(); | ||||
|   nextion_queue->queue_time = App.get_loop_component_start_time(); | ||||
|  | ||||
|   this->waveform_queue_.push_back(nextion_queue); | ||||
|   if (this->waveform_queue_.size() == 1) | ||||
|   | ||||
| @@ -67,8 +67,8 @@ int Nextion::upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start) { | ||||
|     ESP_LOGV(TAG, "Fetch %" PRIu16 " bytes", buffer_size); | ||||
|     uint16_t read_len = 0; | ||||
|     int partial_read_len = 0; | ||||
|     const uint32_t start_time = millis(); | ||||
|     while (read_len < buffer_size && millis() - start_time < 5000) { | ||||
|     const uint32_t start_time = App.get_loop_component_start_time(); | ||||
|     while (read_len < buffer_size && App.get_loop_component_start_time() - start_time < 5000) { | ||||
|       if (http_client.getStreamPtr()->available() > 0) { | ||||
|         partial_read_len = | ||||
|             http_client.getStreamPtr()->readBytes(reinterpret_cast<char *>(buffer) + read_len, buffer_size - read_len); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user