[update] add list struct update in new way & fix list parameter not valid & collection nested error & fixed encoder struct bytes wrong (singed, unsigned)

This commit is contained in:
peterlu14
2022-06-17 19:54:42 +08:00
parent b4d88a0e67
commit efb5e9aeb6
2 changed files with 8 additions and 5 deletions
+4 -3
View File
@@ -119,7 +119,7 @@ class DeviceConfigurationEncoder:
e.write(b'L\0')
else:
parameter_type = cls._value_type(value[0])
parameter_type = cls._value_type(min(value))
e.write(b'L')
e.write(parameter_type.encode())
e.u8(sz)
@@ -153,7 +153,8 @@ class DeviceConfigurationEncoder:
if isinstance(value, bool):
e.u8(1 if value else 0)
elif isinstance(value, str):
elif isinstance(value, str) or isinstance(value, list):
value = str(value)
e.encode_string(value)
elif isinstance(value, int):
@@ -170,7 +171,7 @@ class DeviceConfigurationEncoder:
if isinstance(value, bool):
return '?'
elif isinstance(value, str):
elif isinstance(value, str) or isinstance(value, list):
return 'p'
elif isinstance(value, int):