Remove redundant 'type' field from binary SimpleVehicleMessage.
[apps/low-level-can-service.git] / benchmark / proto / compare_sizes.py
index f31a2e4..0ed445f 100755 (executable)
@@ -35,21 +35,34 @@ for trace_file in sys.argv[1:]:
             # but most of ours are full 64+11 bits
             total_raw_can_size += 10
             total_raw_json_size += len(json.dumps(json_message))
-            binary_message = openxc_pb2.RawMessage()
-            binary_message.message_id = json_message['id']
-            binary_message.data = int(json_message['data'], 0)
             message.type = openxc_pb2.VehicleMessage.RAW
-            message.raw_message = binary_message
+            message.raw_message.message_id = json_message['id']
+            message.raw_message.data = int(json_message['data'], 0)
             total_raw_binary_size += len(message.SerializeToString())
         else:
             message.type = openxc_pb2.VehicleMessage.TRANSLATED
             message.translated_message.name = json_message['name']
-            if isinstance(json_message['value'], bool):
-                message.translated_message.boolean_value = json_message['value']
-            elif isinstance(json_message['value'], numbers.Number):
-                message.translated_message.numerical_value = json_message['value']
-            else:
+            if 'event' in json_message:
                 message.translated_message.string_value = json_message['value']
+                if isinstance(json_message['event'], bool):
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.EVENTED_BOOL
+                    message.translated_message.boolean_event = json_message['event']
+                elif isinstance(json_message['event'], numbers.Number):
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.EVENTED_NUM
+                    message.translated_message.numeric_value = json_message['event']
+                else:
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.EVENTED_STRING
+                    message.translated_message.string_value = json_message['event']
+            else:
+                if isinstance(json_message['value'], bool):
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.BOOL
+                    message.translated_message.boolean_value = json_message['value']
+                elif isinstance(json_message['value'], numbers.Number):
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.NUM
+                    message.translated_message.numeric_value = json_message['value']
+                else:
+                    message.translated_message.type = openxc_pb2.TranslatedMessage.STRING
+                    message.translated_message.string_value = json_message['value']
             total_translated_json_size += len(json.dumps(json_message))
             total_translated_binary_size += len(message.SerializeToString())