diff --git a/boards.json b/boards.json index de9f2ea..218dbfe 100644 --- a/boards.json +++ b/boards.json @@ -1,4 +1,8 @@ { "VCU": "boards/VCU/VCU.json", - "BLCU": "boards/BLCU/BLCU.json" + "BLCU": "boards/BLCU/BLCU.json", + "LCU": "boards/LCU/LCU.json", + "PCU": "boards/PCU/PCU.json", + "HVBMS": "boards/HVBMS/HVBMS.json", + "LVBMS": "boards/LVBMS/LVBMS.json" } diff --git a/boards/BLCU/BLCU.json b/boards/BLCU/BLCU.json index dee0cfb..2c98964 100644 --- a/boards/BLCU/BLCU.json +++ b/boards/BLCU/BLCU.json @@ -1,5 +1,5 @@ { - "board_id": 17, + "board_id": 27, "board_ip": "192.168.0.27", "measurements": ["BLCU_measurements.json"], "packets": [ diff --git a/boards/HVBMS/HVBMS.json b/boards/HVBMS/HVBMS.json new file mode 100644 index 0000000..caf7dcc --- /dev/null +++ b/boards/HVBMS/HVBMS.json @@ -0,0 +1,14 @@ +{ + "board_id": 7, + "board_ip": "192.168.1.7", + "measurements": [ + "HVBMS_measurements.json" + ], + "packets": [ + "packets.json", + "orders.json" + ], + "sockets": [ + "sockets.json" + ] +} \ No newline at end of file diff --git a/boards/HVBMS/HVBMS_measurements.json b/boards/HVBMS/HVBMS_measurements.json new file mode 100644 index 0000000..d43d5b9 --- /dev/null +++ b/boards/HVBMS/HVBMS_measurements.json @@ -0,0 +1,285 @@ +[ + { "id": "battery1_cell1", "name": "Battery 1 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell2", "name": "Battery 1 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell3", "name": "Battery 1 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell4", "name": "Battery 1 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell5", "name": "Battery 1 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell6", "name": "Battery 1 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell7", "name": "Battery 1 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell8", "name": "Battery 1 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell9", "name": "Battery 1 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell10", "name": "Battery 1 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell11", "name": "Battery 1 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_cell12", "name": "Battery 1 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_total_voltage", "name": "Battery 1 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery1_max_temp", "name": "Battery 1 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery1_min_temp", "name": "Battery 1 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery2_cell1", "name": "Battery 2 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell2", "name": "Battery 2 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell3", "name": "Battery 2 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell4", "name": "Battery 2 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell5", "name": "Battery 2 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell6", "name": "Battery 2 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell7", "name": "Battery 2 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell8", "name": "Battery 2 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell9", "name": "Battery 2 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell10", "name": "Battery 2 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell11", "name": "Battery 2 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_cell12", "name": "Battery 2 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_total_voltage", "name": "Battery 2 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery2_max_temp", "name": "Battery 2 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery2_min_temp", "name": "Battery 2 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery3_cell1", "name": "Battery 3 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell2", "name": "Battery 3 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell3", "name": "Battery 3 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell4", "name": "Battery 3 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell5", "name": "Battery 3 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell6", "name": "Battery 3 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell7", "name": "Battery 3 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell8", "name": "Battery 3 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell9", "name": "Battery 3 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell10", "name": "Battery 3 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell11", "name": "Battery 3 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_cell12", "name": "Battery 3 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_total_voltage", "name": "Battery 3 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery3_max_temp", "name": "Battery 3 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery3_min_temp", "name": "Battery 3 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery4_cell1", "name": "Battery 4 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell2", "name": "Battery 4 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell3", "name": "Battery 4 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell4", "name": "Battery 4 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell5", "name": "Battery 4 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell6", "name": "Battery 4 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell7", "name": "Battery 4 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell8", "name": "Battery 4 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell9", "name": "Battery 4 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell10", "name": "Battery 4 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell11", "name": "Battery 4 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_cell12", "name": "Battery 4 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_total_voltage", "name": "Battery 4 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery4_max_temp", "name": "Battery 4 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery4_min_temp", "name": "Battery 4 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery5_cell1", "name": "Battery 5 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell2", "name": "Battery 5 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell3", "name": "Battery 5 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell4", "name": "Battery 5 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell5", "name": "Battery 5 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell6", "name": "Battery 5 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell7", "name": "Battery 5 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell8", "name": "Battery 5 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell9", "name": "Battery 5 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell10", "name": "Battery 5 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell11", "name": "Battery 5 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_cell12", "name": "Battery 5 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_total_voltage", "name": "Battery 5 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery5_max_temp", "name": "Battery 5 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery5_min_temp", "name": "Battery 5 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery6_cell1", "name": "Battery 6 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell2", "name": "Battery 6 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell3", "name": "Battery 6 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell4", "name": "Battery 6 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell5", "name": "Battery 6 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell6", "name": "Battery 6 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell7", "name": "Battery 6 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell8", "name": "Battery 6 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell9", "name": "Battery 6 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell10", "name": "Battery 6 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell11", "name": "Battery 6 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_cell12", "name": "Battery 6 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_total_voltage", "name": "Battery 6 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery6_max_temp", "name": "Battery 6 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery6_min_temp", "name": "Battery 6 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery7_cell1", "name": "Battery 7 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell2", "name": "Battery 7 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell3", "name": "Battery 7 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell4", "name": "Battery 7 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell5", "name": "Battery 7 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell6", "name": "Battery 7 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell7", "name": "Battery 7 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell8", "name": "Battery 7 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell9", "name": "Battery 7 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell10", "name": "Battery 7 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell11", "name": "Battery 7 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_cell12", "name": "Battery 7 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_total_voltage", "name": "Battery 7 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery7_max_temp", "name": "Battery 7 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery7_min_temp", "name": "Battery 7 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { "id": "battery8_cell1", "name": "Battery 8 Cell 1", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell2", "name": "Battery 8 Cell 2", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell3", "name": "Battery 8 Cell 3", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell4", "name": "Battery 8 Cell 4", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell5", "name": "Battery 8 Cell 5", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell6", "name": "Battery 8 Cell 6", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell7", "name": "Battery 8 Cell 7", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell8", "name": "Battery 8 Cell 8", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell9", "name": "Battery 8 Cell 9", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell10", "name": "Battery 8 Cell 10", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell11", "name": "Battery 8 Cell 11", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_cell12", "name": "Battery 8 Cell 12", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_total_voltage", "name": "Battery 8 Voltage", "type": "float32", "podUnits": "mV", "displayUnits": "V" }, + { "id": "battery8_max_temp", "name": "Battery 8 Max Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + { "id": "battery8_min_temp", "name": "Battery 8 Min Temperature", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC"}, + + { + "id": "batteries_voltage_reading", + "name": "Batteries voltage", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "voltage_reading", + "name": "Voltage sensor", + "type": "float32", + "podUnits": "V", + "displayUnits": "V", + "safeRange": [ + 0.0, + 410.0 + ] + }, + { + "id": "current_reading", + "name": "Current sensor", + "type": "float32", + "podUnits": "A", + "displayUnits": "A", + "safeRange": [ + -15.0, + 120.0 + ] + }, + { + "id": "gsm_status", + "name": "General State Machine status", + "type": "enum", + "enumValues": [ + "CONNECTING", + "OPERATIONAL" + ] + }, + { + "id": "driver_reading_period", + "name": "BMS reading period", + "type": "int32" + }, + { + "id": "sdc_status", + "name": "SDC Status", + "type": "enum", + "enumValues": [ + "ENGAGED", + "DISENGAGED" + ] + }, + { + "id": "minimum_soc", + "name": "Minimum SOC", + "type": "float32", + "displayUnits": "%" + }, + { + "id": "voltage_min", + "name": "Minimum cell voltage", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "voltage_max", + "name": "Maximum cell voltage", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "temp_min", + "name": "Minimum temperature", + "type": "float32", + "podUnits": "ºC", + "displayUnits": "ºC" + }, + { + "id": "temp_max", + "name": "Maximum temperature", + "type": "float32", + "podUnits": "ºC", + "displayUnits": "ºC" + }, + { + "id": "imd_status", + "name": "IMD Status", + "type": "enum", + "enumValues":[ + "SHORTCIRCUIT", + "NORMAL", + "UNDERVOLTAGE", + "FAST_EVAL", + "EQUIPMENT_FAULT", + "GROUNDING_FAULT" + ] + }, + { + "id": "imd_resistance", + "name": "IMD Resistance", + "type": "float32", + "podUnits": "Ohm", + "displayUnits": "MOhm", + "safeRange": [ + 30, + 70 + ] + }, + { + "id": "imd_is_ok", + "name": "IMD OK", + "type": "bool" + }, + { + "id": "imd_duty", + "name": "IMD Duty", + "type": "float32" + }, + { + "id": "imd_freq", + "name": "IMD Frequency", + "type": "float32" + }, + { + "id": "contactor_precharge", + "name": "Contactor Precharge", + "type": "bool" + }, + { + "id": "contactor_discharge", + "name": "Contactor Discharge", + "type": "bool" + }, + { + "id": "contactor_high", + "name": "Contactor High", + "type": "bool" + }, + { + "id": "contactor_low", + "name": "Contactor Low", + "type": "bool" + }, + { + "id": "contactor_common_high", + "name": "Contactor Common High", + "type": "bool" + }, + { + "id": "soc", + "name": "SOC", + "type": "float32" + } +] \ No newline at end of file diff --git a/boards/HVBMS/orders.json b/boards/HVBMS/orders.json new file mode 100644 index 0000000..699ed82 --- /dev/null +++ b/boards/HVBMS/orders.json @@ -0,0 +1,32 @@ +[ + { + "type": "order", + "name": "FAULT", + "variables": [], + "id": 0 + }, + { + "type": "order", + "name": "open_contactors", + "variables": [], + "id": 901 + }, + { + "type": "order", + "name": "cell_balance", + "variables": [], + "id": 902 + }, + { + "type": "order", + "name": "start_precharge", + "variables": [], + "id": 903 + }, + { + "type": "order", + "name": "check_faults", + "variables": [], + "id": 904 + } +] \ No newline at end of file diff --git a/boards/HVBMS/packets.json b/boards/HVBMS/packets.json new file mode 100644 index 0000000..fae0cf6 --- /dev/null +++ b/boards/HVBMS/packets.json @@ -0,0 +1,332 @@ +[ + { + "type": "data", + "name": "batteries_voltage", + "variables": [ + "batteries_voltage_reading" + ], + "id": 928, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "voltage_sensor", + "variables": [ + "voltage_reading" + ], + "id": 930, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "current_sensor", + "variables": [ + "current_reading" + ], + "id": 931, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "sdc", + "variables": [ + "sdc_status" + ], + "id": 944, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_1", + "variables": [ + "battery1_cell1", + "battery1_cell2", + "battery1_cell3", + "battery1_cell4", + "battery1_cell5", + "battery1_cell6", + "battery1_cell7", + "battery1_cell8", + "battery1_cell9", + "battery1_cell10", + "battery1_cell11", + "battery1_cell12", + "battery1_total_voltage", + "battery1_max_temp", + "battery1_min_temp" + ], + "id": 910, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_2", + "variables": [ + "battery2_cell1", + "battery2_cell2", + "battery2_cell3", + "battery2_cell4", + "battery2_cell5", + "battery2_cell6", + "battery2_cell7", + "battery2_cell8", + "battery2_cell9", + "battery2_cell10", + "battery2_cell11", + "battery2_cell12", + "battery2_total_voltage", + "battery2_max_temp", + "battery2_min_temp" + ], + "id": 911, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_3", + "variables": [ + "battery3_cell1", + "battery3_cell2", + "battery3_cell3", + "battery3_cell4", + "battery3_cell5", + "battery3_cell6", + "battery3_cell7", + "battery3_cell8", + "battery3_cell9", + "battery3_cell10", + "battery3_cell11", + "battery3_cell12", + "battery3_total_voltage", + "battery3_max_temp", + "battery3_min_temp" + ], + "id": 912, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_4", + "variables": [ + "battery4_cell1", + "battery4_cell2", + "battery4_cell3", + "battery4_cell4", + "battery4_cell5", + "battery4_cell6", + "battery4_cell7", + "battery4_cell8", + "battery4_cell9", + "battery4_cell10", + "battery4_cell11", + "battery4_cell12", + "battery4_total_voltage", + "battery4_max_temp", + "battery4_min_temp" + ], + "id": 913, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_5", + "variables": [ + "battery5_cell1", + "battery5_cell2", + "battery5_cell3", + "battery5_cell4", + "battery5_cell5", + "battery5_cell6", + "battery5_cell7", + "battery5_cell8", + "battery5_cell9", + "battery5_cell10", + "battery5_cell11", + "battery5_cell12", + "battery5_total_voltage", + "battery5_max_temp", + "battery5_min_temp" + ], + "id": 914, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_6", + "variables": [ + "battery6_cell1", + "battery6_cell2", + "battery6_cell3", + "battery6_cell4", + "battery6_cell5", + "battery6_cell6", + "battery6_cell7", + "battery6_cell8", + "battery6_cell9", + "battery6_cell10", + "battery6_cell11", + "battery6_cell12", + "battery6_total_voltage", + "battery6_max_temp", + "battery6_min_temp" + ], + "id": 915, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_7", + "variables": [ + "battery7_cell1", + "battery7_cell2", + "battery7_cell3", + "battery7_cell4", + "battery7_cell5", + "battery7_cell6", + "battery7_cell7", + "battery7_cell8", + "battery7_cell9", + "battery7_cell10", + "battery7_cell11", + "battery7_cell12", + "battery7_total_voltage", + "battery7_max_temp", + "battery7_min_temp" + ], + "id": 916, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "battery_8", + "variables": [ + "battery8_cell1", + "battery8_cell2", + "battery8_cell3", + "battery8_cell4", + "battery8_cell5", + "battery8_cell6", + "battery8_cell7", + "battery8_cell8", + "battery8_cell9", + "battery8_cell10", + "battery8_cell11", + "battery8_cell12", + "battery8_total_voltage", + "battery8_max_temp", + "battery8_min_temp" + ], + "id": 917, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "general_state_machine", + "variables": [ + "gsm_status" + ], + "id": 940, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "driver_diagnosis", + "variables": [ + "driver_reading_period" + ], + "id": 942, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "imd", + "variables": [ + "imd_status", + "imd_resistance", + "imd_is_ok", + "imd_duty", + "imd_freq" + ], + "id": 943, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "minimum_soc", + "variables": [ + "minimum_soc" + ], + "id": 945, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "batteries_data", + "variables": [ + "voltage_min", + "voltage_max", + "temp_min", + "temp_max" + ], + "id": 947, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "contactor_status", + "variables": [ + "contactor_discharge", + "contactor_precharge", + "contactor_low", + "contactor_high", + "contactor_common_high" + ], + "id": 956, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "SOC", + "variables": ["soc"], + "id": 990, + "period": 50, + "period_type": "ms", + "socket": "vcu_udp" + } +] \ No newline at end of file diff --git a/boards/HVBMS/sockets.json b/boards/HVBMS/sockets.json new file mode 100644 index 0000000..6f49b6b --- /dev/null +++ b/boards/HVBMS/sockets.json @@ -0,0 +1,13 @@ +[ + { + "type": "ServerSocket", + "name": "vcu_tcp", + "port": 50500 + }, + { + "type": "DatagramSocket", + "name": "vcu_udp", + "remote_ip": "192.168.1.3", + "port": 50400 + } +] diff --git a/boards/LCU/LCU.json b/boards/LCU/LCU.json new file mode 100644 index 0000000..41de0b0 --- /dev/null +++ b/boards/LCU/LCU.json @@ -0,0 +1,14 @@ +{ + "board_id": 4, + "board_ip": "192.168.1.4", + "measurements": [ + "LCU_measurements.json" + ], + "packets": [ + "packets.json", + "orders.json" + ], + "sockets": [ + "sockets.json" + ] +} diff --git a/boards/LCU/LCU_measurements.json b/boards/LCU/LCU_measurements.json new file mode 100644 index 0000000..a768649 --- /dev/null +++ b/boards/LCU/LCU_measurements.json @@ -0,0 +1,638 @@ +[ + { + "id": "master_state_machine", + "name": "Master SM", + "type": "enum", + "enumValues": [ + "Connecting", + "Idle", + "Operational", + "Fault" + ] + }, + { + "id": "slave_state_machine", + "name": "Slave SM", + "type": "enum", + "enumValues": [ + "SPI Connecting", + "Idle", + "Levitating", + "Current Control", + "Debug", + "Fault" + ] + }, + { + "id": "desired_current", + "name": "Desired current", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "fixed_vbat", + "name": "Fixed VBAT", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "desired_distance", + "name": "Desired Distance (mm)", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "lpu_id", + "name": "LPU ID", + "type": "uint32" + }, + { + "id": "fixed_pwm_duty_cycle", + "name": "Fixed PWM Duty Cycle", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_1", + "name": "Duty Cycle 1", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_2", + "name": "Duty Cycle 2", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_3", + "name": "Duty Cycle 3", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_4", + "name": "Duty Cycle 4", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_5", + "name": "Duty Cycle 5", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_6", + "name": "Duty Cycle 6", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_7", + "name": "Duty Cycle 7", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_8", + "name": "Duty Cycle 8", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_9", + "name": "Duty Cycle 9", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "pwm_duty_cycle_10", + "name": "Duty Cycle 10", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "coil_current_1", + "name": "Coil Current 1", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_2", + "name": "Coil Current 2", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_3", + "name": "Coil Current 3", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_4", + "name": "Coil Current 4", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_5", + "name": "Coil Current 5", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_6", + "name": "Coil Current 6", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_7", + "name": "Coil Current 7", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_8", + "name": "Coil Current 8", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_9", + "name": "Coil Current 9", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "coil_current_10", + "name": "Coil Current 10", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "vbat_1", + "name": "LPU Voltage 1", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_2", + "name": "LPU Voltage 2", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_3", + "name": "LPU Voltage 3", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_4", + "name": "LPU Voltage 4", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_5", + "name": "LPU Voltage 5", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_6", + "name": "LPU Voltage 6", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_7", + "name": "LPU Voltage 7", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_8", + "name": "LPU Voltage 8", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_9", + "name": "LPU Voltage 9", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "vbat_10", + "name": "LPU Voltage 10", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "airgap_1", + "name": "Airgap 1", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_2", + "name": "Airgap 2", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_3", + "name": "Airgap 3", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_4", + "name": "Airgap 4", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_5", + "name": "Airgap 5", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_6", + "name": "Airgap 6", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_7", + "name": "Airgap 7", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "airgap_8", + "name": "Airgap 8", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + + { + "id": "desired_current_1", + "name": "Desired Current 1", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "desired_current_2", + "name": "Desired Current 2", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "desired_current_3", + "name": "Desired Current 3", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "desired_current_4", + "name": "Desired Current 4", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + + { + "id": "state_0", + "name": "State 0", + "type": "float32" + }, + { + "id": "state_1", + "name": "State 1", + "type": "float32" + }, + { + "id": "state_2", + "name": "State 2", + "type": "float32" + }, + { + "id": "state_3", + "name": "State 3", + "type": "float32" + }, + { + "id": "state_4", + "name": "State 4", + "type": "float32" + }, + + { + "id": "local_airgap_1", + "name": "Airgap 1", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "local_airgap_2", + "name": "Airgap 2", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "local_airgap_3", + "name": "Airgap 3", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + { + "id": "local_airgap_4", + "name": "Airgap 4", + "type": "float32", + "podUnits": "m", + "displayUnits": "mm" + }, + + { + "id": "desired_voltage_1", + "name": "Desired Voltage 1", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "desired_voltage_2", + "name": "Desired Voltage 2", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "desired_voltage_3", + "name": "Desired Voltage 3", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "desired_voltage_4", + "name": "Desired Voltage 4", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + + { + "id": "Fe_0", + "name": "Fe 0", + "type": "float32" + }, + { + "id": "Fe_1", + "name": "Fe 1", + "type": "float32" + }, + { + "id": "Fe_2", + "name": "Fe 2", + "type": "float32" + }, + + { + "id": "Fa_0", + "name": "Fa 0", + "type": "float32" + }, + { + "id": "Fa_1", + "name": "Fa 1", + "type": "float32" + }, + { + "id": "Fa_2", + "name": "Fa 2", + "type": "float32" + }, + { + "id": "Fa_3", + "name": "Fa 3", + "type": "float32" + }, + + { + "id": "Ef_0", + "name": "Ef 0", + "type": "float32" + }, + { + "id": "Ef_1", + "name": "Ef 1", + "type": "float32" + }, + { + "id": "Ef_2", + "name": "Ef 2", + "type": "float32" + }, + + { + "id": "P_0", + "name": "P 0", + "type": "float32" + }, + { + "id": "P_1", + "name": "P 1", + "type": "float32" + }, + { + "id": "P_2", + "name": "P 2", + "type": "float32" + }, + + { + "id": "R_0", + "name": "R 0", + "type": "float32" + }, + { + "id": "R_1", + "name": "R 1", + "type": "float32" + }, + { + "id": "R_2", + "name": "R 2", + "type": "float32" + }, + + { + "id": "Zz_0", + "name": "Zz 0", + "type": "float32" + }, + { + "id": "Zz_1", + "name": "Zz 1", + "type": "float32" + }, + { + "id": "Zz_2", + "name": "Zz 2", + "type": "float32" + }, + + { + "id": "Fe_L_0", + "name": "Fe_L 0", + "type": "float32" + }, + { + "id": "Fe_L_1", + "name": "Fe_L 1", + "type": "float32" + }, + { + "id": "Fe_L_2", + "name": "Fe_L 2", + "type": "float32" + }, + + { + "id": "A_0", + "name": "A 0", + "type": "float32" + }, + { + "id": "A_1", + "name": "A 1", + "type": "float32" + }, + { + "id": "A_2", + "name": "A 2", + "type": "float32" + }, + { + "id": "A_3", + "name": "A 3", + "type": "float32" + }, + { + "id": "A_4", + "name": "A 4", + "type": "float32" + }, + { + "id": "A_5", + "name": "A 5", + "type": "float32" + }, + { + "id": "A_6", + "name": "A 6", + "type": "float32" + }, + { + "id": "A_7", + "name": "A 7", + "type": "float32" + }, + + { + "id": "Ak_0", + "name": "Ak 0", + "type": "float32" + }, + { + "id": "Ak_1", + "name": "Ak 1", + "type": "float32" + }, + { + "id": "Ak_2", + "name": "Ak 2", + "type": "float32" + }, + { + "id": "Ak_3", + "name": "Ak 3", + "type": "float32" + }, + + { + "id": "Bk_0", + "name": "Bk 0", + "type": "float32" + }, + { + "id": "Bk_1", + "name": "Bk 1", + "type": "float32" + }, + { + "id": "Bk_2", + "name": "Bk 2", + "type": "float32" + }, + { + "id": "cinema_current", + "name": "Cinema Current", + "type": "float32" + } +] diff --git a/boards/LCU/orders.json b/boards/LCU/orders.json new file mode 100644 index 0000000..fc824ba --- /dev/null +++ b/boards/LCU/orders.json @@ -0,0 +1,120 @@ +[ + { + "type": "order", + "name": "Stop", + "variables": [], + "id": 9000 + }, + { + "type": "order", + "name": "Set Fixed VBAT", + "variables": ["fixed_vbat"], + "id": 9001 + }, + { + "type": "order", + "name": "Unset Fixed VBAT", + "variables": [], + "id": 9002 + }, + { + "type": "order", + "name": "Levitate", + "variables": ["desired_distance"], + "id": 9010 + }, + { + "type": "order", + "name": "Levitate Ramp", + "variables": ["desired_distance"], + "id": 9011 + }, + { + "type": "order", + "name": "Set Desired Distance", + "variables": ["desired_distance"], + "id": 9012 + }, + { + "type": "order", + "name": "Set Desired Distance Ramp", + "variables": ["desired_distance"], + "id": 9013 + }, + { + "type": "order", + "name": "Stop Ramp", + "variables": [], + "id": 9014 + }, + { + "type": "order", + "name": "Current Control", + "variables": [ + "lpu_id", + "desired_current" + ], + "id": 9020 + }, + { + "type": "order", + "name": "All Current Control", + "variables": ["desired_current"], + "id": 9021 + }, + { + "type": "order", + "name": "Stop Current Control", + "variables": [ + "lpu_id" + ], + "id": 9022 + }, + { + "type": "order", + "name": "PWM", + "variables": [ + "lpu_id", + "fixed_pwm_duty_cycle" + ], + "id": 9030 + }, + { + "type": "order", + "name": "All PWM", + "variables": ["fixed_pwm_duty_cycle"], + "id": 9031 + }, + { + "type": "order", + "name": "Stop PWM", + "variables": [ + "lpu_id" + ], + "id": 9032 + }, + { + "type": "order", + "name": "Reset All", + "variables": [], + "id": 9100 + }, + { + "type": "order", + "name": "Reset Slave", + "variables": [], + "id": 9101 + }, + { + "type": "order", + "name": "Cinema", + "variables": ["cinema_current"], + "id": 9200 + }, + { + "type": "order", + "name": "Stop Cinema", + "variables": [], + "id": 9201 + } +] diff --git a/boards/LCU/packets.json b/boards/LCU/packets.json new file mode 100644 index 0000000..c282183 --- /dev/null +++ b/boards/LCU/packets.json @@ -0,0 +1,115 @@ +[ + { + "type": "data", + "name": "LPU PWM duties", + "variables": ["pwm_duty_cycle_1", "pwm_duty_cycle_2", "pwm_duty_cycle_3", "pwm_duty_cycle_4", "pwm_duty_cycle_5", "pwm_duty_cycle_6", "pwm_duty_cycle_7", "pwm_duty_cycle_8", "pwm_duty_cycle_9", "pwm_duty_cycle_10"], + "id": 9500, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "LPU coil currents", + "variables": ["coil_current_1", "coil_current_2", "coil_current_3", "coil_current_4", "coil_current_5", "coil_current_6", "coil_current_7", "coil_current_8", "coil_current_9", "coil_current_10"], + "id": 9501, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "LPU VBATs", + "variables": ["vbat_1", "vbat_2", "vbat_3", "vbat_4", "vbat_5", "vbat_6", "vbat_7", "vbat_8", "vbat_9", "vbat_10"], + "id": 9502, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "Airgaps", + "variables": ["airgap_1", "airgap_2", "airgap_3", "airgap_4", "airgap_5", "airgap_6", "airgap_7", "airgap_8"], + "id": 9503, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "State Machine", + "variables": [ + "master_state_machine", + "slave_state_machine" + ], + "id": 9520, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "General State", + "variables": [ + "desired_distance", + "desired_current_1", + "desired_current_2", + "desired_current_3", + "desired_current_4", + "state_0", + "state_1", + "state_2", + "state_3", + "state_4", + "local_airgap_1", + "local_airgap_2", + "local_airgap_3", + "local_airgap_4", + "desired_voltage_1", + "desired_voltage_2", + "desired_voltage_3", + "desired_voltage_4", + "Fe_0", + "Fe_1", + "Fe_2", + "Fa_0", + "Fa_1", + "Fa_2", + "Fa_3", + "Ef_0", + "Ef_1", + "Ef_2", + "P_0", + "P_1", + "P_2", + "R_0", + "R_1", + "R_2", + "Zz_0", + "Zz_1", + "Zz_2", + "Fe_L_0", + "Fe_L_1", + "Fe_L_2", + "A_0", + "A_1", + "A_2", + "A_3", + "A_4", + "A_5", + "A_6", + "A_7", + "Ak_0", + "Ak_1", + "Ak_2", + "Ak_3", + "Bk_0", + "Bk_1", + "Bk_2" + ], + "id": 9521, + "period_type": "us", + "period": 500.0, + "socket": "vcu_udp" + } +] diff --git a/boards/LCU/sockets.json b/boards/LCU/sockets.json new file mode 100644 index 0000000..6f49b6b --- /dev/null +++ b/boards/LCU/sockets.json @@ -0,0 +1,13 @@ +[ + { + "type": "ServerSocket", + "name": "vcu_tcp", + "port": 50500 + }, + { + "type": "DatagramSocket", + "name": "vcu_udp", + "remote_ip": "192.168.1.3", + "port": 50400 + } +] diff --git a/boards/LVBMS/LVBMS.json b/boards/LVBMS/LVBMS.json new file mode 100644 index 0000000..7e7992e --- /dev/null +++ b/boards/LVBMS/LVBMS.json @@ -0,0 +1,14 @@ +{ + "board_id": 11, + "board_ip": "192.168.1.11", + "measurements": [ + "LVBMS_measurements.json" + ], + "packets": [ + "packets.json", + "orders.json" + ], + "sockets":[ + "sockets.json" + ] +} \ No newline at end of file diff --git a/boards/LVBMS/LVBMS_measurements.json b/boards/LVBMS/LVBMS_measurements.json new file mode 100644 index 0000000..3f08c77 --- /dev/null +++ b/boards/LVBMS/LVBMS_measurements.json @@ -0,0 +1,119 @@ +[ + { + "id": "cell_1", + "name": "Cell 1", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "cell_2", + "name": "Cell 2", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "cell_3", + "name": "Cell 3", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "cell_4", + "name": "Cell 4", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "cell_5", + "name": "Cell 5", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "cell_6", + "name": "Cell 6", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "voltage_min", + "name": "Min Cell", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "voltage_max", + "name": "Max Cell", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "total_voltage", + "name": "Total Voltage", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "average_voltage", + "name": "Avg Cell", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "SOC", + "name": "SOC", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "temperature_1", + "name": "Temperature 1", + "type": "float32", + "podUnits": "ºC", + "displayUnits": "ºC" + }, + { + "id": "current", + "name": "Current", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "State", + "name": "State", + "type": "enum", + "enumValues": [ + "CONNECTING", + "OPERATIONAL", + "FAULT" + ] + }, + { + "id": "measurement_averaging", + "name": "Count Measurement Average", + "type": "enum", + "enumValues": [ + "AVG_1", + "AVG_2", + "AVG_4", + "AVG_8", + "AVG_16", + "AVG_32", + "AVG_64", + "AVG_128", + "AVG_256" + ] + } +] \ No newline at end of file diff --git a/boards/LVBMS/orders.json b/boards/LVBMS/orders.json new file mode 100644 index 0000000..6bdf60a --- /dev/null +++ b/boards/LVBMS/orders.json @@ -0,0 +1,10 @@ +[ + { + "type": "order", + "name": "Averaging", + "id": 33772, + "variables": [ + "measurement_averaging" + ] + } +] \ No newline at end of file diff --git a/boards/LVBMS/packets.json b/boards/LVBMS/packets.json new file mode 100644 index 0000000..c176a17 --- /dev/null +++ b/boards/LVBMS/packets.json @@ -0,0 +1,66 @@ +[ + { + "type": "data", + "name": "Battery Voltages", + "variables": [ + "cell_1", + "cell_2", + "cell_3", + "cell_4", + "cell_5", + "cell_6", + "voltage_min", + "voltage_max", + "total_voltage", + "average_voltage" + ], + "id": 777, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "Battery Temperatures", + "variables": [ + "temperature_1" + ], + "id": 778, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "State of Charge", + "variables": [ + "SOC" + ], + "id": 779, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "Battery Current", + "variables": [ + "current" + ], + "id": 780, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + { + "type": "data", + "name": "Current State", + "variables": [ + "State" + ], + "id": 781, + "period_type": "ms", + "period": 100.0, + "socket": "vcu_udp" + } +] \ No newline at end of file diff --git a/boards/LVBMS/sockets.json b/boards/LVBMS/sockets.json new file mode 100644 index 0000000..6f49b6b --- /dev/null +++ b/boards/LVBMS/sockets.json @@ -0,0 +1,13 @@ +[ + { + "type": "ServerSocket", + "name": "vcu_tcp", + "port": 50500 + }, + { + "type": "DatagramSocket", + "name": "vcu_udp", + "remote_ip": "192.168.1.3", + "port": 50400 + } +] diff --git a/boards/PCU/PCU.json b/boards/PCU/PCU.json new file mode 100644 index 0000000..4476aa8 --- /dev/null +++ b/boards/PCU/PCU.json @@ -0,0 +1,14 @@ +{ + "board_id": 5, + "board_ip": "192.168.1.5", + "measurements": [ + "PCU_measurements.json" + ], + "packets": [ + "packets.json", + "orders.json" + ], + "sockets": [ + "sockets.json" + ] +} \ No newline at end of file diff --git a/boards/PCU/PCU_measurements.json b/boards/PCU/PCU_measurements.json new file mode 100644 index 0000000..1c394a3 --- /dev/null +++ b/boards/PCU/PCU_measurements.json @@ -0,0 +1,349 @@ +[ + { + "id": "frequency", + "name": "Frequency Commutation hz", + "type": "uint32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "modulation_frequency", + "name": "Modulation frequency", + "type": "float32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "duty_u", + "name": "Duty U", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "duty_v", + "name": "Duty V", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "duty_w", + "name": "Duty W", + "type": "float32", + "podUnits": "%", + "displayUnits": "%" + }, + { + "id": "Voltage_Battery_A", + "name": "Voltage Battery A", + "type": "float32" + }, + { + "id": "Voltage_Battery_B", + "name": "Voltage Battery B", + "type": "float32" + }, + { + "id": "V_Ref", + "name": "Reference Voltage", + "type": "float32" + }, + { + "id": "frequency_to_send_svpwm", + "name": "Frequency Modulation hz", + "type": "float32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "frequency_to_send_PWM", + "name": "Frequency Commutation hz", + "type": "float32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "current_sensor_u_a", + "name": "Current sensor U connector A", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "current_sensor_u_b", + "name": "Current sensor U connector B", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "current_sensor_v_a", + "name": "Current sensor V connector A", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "current_sensor_v_b", + "name": "Current sensor V connector B", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "current_sensor_w_a", + "name": "Current sensor W connector A", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "current_sensor_w_b", + "name": "Current sensor W connector B", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "general_state_machine", + "name": "General State Machine", + "type": "enum", + "enumValues": [ + "Connecting", + "Operational", + "Fault" + ] + }, + { + "id": "operational_state_machine", + "name": "Operational state machine", + "type": "enum", + "enumValues": [ + "IDLE", + "Accelerating" + ] + }, + { + "id": "Current_Ref", + "name": "Current Ref", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "freq_to_send_svpwm", + "name": "Frequency Modulation hz", + "type": "float32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "freq_to_send_PWM", + "name": "Frequency Commutation hz", + "type": "float32", + "podUnits": "Hz", + "displayUnits": "Hz" + }, + { + "id": "current_Peak", + "name": "Max Current Peak", + "type": "float64", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "Error_PI", + "name": "Actual Current Error", + "type": "float64", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "Target_Voltage", + "name": "Target Voltage", + "type": "float64", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "VMax", + "name": "Max Voltage", + "type": "float32", + "podUnits": "V", + "displayUnits": "V" + }, + { + "id": "Speed_Ref", + "name": "Reference Speed", + "type": "float32", + "podUnits": "km/h", + "displayUnits": "km/h" + }, + { + "id": "SVPWM_Time", + "name": "SVPWM Time", + "type": "float32", + "podUnits": "s", + "displayUnits": "s" + }, + { + "id": "encoder_position", + "name": "Position Encoder", + "type": "float64", + "podUnits": "m", + "displayUnits": "m" + }, + { + "id": "encoder_direction", + "name": "Direction Encoder", + "type": "enum", + "enumValues": [ + "Forward", + "Backward" + ] + }, + { + "id": "encoder_speed", + "name": "Speed Encoder", + "type": "float64", + "podUnits": "m/s", + "displayUnits": "m/s" + }, + { + "id": "encoder_speed_km_h", + "name": "Speed km/h", + "type": "float64", + "podUnits": "km/h", + "displayUnits": "km/h" + }, + { + "id": "encoder_acceleration", + "name": "Acceleration Encoder", + "type": "float64", + "podUnits": "m/ss", + "displayUnits": "m/ss" + }, + { + "id": "target_speed", + "name": "Target Speed KM/H", + "type": "float32", + "podUnits": "km/h", + "displayUnits": "km/h" + }, + { + "id": "speed_error", + "name": "Speed error", + "type": "float64", + "podUnits": "km/h", + "displayUnits": "km/h" + }, + { + "id": "actual_current_ref", + "name": "Control Current ref", + "type": "float32", + "podUnits": "A", + "displayUnits": "A" + }, + { + "id": "imod", + "name": "modulation_index", + "type": "float32" + }, + + { + "id": "space_vector_active", + "name": "Space Vector", + "type": "enum", + "enumValues": [ + "DISABLE", + "ACTIVE" + ] + }, + { + "id": "current_control_active", + "name": "Current Control", + "type": "enum", + "enumValues": [ + "DISABLE", + "ACTIVE" + ] + }, + { + "id": "speed_control_active", + "name": "Speed Control", + "type": "enum", + "enumValues": [ + "DISABLE", + "ACTIVE" + ] + }, + { + "id": "gd_fault_a", + "name": "GateDriver_A_Fault", + "type": "bool", + "podUnits": "", + "displayUnits": "", + "safeRange": [ + -2.0, + 100.0 + ], + "warningRange": [ + 0.0, + 100.0 + ] + }, + { + "id": "gd_fault_b", + "name": "GateDriver_B_Fault", + "type": "bool", + "podUnits": "", + "displayUnits": "", + "safeRange": [ + 0.0, + 100.0 + ], + "warningRange": [ + 0.0, + 100.0 + ] + }, + { + "id": "gd_ready_a", + "name": "GateDriver_A_Ready", + "type": "bool", + "podUnits": "", + "displayUnits": "", + "safeRange": [ + 0.0, + 100.0 + ], + "warningRange": [ + 0.0, + 100.0 + ] + }, + { + "id": "gd_ready_b", + "name": "GateDriver_B_Ready", + "type": "bool", + "podUnits": "", + "displayUnits": "", + "safeRange": [ + 0.0, + 100.0 + ], + "warningRange": [ + 0.0, + 100.0 + ] + }, + + { + "id": "reset_bypass", + "name": "Reset Bypass", + "type": "bool", + "podUnits": "", + "displayUnits": "" + } +] \ No newline at end of file diff --git a/boards/PCU/orders.json b/boards/PCU/orders.json new file mode 100644 index 0000000..2658183 --- /dev/null +++ b/boards/PCU/orders.json @@ -0,0 +1,55 @@ +[ + { + "type": "order", + "name": "Start_SVPWM", + "variables": [ + "frequency_to_send_svpwm", + "frequency_to_send_PWM", + "V_Ref", + "VMax" + ], + "id": 507 + }, + { + "type": "order", + "name": "Stop_Motor", + "variables": [], + "id": 508 + }, + { + "type": "order", + "name": "Send_Reference_Current", + "variables": [ + "freq_to_send_svpwm", + "freq_to_send_PWM", + "Current_Ref", + "VMax" + ], + "id": 509 + }, + { + "type": "order", + "name": "Zeroing", + "variables": [], + "id": 510 + }, + + { + "type":"order", + "name": "Reset_Bypass", + "variables": [ + "reset_bypass" + ], + "id": 513 + }, + { + "type": "order", + "name": "Send_Reference_Speed", + "variables": [ + "Speed_Ref", + "freq_to_send_PWM", + "VMax" + ], + "id": 511 + } +] \ No newline at end of file diff --git a/boards/PCU/packets.json b/boards/PCU/packets.json new file mode 100644 index 0000000..d6c2bf3 --- /dev/null +++ b/boards/PCU/packets.json @@ -0,0 +1,115 @@ +[ + { + "type": "data", + "name": "pwm_packet", + "variables": [ + "frequency", + "modulation_frequency", + "duty_u", + "duty_v", + "duty_w" + ], + "id": 550, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + { + "type": "data", + "name": "Batteries_Voltage", + "variables": [ + "Voltage_Battery_A", + "Voltage_Battery_B" + ], + "id": 551, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + { + "type": "data", + "name": "Current_sensors", + "variables": [ + "current_sensor_u_a", + "current_sensor_v_a", + "current_sensor_w_a", + "current_sensor_u_b", + "current_sensor_v_b", + "current_sensor_w_b", + "current_Peak", + "Error_PI", + "Target_Voltage", + "SVPWM_Time", + "imod" + ], + "id": 552, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + { + "type": "data", + "name": "StateMachine_states", + "variables": [ + "general_state_machine", + "operational_state_machine", + "space_vector_active", + "current_control_active", + "speed_control_active" + ], + "id": 553, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + { + "type": "data", + "name": "Speetec_data", + "variables": [ + "encoder_position", + "encoder_direction", + "encoder_speed", + "encoder_speed_km_h", + "encoder_acceleration" + ], + "id": 554, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + { + "type": "data", + "name": "Speed_data", + "variables": [ + "target_speed", + "speed_error", + "actual_current_ref" + ], + "id": 555, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + }, + + + { + "type": "data", + "name": "GateDriverReporting", + "variables": [ + "gd_fault_a", + "gd_fault_b", + "gd_ready_a", + "gd_ready_b" + ], + "id": 558, + "period_type": "ms", + "period": 16.67, + "socket": "vcu_udp" + } + +] \ No newline at end of file diff --git a/boards/PCU/sockets.json b/boards/PCU/sockets.json new file mode 100644 index 0000000..6f49b6b --- /dev/null +++ b/boards/PCU/sockets.json @@ -0,0 +1,13 @@ +[ + { + "type": "ServerSocket", + "name": "vcu_tcp", + "port": 50500 + }, + { + "type": "DatagramSocket", + "name": "vcu_udp", + "remote_ip": "192.168.1.3", + "port": 50400 + } +] diff --git a/boards/VCU/VCU.json b/boards/VCU/VCU.json index 58b8546..4f4a339 100644 --- a/boards/VCU/VCU.json +++ b/boards/VCU/VCU.json @@ -1,5 +1,5 @@ { - "board_id": 11, + "board_id": 3, "board_ip": "192.168.1.3", "measurements": [ "VCU_measurements.json" diff --git a/boards/VCU/sockets.json b/boards/VCU/sockets.json index 6a7e581..0a124e3 100644 --- a/boards/VCU/sockets.json +++ b/boards/VCU/sockets.json @@ -4,45 +4,47 @@ "name": "control_station_tcp", "port": 50500 }, - { "type": "DatagramSocket", "name": "control_station_udp", "remote_ip":"192.168.0.9", "port": 50400 }, - { - "type": "Socket", - "name": "pcu_tcp", - "local_port": 50501, - "remote_ip": "192.168.1.5", - "remote_port": 50500 - }, + { "type": "DatagramSocket", "name": "pcu_udp", "remote_ip": "192.168.1.5", "port": 50402 }, + { + "type": "Socket", + "name": "pcu_tcp", + "local_port": 50505, + "remote_ip": "192.168.1.5", + "remote_port": 50500 + }, + { "type": "DatagramSocket", "name": "hvbms_udp", "remote_ip": "192.168.1.7", "port": 50403 }, - { - "type": "DatagramSocket", - "name": "lcu_udp", - "remote_ip": "192.168.1.4", - "port": 50405 - }, { "type": "Socket", "name": "hvbms_tcp", - "local_port": 50502, + "local_port": 50507, "remote_ip": "192.168.1.7", "remote_port": 50500 }, + + { + "type": "DatagramSocket", + "name": "lcu_udp", + "remote_ip": "192.168.1.4", + "port": 50405 + }, { "type": "Socket", "name": "lcu_tcp",