mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-27 13:13:50 +00:00 
			
		
		
		
	* Fix build failures for logger component on host platform * Add climits header * Restore logger functionality on host * Install libsodium in ci
This commit is contained in:
		
							
								
								
									
										3
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -433,6 +433,9 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         file: ${{ fromJson(needs.list-components.outputs.matrix) }} |         file: ${{ fromJson(needs.list-components.outputs.matrix) }} | ||||||
|     steps: |     steps: | ||||||
|  |       - name: Install libsodium | ||||||
|  |         run: sudo apt-get install libsodium-dev | ||||||
|  |  | ||||||
|       - name: Check out code from GitHub |       - name: Check out code from GitHub | ||||||
|         uses: actions/checkout@v4.1.1 |         uses: actions/checkout@v4.1.1 | ||||||
|       - name: Restore Python |       - name: Restore Python | ||||||
|   | |||||||
| @@ -6,6 +6,7 @@ | |||||||
| #include "esphome/core/helpers.h" | #include "esphome/core/helpers.h" | ||||||
| #include "esphome/core/version.h" | #include "esphome/core/version.h" | ||||||
| #include <cinttypes> | #include <cinttypes> | ||||||
|  | #include <climits> | ||||||
|  |  | ||||||
| #ifdef USE_ESP32 | #ifdef USE_ESP32 | ||||||
|  |  | ||||||
| @@ -49,6 +50,8 @@ static uint32_t get_free_heap() { | |||||||
|   return rp2040.getFreeHeap(); |   return rp2040.getFreeHeap(); | ||||||
| #elif defined(USE_LIBRETINY) | #elif defined(USE_LIBRETINY) | ||||||
|   return lt_heap_get_free(); |   return lt_heap_get_free(); | ||||||
|  | #elif defined(USE_HOST) | ||||||
|  |   return INT_MAX; | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -144,6 +144,8 @@ def uart_selection(value): | |||||||
|         component = get_libretiny_component() |         component = get_libretiny_component() | ||||||
|         if component in UART_SELECTION_LIBRETINY: |         if component in UART_SELECTION_LIBRETINY: | ||||||
|             return cv.one_of(*UART_SELECTION_LIBRETINY[component], upper=True)(value) |             return cv.one_of(*UART_SELECTION_LIBRETINY[component], upper=True)(value) | ||||||
|  |     if CORE.is_host: | ||||||
|  |         raise cv.Invalid("Uart selection not valid for host platform") | ||||||
|     raise NotImplementedError |     raise NotImplementedError | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -146,8 +146,10 @@ const char *const LOG_LEVELS[] = {"NONE", "ERROR", "WARN", "INFO", "CONFIG", "DE | |||||||
| void Logger::dump_config() { | void Logger::dump_config() { | ||||||
|   ESP_LOGCONFIG(TAG, "Logger:"); |   ESP_LOGCONFIG(TAG, "Logger:"); | ||||||
|   ESP_LOGCONFIG(TAG, "  Level: %s", LOG_LEVELS[ESPHOME_LOG_LEVEL]); |   ESP_LOGCONFIG(TAG, "  Level: %s", LOG_LEVELS[ESPHOME_LOG_LEVEL]); | ||||||
|  | #ifndef USE_HOST | ||||||
|   ESP_LOGCONFIG(TAG, "  Log Baud Rate: %" PRIu32, this->baud_rate_); |   ESP_LOGCONFIG(TAG, "  Log Baud Rate: %" PRIu32, this->baud_rate_); | ||||||
|   ESP_LOGCONFIG(TAG, "  Hardware UART: %s", get_uart_selection_()); |   ESP_LOGCONFIG(TAG, "  Hardware UART: %s", get_uart_selection_()); | ||||||
|  | #endif | ||||||
|  |  | ||||||
|   for (auto &it : this->log_levels_) { |   for (auto &it : this->log_levels_) { | ||||||
|     ESP_LOGCONFIG(TAG, "  Level for '%s': %s", it.tag.c_str(), LOG_LEVELS[it.level]); |     ESP_LOGCONFIG(TAG, "  Level for '%s': %s", it.tag.c_str(), LOG_LEVELS[it.level]); | ||||||
|   | |||||||
| @@ -137,7 +137,9 @@ class Logger : public Component { | |||||||
|     va_end(arg); |     va_end(arg); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | #ifndef USE_HOST | ||||||
|   const char *get_uart_selection_(); |   const char *get_uart_selection_(); | ||||||
|  | #endif | ||||||
|  |  | ||||||
|   uint32_t baud_rate_; |   uint32_t baud_rate_; | ||||||
|   char *tx_buffer_{nullptr}; |   char *tx_buffer_{nullptr}; | ||||||
|   | |||||||
| @@ -16,6 +16,8 @@ void HOT Logger::write_msg_(const char *msg) { | |||||||
|   puts(msg); |   puts(msg); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void Logger::pre_setup() { global_logger = this; } | ||||||
|  |  | ||||||
| }  // namespace logger | }  // namespace logger | ||||||
| }  // namespace esphome | }  // namespace esphome | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								tests/components/debug/test.host.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tests/components/debug/test.host.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | debug: | ||||||
							
								
								
									
										18
									
								
								tests/test_build_components/build_components_base.host.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								tests/test_build_components/build_components_base.host.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | esphome: | ||||||
|  |   name: componenttesthost | ||||||
|  |   friendly_name: $component_name | ||||||
|  |  | ||||||
|  | host: | ||||||
|  |   mac_address: "62:23:45:AF:B3:DD" | ||||||
|  |  | ||||||
|  | logger: | ||||||
|  |   level: VERY_VERBOSE | ||||||
|  |  | ||||||
|  | packages: | ||||||
|  |   component_under_test: !include | ||||||
|  |     file: $component_test_file | ||||||
|  |     vars: | ||||||
|  |       component_name: $component_name | ||||||
|  |       test_name: $test_name | ||||||
|  |       target_platform: $target_platform | ||||||
|  |       component_test_file: $component_test_file | ||||||
		Reference in New Issue
	
	Block a user