mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	merge
This commit is contained in:
		| @@ -393,7 +393,8 @@ class DoubleType(TypeInfo): | ||||
|         return o | ||||
|  | ||||
|     def get_size_calculation(self, name: str, force: bool = False) -> str: | ||||
|         return self._get_fixed_size_calculation(name, "add_double") | ||||
|         field_id_size = self.calculate_field_id_size() | ||||
|         return f"size.add_double({field_id_size}, {name});" | ||||
|  | ||||
|     def get_fixed_size_bytes(self) -> int: | ||||
|         return 8 | ||||
| @@ -1116,18 +1117,6 @@ class FixedArrayRepeatedType(TypeInfo): | ||||
|                 return f"buffer.{self._ti.encode_func}({self.number}, static_cast<uint32_t>({element}), true);" | ||||
|             return f"buffer.{self._ti.encode_func}({self.number}, {element}, true);" | ||||
|  | ||||
|         # If skip_zero is enabled, wrap encoding in a zero check | ||||
|         if self.skip_zero: | ||||
|             # Build the condition to check if at least one element is non-zero | ||||
|             non_zero_checks = " || ".join( | ||||
|                 [f"this->{self.field_name}[{i}] != 0" for i in range(self.array_size)] | ||||
|             ) | ||||
|             encode_lines = [ | ||||
|                 f"  {encode_element(f'this->{self.field_name}[{i}]')}" | ||||
|                 for i in range(self.array_size) | ||||
|             ] | ||||
|             return f"if ({non_zero_checks}) {{\n" + "\n".join(encode_lines) + "\n}" | ||||
|  | ||||
|         # If skip_zero is enabled, wrap encoding in a zero check | ||||
|         if self.skip_zero: | ||||
|             if self.is_define: | ||||
| @@ -1477,9 +1466,6 @@ def build_type_usage_map( | ||||
|                 field_ifdef = get_field_opt(field, pb.field_ifdef) | ||||
|                 message_field_ifdefs.setdefault(type_name, set()).add(field_ifdef) | ||||
|                 used_messages.add(type_name) | ||||
|                 # Also track the field_ifdef if present | ||||
|                 field_ifdef = get_field_opt(field, pb.field_ifdef) | ||||
|                 message_field_ifdefs.setdefault(type_name, set()).add(field_ifdef) | ||||
|  | ||||
|     # Helper to get unique ifdef from a set of messages | ||||
|     def get_unique_ifdef(message_names: set[str]) -> str | None: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user