1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-06 05:12:21 +01:00
This commit is contained in:
J. Nick Koston
2025-07-30 22:06:31 -10:00
parent 37911e84f2
commit 712de79973
2 changed files with 14 additions and 14 deletions

View File

@@ -1888,7 +1888,7 @@ bool BluetoothGATTGetServicesRequest::decode_varint(uint32_t field_id, ProtoVarI
return true; return true;
} }
void BluetoothGATTDescriptor::encode(ProtoWriteBuffer buffer) const { void BluetoothGATTDescriptor::encode(ProtoWriteBuffer buffer) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
buffer.encode_uint64(1, this->uuid[0], true); buffer.encode_uint64(1, this->uuid[0], true);
buffer.encode_uint64(1, this->uuid[1], true); buffer.encode_uint64(1, this->uuid[1], true);
} }
@@ -1897,7 +1897,7 @@ void BluetoothGATTDescriptor::encode(ProtoWriteBuffer buffer) const {
buffer.encode_uint32(4, this->uuid32); buffer.encode_uint32(4, this->uuid32);
} }
void BluetoothGATTDescriptor::calculate_size(ProtoSize &size) const { void BluetoothGATTDescriptor::calculate_size(ProtoSize &size) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
size.add_uint64_force(1, this->uuid[0]); size.add_uint64_force(1, this->uuid[0]);
size.add_uint64_force(1, this->uuid[1]); size.add_uint64_force(1, this->uuid[1]);
} }
@@ -1906,7 +1906,7 @@ void BluetoothGATTDescriptor::calculate_size(ProtoSize &size) const {
size.add_uint32(1, this->uuid32); size.add_uint32(1, this->uuid32);
} }
void BluetoothGATTCharacteristic::encode(ProtoWriteBuffer buffer) const { void BluetoothGATTCharacteristic::encode(ProtoWriteBuffer buffer) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
buffer.encode_uint64(1, this->uuid[0], true); buffer.encode_uint64(1, this->uuid[0], true);
buffer.encode_uint64(1, this->uuid[1], true); buffer.encode_uint64(1, this->uuid[1], true);
} }
@@ -1919,7 +1919,7 @@ void BluetoothGATTCharacteristic::encode(ProtoWriteBuffer buffer) const {
buffer.encode_uint32(6, this->uuid32); buffer.encode_uint32(6, this->uuid32);
} }
void BluetoothGATTCharacteristic::calculate_size(ProtoSize &size) const { void BluetoothGATTCharacteristic::calculate_size(ProtoSize &size) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
size.add_uint64_force(1, this->uuid[0]); size.add_uint64_force(1, this->uuid[0]);
size.add_uint64_force(1, this->uuid[1]); size.add_uint64_force(1, this->uuid[1]);
} }
@@ -1930,7 +1930,7 @@ void BluetoothGATTCharacteristic::calculate_size(ProtoSize &size) const {
size.add_uint32(1, this->uuid32); size.add_uint32(1, this->uuid32);
} }
void BluetoothGATTService::encode(ProtoWriteBuffer buffer) const { void BluetoothGATTService::encode(ProtoWriteBuffer buffer) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
buffer.encode_uint64(1, this->uuid[0], true); buffer.encode_uint64(1, this->uuid[0], true);
buffer.encode_uint64(1, this->uuid[1], true); buffer.encode_uint64(1, this->uuid[1], true);
} }
@@ -1942,7 +1942,7 @@ void BluetoothGATTService::encode(ProtoWriteBuffer buffer) const {
buffer.encode_uint32(5, this->uuid32); buffer.encode_uint32(5, this->uuid32);
} }
void BluetoothGATTService::calculate_size(ProtoSize &size) const { void BluetoothGATTService::calculate_size(ProtoSize &size) const {
if (!(this->uuid[0] == 0 && this->uuid[1] == 0)) { if (this->uuid[0] != 0 || this->uuid[1] != 0) {
size.add_uint64_force(1, this->uuid[0]); size.add_uint64_force(1, this->uuid[0]);
size.add_uint64_force(1, this->uuid[1]); size.add_uint64_force(1, this->uuid[1]);
} }

View File

@@ -1120,15 +1120,15 @@ class FixedArrayRepeatedType(TypeInfo):
# If skip_zero is enabled, wrap encoding in a zero check # If skip_zero is enabled, wrap encoding in a zero check
if self.skip_zero: if self.skip_zero:
# Build the condition to check if all elements are zero # Build the condition to check if at least one element is non-zero
zero_checks = " && ".join( non_zero_checks = " || ".join(
[f"this->{self.field_name}[{i}] == 0" for i in range(self.array_size)] [f"this->{self.field_name}[{i}] != 0" for i in range(self.array_size)]
) )
encode_lines = [ encode_lines = [
f" {encode_element(f'this->{self.field_name}[{i}]')}" f" {encode_element(f'this->{self.field_name}[{i}]')}"
for i in range(self.array_size) for i in range(self.array_size)
] ]
return f"if (!({zero_checks})) {{\n" + "\n".join(encode_lines) + "\n}" return f"if ({non_zero_checks}) {{\n" + "\n".join(encode_lines) + "\n}"
# Unroll small arrays for efficiency # Unroll small arrays for efficiency
if self.array_size == 1: if self.array_size == 1:
@@ -1160,15 +1160,15 @@ class FixedArrayRepeatedType(TypeInfo):
def get_size_calculation(self, name: str, force: bool = False) -> str: def get_size_calculation(self, name: str, force: bool = False) -> str:
# If skip_zero is enabled, wrap size calculation in a zero check # If skip_zero is enabled, wrap size calculation in a zero check
if self.skip_zero: if self.skip_zero:
# Build the condition to check if all elements are zero # Build the condition to check if at least one element is non-zero
zero_checks = " && ".join( non_zero_checks = " || ".join(
[f"{name}[{i}] == 0" for i in range(self.array_size)] [f"{name}[{i}] != 0" for i in range(self.array_size)]
) )
size_lines = [ size_lines = [
f" {self._ti.get_size_calculation(f'{name}[{i}]', True)}" f" {self._ti.get_size_calculation(f'{name}[{i}]', True)}"
for i in range(self.array_size) for i in range(self.array_size)
] ]
return f"if (!({zero_checks})) {{\n" + "\n".join(size_lines) + "\n}" return f"if ({non_zero_checks}) {{\n" + "\n".join(size_lines) + "\n}"
# For fixed arrays, we always encode all elements # For fixed arrays, we always encode all elements