From 07cd81f39fd290c42dd27b7b18b45d4952c2d701 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 16:12:55 +0200 Subject: [PATCH 1/8] Feat()#632: New test branch and PR to review implementation of ADJv3 for the BLCU directory. --- boards/PCU/PCU.json | 1 + boards/PCU/orders.json | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/boards/PCU/PCU.json b/boards/PCU/PCU.json index 4476aa8..ffacc86 100644 --- a/boards/PCU/PCU.json +++ b/boards/PCU/PCU.json @@ -1,5 +1,6 @@ { "board_id": 5, + "mac": "0:0:0:0:0:0", "board_ip": "192.168.1.5", "measurements": [ "PCU_measurements.json" diff --git a/boards/PCU/orders.json b/boards/PCU/orders.json index c124fdd..8dffa4c 100644 --- a/boards/PCU/orders.json +++ b/boards/PCU/orders.json @@ -3,8 +3,8 @@ "type": "order", "name": "FAULT", "variables": [], - "id": 0 - }, + "id": 512 + }, { "type": "order", "name": "Start SVPWM", @@ -14,14 +14,14 @@ "v_ref", "vmax" ], - "id": 507 - }, + "id": 513 + }, { "type": "order", "name": "Stop Motor", "variables": [], - "id": 508 - }, + "id": 514 + }, { "type": "order", "name": "Send Reference Current", @@ -32,14 +32,14 @@ "vmax", "vf_control" ], - "id": 509 - }, + "id": 515 + }, { "type": "order", "name": "Zeroing", "variables": [], - "id": 510 - }, + "id": 516 + }, { "type": "order", "name": "Send Reference Speed", @@ -48,6 +48,6 @@ "freq_to_send_pwm", "vmax" ], - "id": 511 - } + "id": 517 + } ] \ No newline at end of file From 2ffeee41c5df85eb00a45c3d4a1a855cc618b6b4 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 16:14:00 +0200 Subject: [PATCH 2/8] Feat()#632: removed indents --- boards/PCU/orders.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/boards/PCU/orders.json b/boards/PCU/orders.json index 8dffa4c..180437e 100644 --- a/boards/PCU/orders.json +++ b/boards/PCU/orders.json @@ -4,7 +4,7 @@ "name": "FAULT", "variables": [], "id": 512 - }, + }, { "type": "order", "name": "Start SVPWM", @@ -15,13 +15,13 @@ "vmax" ], "id": 513 - }, + }, { "type": "order", "name": "Stop Motor", "variables": [], "id": 514 - }, + }, { "type": "order", "name": "Send Reference Current", @@ -33,13 +33,13 @@ "vf_control" ], "id": 515 - }, + }, { "type": "order", "name": "Zeroing", "variables": [], "id": 516 - }, + }, { "type": "order", "name": "Send Reference Speed", @@ -49,5 +49,5 @@ "vmax" ], "id": 517 - } + } ] \ No newline at end of file From dc7b1019a6494c38e13bc913c8189bf589f8c7f6 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 16:28:29 +0200 Subject: [PATCH 3/8] Feat()#632: completed measurements section. --- boards/PCU/PCU_measurements.json | 217 +++++++++++++++---------------- 1 file changed, 106 insertions(+), 111 deletions(-) diff --git a/boards/PCU/PCU_measurements.json b/boards/PCU/PCU_measurements.json index 868d98b..35f909a 100644 --- a/boards/PCU/PCU_measurements.json +++ b/boards/PCU/PCU_measurements.json @@ -1,118 +1,116 @@ [ { - "id": "frequency", + "id": 559, + "alias": "frequency", "name": "Frequency Commutation hz", "type": "uint32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "modulation_frequency", + "id": 560, + "alias": "modulation_frequency", "name": "Modulation Frequency", "type": "float32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "duty_u", + "id": 561, + "alias": "duty_u", "name": "Duty U", "type": "float32", - "podUnits": "%", "displayUnits": "%" }, { - "id": "duty_v", + "id": 562, + "alias": "duty_v", "name": "Duty V", "type": "float32", - "podUnits": "%", "displayUnits": "%" }, { - "id": "duty_w", + "id": 563, + "alias": "duty_w", "name": "Duty W", "type": "float32", - "podUnits": "%", "displayUnits": "%" }, { - "id": "voltage_battery_a", + "id": 564, + "alias": "voltage_battery_a", "name": "Voltage Battery A", "type": "float32" }, { - "id": "voltage_battery_b", + "id": 565, + "alias": "voltage_battery_b", "name": "Voltage Battery B", "type": "float32" }, { - "id": "v_ref", + "id": 566, + "alias": "v_ref", "name": "Reference Voltage", "type": "float32" }, { - "id": "frequency_to_send_svpwm", + "id": 567, + "alias": "frequency_to_send_svpwm", "name": "Frequency Modulation hz", "type": "float32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "frequency_to_send_pwm", + "id": 568, + "alias": "frequency_to_send_pwm", "name": "Frequency Commutation hz", "type": "float32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "current_sensor_u_a", + "id": 569, + "alias": "current_sensor_u_a", "name": "Current Sensor U Connector A", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "current_sensor_u_b", + "id": 570, + "alias": "current_sensor_u_b", "name": "Current Sensor U Connector B", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "current_sensor_v_a", + "id": 571, + "alias": "current_sensor_v_a", "name": "Current Sensor V Connector A", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "current_sensor_v_b", + "id": 572, + "alias": "current_sensor_v_b", "name": "Current Sensor V Connector B", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "current_sensor_w_a", + "id": 573, + "alias": "current_sensor_w_a", "name": "Current Sensor W Connector A", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "current_sensor_w_b", + "id": 574, + "alias": "current_sensor_w_b", "name": "Current Sensor W Connector B", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [0, 120] + "displayUnits": "A" }, { - "id": "state", + "id": 575, + "alias": "state", "name": "State", "type": "enum", "enumValues": [ @@ -123,179 +121,176 @@ ] }, { - "id": "current_ref", + "id": 576, + "alias": "current_ref", "name": "Current Ref", "type": "float32", - "podUnits": "A", "displayUnits": "A" }, { - "id": "freq_to_send_svpwm", + "id": 577, + "alias": "freq_to_send_svpwm", "name": "Frequency Modulation hz", "type": "float32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "freq_to_send_pwm", + "id": 578, + "alias": "freq_to_send_pwm", "name": "Frequency Commutation hz", "type": "float32", - "podUnits": "Hz", "displayUnits": "Hz" }, { - "id": "current_Peak", + "id": 579, + "alias": "current_Peak", "name": "Max Current Peak", "type": "float32", - "podUnits": "A", "displayUnits": "A" }, { - "id": "error_pi", + "id": 580, + "alias": "error_pi", "name": "Actual Current Error", "type": "float32", - "podUnits": "A", "displayUnits": "A" }, { - "id": "vf_control", + "id": 581, + "alias": "vf_control", "name": "Variable frecuency control", "type": "bool" }, { - "id": "slip_motor", + "id": 582, + "alias": "slip_motor", "name": "Slip Motor", "type": "float32", - "podUnits": "%", "displayUnits": "%" }, { - "id": "imu_speed_km_h", + "id": 583, + "alias": "imu_speed_km_h", "name": "Speed IMU", "type": "float64", - "podUnits": "km/h", "displayUnits": "km/h" }, { - "id": "imu_position_m", + "id": 584, + "alias": "imu_position_m", "name": "IMU Position", "type": "float32", - "podUnits": "m", "displayUnits": "m" }, { - "id": "target_voltage", + "id": 585, + "alias": "target_voltage", "name": "Target Voltage", "type": "float32", - "podUnits": "V", "displayUnits": "V" }, { - "id": "vmax", + "id": 586, + "alias": "vmax", "name": "Max Voltage", "type": "float32", - "podUnits": "V", "displayUnits": "V" }, { - "id": "speed_ref", + "id": 587, + "alias": "speed_ref", "name": "Reference Speed", "type": "float32", - "podUnits": "km/h", "displayUnits": "km/h" }, { - "id": "svpwm_time", + "id": 588, + "alias": "svpwm_time", "name": "SVPWM Time", "type": "float32", - "podUnits": "s", "displayUnits": "s" }, { - "id": "target_speed", + "id": 589, + "alias": "target_speed", "name": "Target Speed KM/H", "type": "float32", - "podUnits": "km/h", "displayUnits": "km/h" }, { - "id": "speed_error", + "id": 590, + "alias": "speed_error", "name": "Speed Error", "type": "float64", - "podUnits": "km/h", "displayUnits": "km/h" }, { - "id": "actual_current_ref", + "id": 591, + "alias": "actual_current_ref", "name": "Control Current ref", "type": "float32", - "podUnits": "A", "displayUnits": "A" }, { - "id": "imod", + "id": 592, + "alias": "imod", "name": "Modulation Index", "type": "float32" }, - { - "id": "gd_fault_a", + "id": 593, + "alias": "gd_fault_a", "name": "GateDriver A Fault", "type": "bool", - "podUnits": "", "displayUnits": "", - "safeRange": [ - -2.0, - 100.0 - ], - "warningRange": [ - 0.0, - 100.0 + "protections": [ + { + "type": "Equal", + "value": [1], + "fault": true + } ] }, { - "id": "gd_fault_b", + "id": 594, + "alias": "gd_fault_b", "name": "GateDriver B Fault", "type": "bool", - "podUnits": "", "displayUnits": "", - "safeRange": [ - 0.0, - 100.0 - ], - "warningRange": [ - 0.0, - 100.0 + "protections": [ + { + "type": "Equal", + "value": [1], + "fault": true + } ] }, { - "id": "gd_ready_a", + "id": 595, + "alias": "gd_ready_a", "name": "GateDriver A Ready", "type": "bool", - "podUnits": "", "displayUnits": "", - "safeRange": [ - 0.0, - 100.0 - ], - "warningRange": [ - 0.0, - 100.0 + "protections": [ + { + "type": "Equal", + "value": [1], + "fault": true + } ] }, { - "id": "gd_ready_b", + "id": 596, + "alias": "gd_ready_b", "name": "GateDriver B Ready", "type": "bool", - "podUnits": "", "displayUnits": "", - "safeRange": [ - 0.0, - 100.0 - ], - "warningRange": [ - 0.0, - 100.0 + "protections": [ + { + "type": "Equal", + "value": [1], + "fault": true + } ] } ] \ No newline at end of file From 4af2e1aee5fdb21c199eec6051ba51c233f998d3 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 16:29:50 +0200 Subject: [PATCH 4/8] Feat()#632: removed workflows. --- .github/workflows/.gitignore | 2 - .github/workflows/adj-tester.yaml | 78 -- .../workflows/scripts/adj-compact/compact.sh | 31 - .github/workflows/scripts/adj-tester/main.py | 710 ------------------ .../scripts/adj-tester/requirements.txt | 1 - .../adj-tester/schema/board.schema.json | 44 -- .../schema/general_info.schema.json | 74 -- .../schema/measurements.schema.json | 62 -- .../adj-tester/schema/packet.schema.json | 61 -- .../adj-tester/schema/socket.schema.json | 53 -- .github/workflows/scripts/adj-tester/utils.py | 193 ----- 11 files changed, 1309 deletions(-) delete mode 100644 .github/workflows/.gitignore delete mode 100644 .github/workflows/adj-tester.yaml delete mode 100755 .github/workflows/scripts/adj-compact/compact.sh delete mode 100755 .github/workflows/scripts/adj-tester/main.py delete mode 100644 .github/workflows/scripts/adj-tester/requirements.txt delete mode 100644 .github/workflows/scripts/adj-tester/schema/board.schema.json delete mode 100644 .github/workflows/scripts/adj-tester/schema/general_info.schema.json delete mode 100644 .github/workflows/scripts/adj-tester/schema/measurements.schema.json delete mode 100644 .github/workflows/scripts/adj-tester/schema/packet.schema.json delete mode 100644 .github/workflows/scripts/adj-tester/schema/socket.schema.json delete mode 100644 .github/workflows/scripts/adj-tester/utils.py diff --git a/.github/workflows/.gitignore b/.github/workflows/.gitignore deleted file mode 100644 index a4eaf93..0000000 --- a/.github/workflows/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.pyc -**/__pycache__/** \ No newline at end of file diff --git a/.github/workflows/adj-tester.yaml b/.github/workflows/adj-tester.yaml deleted file mode 100644 index af65939..0000000 --- a/.github/workflows/adj-tester.yaml +++ /dev/null @@ -1,78 +0,0 @@ -name: ADJ Validator (and Compact) - -on: - push: - pull_request: - -jobs: - validate-adj: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install jsonschema - - - name: Run ADJ validation - run: | - python3 .github/workflows/scripts/adj-tester/main.py - - - name: Notify Slack on failure - if: failure() - env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} - run: | - jq -n \ - --arg repo "${{ github.repository }}" \ - --arg branch "${{ github.ref_name }}" \ - --arg actor "${{ github.actor }}" \ - --arg run_url "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - '{ - text: " ❌ ADJ Validator Failed\n\nRepository: \($repo)\nBranch: \($branch)\nActor: \($actor)\n\nWorkflow run:\n\($run_url)" - }' | curl -X POST -H "Content-type: application/json" \ - --data @- \ - $SLACK_WEBHOOK - - publish-compact-adj: - needs: validate-adj - runs-on: ubuntu-latest - env: - TARGET_REPO: Hyperloop-UPV/ADJ-Archive - TARGET_BRANCH: main - TARGET_PATH: storage/commit-${{ github.sha }}.json - - steps: - - name: Checkout source repository - uses: actions/checkout@v4 - - - name: Compact ADJ - run: | - chmod +x .github/workflows/scripts/adj-compact/compact.sh - .github/workflows/scripts/adj-compact/compact.sh "${{ runner.temp }}/adj.json" - - - name: Upload to destination repo via API - env: - GH_TOKEN: ${{ secrets.TARGET_REPO_TOKEN }} - run: | - base64 -w0 "${{ runner.temp }}/adj.json" > "${{ runner.temp }}/adj.b64" - jq -n \ - --arg message "chore: add compacted ADJ from ${{ github.repository }}@${{ github.sha }}" \ - --rawfile content "${{ runner.temp }}/adj.b64" \ - --arg branch "$TARGET_BRANCH" \ - '{message: $message, content: $content, branch: $branch}' \ - > "${{ runner.temp }}/body.json" - curl --fail-with-body -sS -X PUT \ - -H "Authorization: Bearer $GH_TOKEN" \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - --data "@${{ runner.temp }}/body.json" \ - "https://api.github.com/repos/${TARGET_REPO}/contents/${TARGET_PATH}" diff --git a/.github/workflows/scripts/adj-compact/compact.sh b/.github/workflows/scripts/adj-compact/compact.sh deleted file mode 100755 index d6d2d30..0000000 --- a/.github/workflows/scripts/adj-compact/compact.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -# Javier Ribal del Río -# ADJ Compact: Merge all JSON files into a single `adj.json` for easier consumption by clients that prefer a single file. -# Usage: `./compact.sh [output-file]` -# Version: v11.0.0 (2026-05-18) -# - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -ROOT="$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel 2>/dev/null || (cd "$SCRIPT_DIR/../../../.." && pwd))" -OUT="${1:-${ROOT}/adj.json}" -OUT_BASE="$(basename "$OUT")" - -cd "$ROOT" - -acc='{}' -# Sort shallowest-first so files like `boards.json` are merged before `boards/X/Y.json`, -# letting the deeper, more specific content override the index-file stubs. -while IFS= read -r rel; do - [[ -z "$rel" ]] && continue - [[ "$rel" == "$OUT_BASE" ]] && continue - key="${rel%.json}" - acc=$(jq -c --arg k "$key" --slurpfile v "$rel" ' - ($k | split("/")) as $p - | . * ([{($p[-1]): $v[0]}] | .[0] | reduce ($p[:-1] | reverse)[] as $seg (.; {($seg): .})) - ' <<<"$acc") -done < <(find . -type d -name .github -prune -o -type f -name '*.json' -printf '%d %p\n' | sort -n | sed 's|^[0-9]* \./||') - -printf '%s\n' "$acc" >"$OUT" -echo "Wrote $OUT" diff --git a/.github/workflows/scripts/adj-tester/main.py b/.github/workflows/scripts/adj-tester/main.py deleted file mode 100755 index 99b925c..0000000 --- a/.github/workflows/scripts/adj-tester/main.py +++ /dev/null @@ -1,710 +0,0 @@ -""" - -ADJ Validator - -Version: 11.1.3 - -JavierRibaldelRio - -Entrypoint script for validating project JSON files against schemas. - -This script coordinates several checks over files in the test/ -directory using JSON Schema validation and project-specific rules -(e.g. uniqueness constraints and IPv4 validation). -""" - -import argparse -import sys -from pathlib import Path - -from utils import ( - print_header, - log_message, - load_json, - is_valid_ipv4, - print_results, - logError, - set_color_enabled, - validate_with_schema, -) - - -# ========================= -# CONFIG -# ========================= - -# Comment while development -SCRIPT_DIR = Path(__file__).resolve().parent - -BASE_DIR_JSON = SCRIPT_DIR.parent.parent.parent.parent -BASE_DIR_SCHEMA = SCRIPT_DIR / "schema" - -# comment while production -# BASE_DIR_JSON = "test" -# BASE_DIR_SCHEMA = "schema" - -# ========================= -# UTILS -# ========================= - - -def open_json(relative_path: str): - """Load a JSON file from the `test/` directory. - - Args: - relative_path: Path relative to `test/` (e.g. "boards.json"). - - Returns: - The parsed JSON structure. - """ - - return load_json(BASE_DIR_JSON / relative_path) - - -def open_schema(relative_path: str): - """Load a JSON Schema file from the `schema/` directory. - - Args: - relative_path: Path relative to `schema/` (e.g. "board.schema.json"). - - Returns: - The parsed JSON Schema as a dictionary. - """ - - return load_json(BASE_DIR_SCHEMA / relative_path) - - -# ========================= -# VARIABLES -# ========================= - -unique_board_ids = set() -unique_board_ip = set() -unique_packet_ids = set() -units = set() - -# ========================= -# VALIDATORS -# ========================= - - -def check_boards_json(): - """Validate the top-level `boards.json` index file. - - Verifies that `boards.json` is a mapping of board name (string) to a - relative JSON filename (string ending with .json). - - Returns the parsed boards mapping (dict) on success, otherwise None. - """ - - is_valid = True - error_list = [] - boards = None - - try: - boards = open_json("boards.json") - - if not isinstance(boards, dict): - error_list.append( - logError("boards.json", "", "boards.json must be a dictionary") - ) - is_valid = False - else: - for board, path in boards.items(): - if not isinstance(board, str): - error_list.append( - logError( - "boards.json", - "", - f"Board names must be strings and '{board}' is not a string", - ) - ) - is_valid = False - - if not isinstance(path, str): - error_list.append( - logError( - "boards.json", - f"boards.{board}", - f"Path for board '{board}' must be a string", - ) - ) - is_valid = False - elif not path.endswith(".json"): - error_list.append( - logError( - "boards.json", - f"boards.{board}", - f"Path for board '{board}' must end with .json", - ) - ) - is_valid = False - except RuntimeError as e: - error_list.append(logError("boards.json", "", str(e))) - is_valid = False - - print_results("boards.json", is_valid, error_list) - - return boards - - -def check_general_info_json(): - """Validate `general_info.json` and apply additional project rules. - - Performs schema validation and extra checks such as IPv4 format - validation for addresses, uniqueness of message IDs, and - accumulation/uniqueness checks for measurement units. - Returns True on success, False otherwise. - """ - - error_list = [] - is_valid = True - try: - general_info = open_json("general_info.json") - schema = open_schema("general_info.schema.json") - - is_valid, schema_errors = validate_with_schema( - general_info, schema, "general_info.json" - ) - if not is_valid: - error_list.extend(schema_errors) - - # Additional custom validations - - # IPv4 validation (schema already checks format, this is defensive) - for name, address in general_info["addresses"].items(): - if not is_valid_ipv4(address): - error_list.append( - logError( - "general_info.json", - f"addresses.{name}", - f"Invalid IPv4 address: {address}", - ) - ) - is_valid = False - - # Message IDs must be unique - ids_seen = set() - for message, msg_id in general_info["message_ids"].items(): - if msg_id in ids_seen: - error_list.append( - logError( - "general_info.json", - f"message_ids.{message}", - f"Duplicate message ID {msg_id}", - ) - ) - is_valid = False - ids_seen.add(msg_id) - - # measurement must be unique - for measurement, _ in general_info["units"].items(): - if measurement in units: - error_list.append( - logError( - "general_info.json", - f"units.{measurement}", - f"Duplicate measurement {measurement}", - ) - ) - is_valid = False - units.add(measurement) - except RuntimeError as e: - error_list.append(logError("general_info.json", "", str(e))) - is_valid = False - - print_results("general_info.json", is_valid, error_list) - - return is_valid - - -def check_board_json(path: str): - """Validate a single board JSON file. - - Ensures schema conformance and enforces global uniqueness for - `board_id` and `board_ip`. Also verifies the IPv4 format of - the board IP address. - Returns the parsed board dict on success, otherwise None. - """ - - error_list = [] - is_valid = True - - try: - board = open_json(path) - schema = open_schema("board.schema.json") - - is_valid, schema_errors = validate_with_schema(board, schema, path) - if not is_valid: - error_list.extend(schema_errors) - - # check if ip and id are unique - board_id = board["board_id"] - board_ip = board["board_ip"] - if board_id in unique_board_ids: - error_list.append( - logError( - path, - "board_id", - f"Duplicate board_id {board_id}", - ) - ) - is_valid = False - else: - unique_board_ids.add(board_id) - - if board_ip in unique_board_ip: - error_list.append( - logError( - path, - "ip_address", - f"Duplicate ip_address {board_ip}", - ) - ) - is_valid = False - else: - unique_board_ip.add(board_ip) - - # Check if board_ip is a valid IPv4 address - if not is_valid_ipv4(board_ip): - error_list.append( - logError( - path, - "board_ip", - f"Invalid IPv4 address: {board_ip}", - ) - ) - is_valid = False - except RuntimeError as e: - error_list.append(logError(path, "", str(e))) - is_valid = False - print_results(path, is_valid, error_list, type="(Board)") - - if is_valid: - return board - else: - return None - - -def check_measurement_json(path: str, previous_ids=None): - """Validate a measurements JSON file. - - Checks include schema validation, uniqueness of measurement IDs - within the current board (`previous_ids`), verification that any - referenced units exist in `general_info.json`, and validation of - enum-related constraints. - - Returns True if valid, False otherwise. - """ - - error_list = [] - is_valid = True - - try: - measurement = open_json(path) - schema = open_schema("measurements.schema.json") - - # Schema validation - is_valid, schema_errors = validate_with_schema(measurement, schema, path) - if not is_valid: - error_list.extend(schema_errors) - - # Check that all mesuraments ids are unique within the measurement and if type="enum" there is a enumValues field with unique values - - for measure in measurement: - mesurament_id = measure["id"] - # id - if mesurament_id in previous_ids: - - error_list.append( - logError( - path, - "id", - f"Duplicate id {mesurament_id} within the measurement", - ) - ) - is_valid = False - else: - previous_ids.add(mesurament_id) - - # units - # Check that the podUnits and DisplayUnits are in units - podUnit = measure.get("podUnits", "") - if podUnit != "" and podUnit not in units: - error_list.append( - logError( - path, - f"id {mesurament_id}", - f"podUnit '{podUnit}' for id {mesurament_id} is not defined in general_info.json", - ) - ) - is_valid = False - - displayUnit = measure.get("displayUnits", "") - if displayUnit != "" and displayUnit not in units: - error_list.append( - logError( - path, - f"id {mesurament_id}", - f"displayUnit '{displayUnit}' for id {mesurament_id} is not defined in general_info.json", - ) - ) - is_valid = False - - # type enum - if measure["type"] == "enum": - if "enumValues" not in measure: - error_list.append( - logError( - path, - f"id {mesurament_id}", - f"id {mesurament_id} is of type 'enum' but 'enumValues' field is missing", - ) - ) - is_valid = False - else: - # check unique enum values - enum_values = measure["enumValues"] - if len(enum_values) != len(set(enum_values)): - error_list.append( - logError( - path, - f"id {mesurament_id}", - f"'enumValues' for id {mesurament_id} contains duplicate values", - ) - ) - is_valid = False - - except RuntimeError as e: - error_list.append(logError(path, "", str(e))) - is_valid = False - print_results(path, is_valid, error_list, type="(Measurements)", prefix="\t") - return is_valid - - -def check_packet_json( - path: str, sockets: set, measurement_ids=None, used_measurement_ids=None -): - """Validate a packet JSON file. - - Ensures schema conformance, global uniqueness of packet IDs - (with 0 often allowed as special case) and that referenced - measurement IDs exist in `measurement_ids`. - - Returns True if valid, False otherwise. - """ - - error_list = [] - is_valid = True - - try: - packet = open_json(path) - schema = open_schema("packet.schema.json") - - # Schema validation - is_valid, schema_errors = validate_with_schema(packet, schema, path) - if not is_valid: - error_list.extend(schema_errors) - - # Ensure packet id is unique across all packets - for pkt in packet: - pkt_id = pkt["id"] - if pkt_id in unique_packet_ids and pkt_id != 0: - error_list.append( - logError( - path, - "id", - f"Duplicate id {pkt_id} across packets", - ) - ) - is_valid = False - else: - unique_packet_ids.add(pkt_id) - - # Ensure all measurement ids in the packet are defined in the measurements - for meas_id in pkt.get("variables", []): - if meas_id not in measurement_ids: - error_list.append( - logError( - path, - f"id {pkt_id}", - f"measurement_id {meas_id} in id {pkt_id} is not defined in measurements", - ) - ) - is_valid = False - else: - # Track that this measurement is being used - if used_measurement_ids is not None: - used_measurement_ids.add(meas_id) - - # Ensure that socket is defined in the sockets - socket_name = pkt.get("socket", "") - if socket_name != "" and socket_name not in sockets: - error_list.append( - logError( - path, - f"id {pkt_id}", - f"socket '{socket_name}' in id {pkt_id} is not defined in sockets", - ) - ) - is_valid = False - - # Ensure that if one of period_type, period, socket is present, all must be present - has_period_type = "period_type" in pkt - has_period = "period" in pkt - has_socket = "socket" in pkt - - # Count how many of the three fields are present - fields_present = sum([has_period_type, has_period, has_socket]) - - # If any field is present, all three must be present - if fields_present > 0 and fields_present < 3: - error_list.append( - logError( - path, - f"id {pkt_id}", - f"Fields 'period_type', 'period', and 'socket' must all be present together or all be absent. " - f"Found: period_type={has_period_type}, period={has_period}, socket={has_socket}", - ) - ) - is_valid = False - - except RuntimeError as e: - error_list.append(logError(path, "", str(e))) - is_valid = False - print_results(path, is_valid, error_list, type="(Packets/Orders)", prefix="\t") - return is_valid - - -def check_socket_json(path: str, sockets_name: set): - - error_list = [] - is_valid = True - try: - # Open json and Schema - sockets = open_json(path) - schema = open_schema("socket.schema.json") - - # Schema validation - is_valid, schema_errors = validate_with_schema(sockets, schema, path) - if not is_valid: - error_list.extend(schema_errors) - - for socket in sockets: - # ensure socket name is unique across all sockets - socket_name = socket["name"] - if socket_name in sockets_name: - error_list.append( - logError( - path, - "name", - f"Duplicate socket name '{socket_name}' across sockets", - ) - ) - is_valid = False - else: - sockets_name.add(socket_name) - - # check that remote_ip is valid (remote_ip is optional) and it is defined only for type=="DatagramSocket" || type=="Socket" - if ( - socket["type"] not in ["DatagramSocket", "Socket"] - and "remote_ip" in socket - ): - error_list.append( - logError( - path, - f"name {socket_name}", - f"remote_ip is only allowed for type 'DatagramSocket' or 'Socket', but socket '{socket_name}' has type '{socket['type']}'", - ) - ) - is_valid = False - - else: - socket_ip = socket.get("remote_ip", "") - - # Remote ip might also be backend - if ( - socket_ip != "" - and not is_valid_ipv4(socket_ip) - and socket_ip.lower() != "backend" - ): - error_list.append( - logError( - path, - f"name {socket_name}", - f"Invalid IPv4 address: {socket_ip}", - ) - ) - is_valid = False - - # check that port is only definied if type=="ServerSocket" || type=="DatagramSocket" - - if socket.get("port", None) is not None and socket["type"] not in [ - "ServerSocket", - "DatagramSocket", - ]: - error_list.append( - logError( - path, - f"name {socket_name}", - f"Port is only allowed for type 'ServerSocket' or 'DatagramSocket', but socket '{socket_name}' has type '{socket['type']}'", - ) - ) - is_valid = False - - # check that local_port is only used for type=="Socket" - if ( - socket.get("local_port", None) is not None - and socket["type"] != "Socket" - ): - error_list.append( - logError( - path, - f"name {socket_name}", - f"local_port is only allowed for type 'Socket', but socket '{socket_name}' has type '{socket['type']}'", - ) - ) - is_valid = False - - # checck thath remote_port is only used for type=="Socket" - if ( - socket.get("remote_port", None) is not None - and socket["type"] != "Socket" - ): - error_list.append( - logError( - path, - f"name {socket_name}", - f"remote_port is only allowed for type 'Socket', but socket '{socket_name}' has type '{socket['type']}'", - ) - ) - is_valid = False - - except RuntimeError as e: - error_list.append(logError(path, "", str(e))) - is_valid = False - print_results(path, is_valid, error_list, type="(Socket)", prefix="\t") - return is_valid - - -# ========================= -# MAIN -# ========================= - - -def main(): - """Main orchestration function. - - Performs the full validation flow and exits the process with a - non-zero status code if any validation step fails. - """ - - parser = argparse.ArgumentParser(description="Validate ADJ JSON schemas") - parser.add_argument( - "--no-color", - action="store_true", - help="Disable ANSI color codes in output", - ) - args = parser.parse_args() - - set_color_enabled(not args.no_color) - - # App header - print_header("JSON Validation Script") - - # Validate general_info.json - valid = check_general_info_json() - - # Get boards and validate json - boards = check_boards_json() - if boards is None or not valid: - log_message("Aborting due to previous errors", status=-1) - sys.exit(1) - - # Validate individual board JSON files - print_header("Validating individual board JSON files") - - for board_name, board_path in boards.items(): - - # Validate board JSON, board is an arrya of measurements and packets paths - board = check_board_json(board_path) - - # if board is not none continue with further processing - if board is not None: - - # measurements are unique within a board - measurement_ids = set() - used_measurement_ids = set() - - # sockets are unique - sockets_name = set() - - # Validate socket JSON files - for socket_path in board.get("sockets", []): - valid = ( - check_socket_json( - f"boards/{board_name}/{socket_path}", sockets_name - ) - and valid - ) - - # Validate measurements JSON files - for measurement_path in board.get("measurements", []): - valid = ( - check_measurement_json( - f"boards/{board_name}/{measurement_path}", - measurement_ids, - ) - and valid - ) - - # Validate packets JSON files (remember that orders are processed as packets) - for packets_path in board.get("packets", []): - valid = ( - check_packet_json( - f"boards/{board_name}/{packets_path}", - sockets_name, - measurement_ids, - used_measurement_ids, - ) - and valid - ) - - # Check for measurements that are defined but not used - unused_measurements = measurement_ids - used_measurement_ids - unused_error_list = [] - if unused_measurements: - for measurement_id in sorted(unused_measurements): - unused_error_list.append( - logError( - f"{board_name} - GENERAL INFO", - f"measurement id '{measurement_id}'", - f"Measurement id '{measurement_id}' is defined but never used in any packet or order", - ) - ) - valid = False - - if unused_error_list: - print_results( - f"boards/{board_name}", - False, - unused_error_list, - type="(Unused Measurements)", - prefix="\t", - ) - else: - log_message( - f"Skipping measurements and packets validation for board {board_name} due to previous errors", - status=-1, - ) - valid = False - - if not valid: - log_message("Validation completed with errors", status=-1) - sys.exit(1) - else: - log_message("All JSON files validated successfully", status=1) - - -if __name__ == "__main__": - main() diff --git a/.github/workflows/scripts/adj-tester/requirements.txt b/.github/workflows/scripts/adj-tester/requirements.txt deleted file mode 100644 index d385d9a..0000000 --- a/.github/workflows/scripts/adj-tester/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -jsonschema==4.25.0 \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/schema/board.schema.json b/.github/workflows/scripts/adj-tester/schema/board.schema.json deleted file mode 100644 index f640ac7..0000000 --- a/.github/workflows/scripts/adj-tester/schema/board.schema.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Board configuration schema", - "description": "Main board configuration including ID, IP address, and references to measurements and packets files.", - "type": "object", - "additionalProperties": true, - "required": [ - "board_id", - "board_ip", - "measurements", - "packets" - ], - "properties": { - "board_id": { - "type": "integer", - "minimum": 0, - "maximum": 4294967295, - "description": "Unique 32-bit unsigned integer identifier for the board" - }, - "board_ip": { - "type": "string", - "format": "ipv4", - "description": "IP address string for network communication" - }, - "measurements": { - "type": "array", - "minItems": 1, - "items": { - "type": "string", - "pattern": "^[^\\\\/:*?\"<>|]+\\.json$" - }, - "description": "Array of measurement file paths relative to board directory" - }, - "packets": { - "type": "array", - "minItems": 1, - "items": { - "type": "string", - "pattern": "^[^\\\\/:*?\"<>|]+\\.json$" - }, - "description": "Array of packet file paths relative to board directory" - } - } -} \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/schema/general_info.schema.json b/.github/workflows/scripts/adj-tester/schema/general_info.schema.json deleted file mode 100644 index b30302a..0000000 --- a/.github/workflows/scripts/adj-tester/schema/general_info.schema.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "general_info schema", - "description": "Schema for general information including ports, addresses, units, and message IDs.", - "type": "object", - "required": [ - "ports", - "addresses", - "units", - "message_ids" - ], - "additionalProperties": false, - "properties": { - "ports": { - "type": "object", - "minProperties": 1, - "properties": { - "TCP_CLIENT": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "TCP_SERVER": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "UDP": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "SNTP": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "TFTP": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - } - } - }, - "addresses": { - "type": "object", - "minProperties": 1, - "properties": { - "backend": { - "type": "string", - "format": "ipv4" - } - }, - "required": [ - "backend" - ] - }, - "units": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "type": "string" - } - }, - "message_ids": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "type": "integer", - "minimum": 0 - } - } - } -} \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/schema/measurements.schema.json b/.github/workflows/scripts/adj-tester/schema/measurements.schema.json deleted file mode 100644 index 25bca27..0000000 --- a/.github/workflows/scripts/adj-tester/schema/measurements.schema.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Measurements schema", - "description": "Array of measurement definitions for data collection and monitoring.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "name", - "type" - ], - "properties": { - "id": { - "type": "string", - "minLength": 1, - "description": "Unique string identifier for the measurement" - }, - "name": { - "type": "string", - "minLength": 1, - "description": "Human-readable display name" - }, - "type": { - "type": "string", - "enum": [ - "uint8", - "uint16", - "uint32", - "uint64", - "int8", - "int16", - "int32", - "int64", - "float32", - "float64", - "enum", - "bool" - ], - "description": "Data type of the measurement" - }, - "podUnits": { - "type": "string", - "description": "Optional pod-side units (references general_info.units)" - }, - "displayUnits": { - "type": "string", - "description": "Optional display units (references general_info.units)" - }, - "enumValues": { - "type": "array", - "minItems": 0, - "items": { - "type": "string" - }, - "description": "Enumeration values for discrete measurements" - } - } - } -} \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/schema/packet.schema.json b/.github/workflows/scripts/adj-tester/schema/packet.schema.json deleted file mode 100644 index 9f9bec8..0000000 --- a/.github/workflows/scripts/adj-tester/schema/packet.schema.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Packets schema", - "description": "Array of packet definitions for telemetry, status, and control orders.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "type", - "name" - ], - "properties": { - "id": { - "type": "integer", - "minimum": 0, - "maximum": 4294967295, - "description": " 32-bit unsigned integer packet identifier" - }, - "type": { - "type": "string", - "minLength": 1, - "description": "Packet type (e.g., data, order, status)" - }, - "name": { - "type": "string", - "minLength": 1, - "description": "Human-readable packet name" - }, - "variables": { - "type": "array", - "minItems": 0, - "items": { - "type": "string", - "minLength": 1 - }, - "description": "Measurement IDs included in this packet" - }, - "period": { - "type": [ - "integer", - "number" - ], - "description": "Packet transmission period in milliseconds" - }, - "period_type": { - "type": "string", - "enum": [ - "us", - "ms" - ], - "description": "Unit type for period (microseconds or milliseconds)" - }, - "socket": { - "type": "string", - "description": "Name of the socket used for this packet" - } - } - } -} \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/schema/socket.schema.json b/.github/workflows/scripts/adj-tester/schema/socket.schema.json deleted file mode 100644 index 5c9644c..0000000 --- a/.github/workflows/scripts/adj-tester/schema/socket.schema.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Socket configuration schema", - "description": "Array of socket definitions for network communication", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "name" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "ServerSocket", - "DatagramSocket", - "Socket" - ], - "description": "Socket type" - }, - "name": { - "type": "string", - "minLength": 1, - "description": "Socket name" - }, - "port": { - "type": "integer", - "minimum": 1, - "maximum": 65535, - "description": "Port number for ServerSocket or DatagramSocket" - }, - "local_port": { - "type": "integer", - "minimum": 1, - "maximum": 65535, - "description": "Local port number for Socket" - }, - "remote_ip": { - "type": "string", - "description": "Remote IPv4 address" - }, - "remote_port": { - "type": "integer", - "minimum": 1, - "maximum": 65535, - "description": "Remote port number for Socket" - } - } - } -} \ No newline at end of file diff --git a/.github/workflows/scripts/adj-tester/utils.py b/.github/workflows/scripts/adj-tester/utils.py deleted file mode 100644 index 71fcba5..0000000 --- a/.github/workflows/scripts/adj-tester/utils.py +++ /dev/null @@ -1,193 +0,0 @@ -"""Utility helpers for printing, logging and JSON loading. - -This module providessmall helper functions used by the test-suite and -CLI utilities, including colored printing for statuses, simple logging, -JSON loading with clear error messages, and basic IPv4 validation. -""" - -import json -import ipaddress -from pathlib import Path -from jsonschema import Draft7Validator - -# Global switch to control whether ANSI colors are used in output. -# This is controlled from CLI via the `--no-color` flag. -ENABLE_COLOR = True - - -def set_color_enabled(enabled: bool): - """Enable or disable ANSI color output. - - Args: - enabled: If False, all helper output functions will omit ANSI - escape sequences. - """ - - global ENABLE_COLOR - ENABLE_COLOR = enabled - - -def print_header(header: str): - """Print a simple boxed header to stdout. - - The header is printed with a fixed width underline/overline for - visual separation in CLI output. - - Args: - header: The header text to print. - """ - - header_len = 40 - print("=" * header_len) - print("· " + header) - print("=" * header_len) - - -def format_status(message: str, validated: bool = False): - """Print a single-line status message. - - The `validated` flag controls whether the status is shown as - a green "Passed" (True) or a red "Failed" (False). - - Args: - message: Human-readable message or label to print before status. - validated: If True, prints a green "Passed"; otherwise prints a - red "Failed". - """ - - if not ENABLE_COLOR: - result = "Passed" if validated else "Failed" - return f"{message} {result}" - - # ANSI color codes used for terminal output - if not validated: - result = "\033[31mFailed\033[0m" # red - else: - result = "\033[32mPassed\033[0m" # green - - return f"{message} {result}" - - -def info_message(message: str): - """format to blue color and return the message string.""" - - if not ENABLE_COLOR: - return message - - return f"\033[34m{message}\033[0m" - - -def log_message(message: str, status: int = 0): - """ - status: - -1 → error (red) - 0 → normal - 1 → success (green) - """ - """Log a message with optional color depending on status. - - Args: - message: Message text to print. - status: Controls color: -1 -> red (error), 0 -> normal, 1 -> green - (success). - """ - - if not ENABLE_COLOR: - print(message) - return - - colors = {-1: "\033[31m", 1: "\033[32m"} - color = colors.get(status, "") - reset = "\033[0m" if color else "" - print(f"{color}{message}{reset}") - - -def load_json(path: Path): - """Load and parse a JSON file from the given path. - - Raises a RuntimeError with a clear message when the file is missing - or when the JSON cannot be decoded. - - Args: - path: Path to the JSON file to load. - - Returns: - The parsed JSON object. - """ - - try: - with path.open(encoding="utf-8") as f: - return json.load(f) - except FileNotFoundError: - # Normalize file-not-found into a runtime error for callers - raise RuntimeError(f"File not found: {path}") - except json.JSONDecodeError as e: - # Provide the underlying JSON error message to help debugging - raise RuntimeError(f"JSON malformed in {path}: {e}") - - -def is_valid_ipv4(address: str) -> bool: - """Return True if the given string is a valid IPv4 address. - - Uses the stdlib ipaddress module to validate the textual address. - """ - - try: - ipaddress.IPv4Address(address) - return True - except ipaddress.AddressValueError: - return False - - -def print_results(file, is_valid, error_list, type=None, prefix=""): - """Print validation results for a file. - - The function prints an overall status line and then any detailed - error messages indented on subsequent lines. - - Args: - file: File name or identifier to show in the status line. - is_valid: Boolean indicating whether the file passed validation. - error_list: Iterable of error message strings. - """ - - out = format_status(file, is_valid) - - if type != None: - out = f"{out} {info_message(type)}" - - print(prefix + out) - - for error in error_list: - # Indent errors for readability in CLI output - print("\t|\t" + error) - - -def logError(label: str, path: str, message: str): - """Return a formatted, red-colored error string. - - This helper is handy for tests or logging in contexts that prefer a - single formatted string instead of printing directly. - """ - - if not ENABLE_COLOR: - return f"{label}: {path} → {message}" - - return f"\033[31m{label}: {path} → {message}\033[0m" - - -# Schema validation -def validate_with_schema(data, schema, label: str) -> bool: - validator = Draft7Validator(schema) - errors = sorted(validator.iter_errors(data), key=lambda e: e.path) - error_list = [] - if errors: - - error_list = [ - logError(label, ".".join(map(str, e.path)) or "", e.message) - for e in errors - ] - - return False, error_list - - return True, [] From e21ed971b8148c4da4367cf6b1397b1f6a65e8f9 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 16:45:57 +0200 Subject: [PATCH 5/8] Feat()#632: Added general info for protections. Implemented full VCU ADJv3 Directory. --- boards/VCU/VCU.json | 1 + boards/VCU/VCU_measurements.json | 187 +++++++++++++++---------------- boards/VCU/orders.json | 56 +++++---- boards/VCU/packets.json | 10 +- general_info.json | 14 +++ 5 files changed, 146 insertions(+), 122 deletions(-) diff --git a/boards/VCU/VCU.json b/boards/VCU/VCU.json index 4f4a339..7203ded 100644 --- a/boards/VCU/VCU.json +++ b/boards/VCU/VCU.json @@ -1,5 +1,6 @@ { "board_id": 3, + "mac": "0:0:0:0:0:0", "board_ip": "192.168.1.3", "measurements": [ "VCU_measurements.json" diff --git a/boards/VCU/VCU_measurements.json b/boards/VCU/VCU_measurements.json index 614e1b9..d80dbee 100644 --- a/boards/VCU/VCU_measurements.json +++ b/boards/VCU/VCU_measurements.json @@ -1,96 +1,95 @@ [ - { - "id": "state", - "name": "State", - "type": "enum", - "enumValues": [ - "Idle", - "Connected", - "Maintenance", - "Precharging", - "HVActive", - "Ready", - "Propulsion", - "Static Levitation", - "Dynamic Levitation", - "Fault" - ] - }, - { - "id": "sdc_closed", - "name": "SDC Closed", - "type": "bool" - }, - { - "id": "high_pressure", - "name": "High Pressure", - "type": "float32", - "podUnits": "bar", - "displayUnits": "bar" - }, - { - "id": "low_pressure", - "name": "Low Pressure", - "type": "float32", - "podUnits": "bar", - "displayUnits": "bar" - }, - { - "id": "pressure_regulator_feedback", - "name": "Pressure Regulator Feedback", - "type": "float32", - "podUnits": "bar", - "displayUnits": "bar" - }, - { - "id": "brakes_status", - "name": "Brakes Status", - "type": "enum", - "enumValues": [ - "BRAKED", - "UNBRAKED" - ] - }, - { - "id": "electrovalve_enabled", - "name": "Electrovalve Enabled", - "type": "bool" - }, - { - "id": "hvbms_connected", - "name": "HVBMS Connected", - "type": "bool" - }, - { - "id": "pcu_connected", - "name": "PCU Connected", - "type": "bool" - }, - { - "id": "lcu_connected", - "name": "LCU Connected", - "type": "bool" - }, - { - "id": "propulsion_current_reference", - "name": "Propulsion Current Reference", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - 0, - 120 - ] - }, - { - "id": "levitation_target_height", - "name": "Levitation Target Height", - "type": "float32", - "podUnits": "m", - "displayUnits": "mm", - "safeRange": [ - 5, - 25 - ] - } + { + "id": 613, + "alias": "state", + "name": "State", + "type": "enum", + "enumValues": [ + "Idle", + "Connected", + "Maintenance", + "Precharging", + "HVActive", + "Ready", + "Propulsion", + "Static Levitation", + "Dynamic Levitation", + "Fault" + ] + }, + { + "id": 614, + "alias": "sdc_closed", + "name": "SDC Closed", + "type": "bool" + }, + { + "id": 615, + "alias": "high_pressure", + "name": "High Pressure", + "type": "float32", + "displayUnits": "bar" + }, + { + "id": 616, + "alias": "low_pressure", + "name": "Low Pressure", + "type": "float32", + "displayUnits": "bar" + }, + { + "id": 617, + "alias": "pressure_regulator_feedback", + "name": "Pressure Regulator Feedback", + "type": "float32", + "displayUnits": "bar" + }, + { + "id": 618, + "alias": "brakes_status", + "name": "Brakes Status", + "type": "enum", + "enumValues": [ + "BRAKED", + "UNBRAKED" + ] + }, + { + "id": 619, + "alias": "electrovalve_enabled", + "name": "Electrovalve Enabled", + "type": "bool" + }, + { + "id": 620, + "alias": "hvbms_connected", + "name": "HVBMS Connected", + "type": "bool" + }, + { + "id": 621, + "alias": "pcu_connected", + "name": "PCU Connected", + "type": "bool" + }, + { + "id": 622, + "alias": "lcu_connected", + "name": "LCU Connected", + "type": "bool" + }, + { + "id": 623, + "alias": "propulsion_current_reference", + "name": "Propulsion Current Reference", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 624, + "alias": "levitation_target_height", + "name": "Levitation Target Height", + "type": "float32", + "displayUnits": "mm" + } ] diff --git a/boards/VCU/orders.json b/boards/VCU/orders.json index a7b68e5..338eb3c 100644 --- a/boards/VCU/orders.json +++ b/boards/VCU/orders.json @@ -1,56 +1,66 @@ [ { - "id": 0, + "id": 600, "name": "FAULT", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 30, + "id": 601, "name": "Stop", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 40, + "id": 602, "name": "Maintenance", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 41, + "id": 603, "name": "Precharge", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 42, + "id": 604, "name": "Open Contactors", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 50, + "id": 605, "name": "Unbrake", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 51, + "id": 606, "name": "Brake", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 60, + "id": 607, "name": "Static Levitation", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 61, + "id": 608, "name": "Propulsion", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 62, + "id": 609, "name": "Dynamic Levitation", - "type": "order" + "type": "order", + "variables": [] }, { - "id": 100, + "id": 610, "name": "Propulsion Parameterized", "type": "order", "variables": [ @@ -58,7 +68,7 @@ ] }, { - "id": 101, + "id": 611, "name": "Static Levitation Parameterized", "type": "order", "variables": [ @@ -66,7 +76,7 @@ ] }, { - "id": 102, + "id": 612, "name": "Dynamic Levitation Parameterized", "type": "order", "variables": [ diff --git a/boards/VCU/packets.json b/boards/VCU/packets.json index 4003456..c270f87 100644 --- a/boards/VCU/packets.json +++ b/boards/VCU/packets.json @@ -5,7 +5,7 @@ "variables": [ "state" ], - "id": 249, + "id": 625, "period_type": "ms", "period": 10, "socket": "control_station_udp" @@ -18,7 +18,7 @@ "low_pressure", "pressure_regulator_feedback" ], - "id": 252, + "id": 626, "period_type": "ms", "period": 10, "socket": "control_station_udp" @@ -29,7 +29,7 @@ "variables": [ "brakes_status" ], - "id": 253, + "id": 627, "period_type": "ms", "period": 10, "socket": "control_station_udp" @@ -40,7 +40,7 @@ "variables": [ "electrovalve_enabled" ], - "id": 254, + "id": 628, "period_type": "ms", "period": 10, "socket": "control_station_udp" @@ -54,7 +54,7 @@ "pcu_connected", "lcu_connected" ], - "id": 255, + "id": 629, "period_type": "ms", "period": 10, "socket": "control_station_udp" diff --git a/general_info.json b/general_info.json index bdf05e0..c0dfc21 100644 --- a/general_info.json +++ b/general_info.json @@ -12,6 +12,20 @@ "backend": "192.168.0.9", "hypervisor": "192.168.0.13" }, + "protectionTypes": { + "Equal": { + "range": false, + "text": "Value is equal to {} (measured: %)" + }, + "Range": { + "range": true, + "text": "Value out of range {} (measured: %)" + }, + "Below": { + "range": false, + "text": "Value below {} (measured: %)" + } + }, "units": { "m/ss": "*1", "Hz": "*1", From e1761aea932186201f59902b2f669ca7aee93e54 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 17:02:43 +0200 Subject: [PATCH 6/8] Feat()#632: Implemented full VCU ADJv3 Directory. --- boards/LCU/LCU.json | 25 +- boards/LCU/LCU_measurements.json | 1465 +++++++++++++++--------------- boards/LCU/orders.json | 264 +++--- boards/LCU/packets.json | 293 +++--- boards/PCU/PCU_measurements.json | 16 +- boards/PCU/packets.json | 9 +- 6 files changed, 1079 insertions(+), 993 deletions(-) diff --git a/boards/LCU/LCU.json b/boards/LCU/LCU.json index 41de0b0..2617f5c 100644 --- a/boards/LCU/LCU.json +++ b/boards/LCU/LCU.json @@ -1,14 +1,15 @@ { - "board_id": 4, - "board_ip": "192.168.1.4", - "measurements": [ - "LCU_measurements.json" - ], - "packets": [ - "packets.json", - "orders.json" - ], - "sockets": [ - "sockets.json" - ] + "board_id": 4, + "mac": "0:0:0:0:0:0", + "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 index 6091694..6e1ca1e 100644 --- a/boards/LCU/LCU_measurements.json +++ b/boards/LCU/LCU_measurements.json @@ -1,715 +1,752 @@ [ - { - "id": "master_state_machine", - "name": "Master SM", - "type": "enum", - "enumValues": [ - "Connecting", - "Idle", - "Levitating", - "Current Control", - "Debug", - "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", - "type": "float32", - "podUnits": "m", - "displayUnits": "mm", - "safeRange": [ - 0, - 12 - ] - }, - { - "id": "lpu_id", - "name": "LPU ID", - "type": "uint32", - "safeRange": [ - 0, - 9 - ] - }, - { - "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", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_2", - "name": "Coil Current 2", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_3", - "name": "Coil Current 3", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_4", - "name": "Coil Current 4", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_5", - "name": "Coil Current 5", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_6", - "name": "Coil Current 6", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_7", - "name": "Coil Current 7", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_8", - "name": "Coil Current 8", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_9", - "name": "Coil Current 9", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_10", - "name": "Coil Current 10", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "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": "cinema_current", - "name": "Cinema Current", - "type": "float32" - }, - { - "id": "ctrl_voltage_1", - "name": "Control Voltage 1", - "type": "float32" - }, - { - "id": "ctrl_voltage_2", - "name": "Control Voltage 2", - "type": "float32" - }, - { - "id": "ctrl_voltage_3", - "name": "Control Voltage 3", - "type": "float32" - }, - { - "id": "ctrl_voltage_4", - "name": "Control Voltage 4", - "type": "float32" - }, - { - "id": "ctrl_voltage_5", - "name": "Control Voltage 5", - "type": "float32" - }, - { - "id": "ctrl_voltage_6", - "name": "Control Voltage 6", - "type": "float32" - }, - { - "id": "ctrl_voltage_7", - "name": "Control Voltage 7", - "type": "float32" - }, - { - "id": "ctrl_voltage_8", - "name": "Control Voltage 8", - "type": "float32" - }, - { - "id": "ctrl_voltage_9", - "name": "Control Voltage 9", - "type": "float32" - }, - { - "id": "ctrl_voltage_10", - "name": "Control Voltage 10", - "type": "float32" - }, - { - "id": "ctrl_gap_local_1", - "name": "Control Gap Local 1", - "type": "float32" - }, - { - "id": "ctrl_gap_local_2", - "name": "Control Gap Local 2", - "type": "float32" - }, - { - "id": "ctrl_gap_local_3", - "name": "Control Gap Local 3", - "type": "float32" - }, - { - "id": "ctrl_gap_local_4", - "name": "Control Gap Local 4", - "type": "float32" - }, - { - "id": "ctrl_state_1", - "name": "Control State 1", - "type": "float32" - }, - { - "id": "ctrl_state_2", - "name": "Control State 2", - "type": "float32" - }, - { - "id": "ctrl_state_3", - "name": "Control State 3", - "type": "float32" - }, - { - "id": "ctrl_state_4", - "name": "Control State 4", - "type": "float32" - }, - { - "id": "ctrl_state_5", - "name": "Control State 5", - "type": "float32" - }, - { - "id": "ctrl_current_ref_1", - "name": "Control Current Ref 1", - "type": "float32" - }, - { - "id": "ctrl_current_ref_2", - "name": "Control Current Ref 2", - "type": "float32" - }, - { - "id": "ctrl_current_ref_3", - "name": "Control Current Ref 3", - "type": "float32" - }, - { - "id": "ctrl_current_ref_4", - "name": "Control Current Ref 4", - "type": "float32" - }, - { - "id": "ctrl_current_ref_5", - "name": "Control Current Ref 5", - "type": "float32" - }, - { - "id": "ctrl_current_ref_6", - "name": "Control Current Ref 6", - "type": "float32" - }, - { - "id": "ctrl_current_ref_7", - "name": "Control Current Ref 7", - "type": "float32" - }, - { - "id": "ctrl_current_ref_8", - "name": "Control Current Ref 8", - "type": "float32" - }, - { - "id": "ctrl_current_ref_9", - "name": "Control Current Ref 9", - "type": "float32" - }, - { - "id": "ctrl_current_ref_10", - "name": "Control Current Ref 10", - "type": "float32" - }, - { - "id": "ctrl_fe_1", - "name": "Control Fe 1", - "type": "float32" - }, - { - "id": "ctrl_fe_2", - "name": "Control Fe 2", - "type": "float32" - }, - { - "id": "ctrl_fe_3", - "name": "Control Fe 3", - "type": "float32" - }, - { - "id": "ctrl_fa_1", - "name": "Control Fa 1", - "type": "float32" - }, - { - "id": "ctrl_fa_2", - "name": "Control Fa 2", - "type": "float32" - }, - { - "id": "ctrl_fa_3", - "name": "Control Fa 3", - "type": "float32" - }, - { - "id": "ctrl_fa_4", - "name": "Control Fa 4", - "type": "float32" - }, - { - "id": "ctrl_ef_1", - "name": "Control Ef 1", - "type": "float32" - }, - { - "id": "ctrl_ef_2", - "name": "Control Ef 2", - "type": "float32" - }, - { - "id": "ctrl_ef_3", - "name": "Control Ef 3", - "type": "float32" - }, - { - "id": "ctrl_p_1", - "name": "Control P 1", - "type": "float32" - }, - { - "id": "ctrl_p_2", - "name": "Control P 2", - "type": "float32" - }, - { - "id": "ctrl_p_3", - "name": "Control P 3", - "type": "float32" - }, - { - "id": "ctrl_r_1", - "name": "Control R 1", - "type": "float32" - }, - { - "id": "ctrl_r_2", - "name": "Control R 2", - "type": "float32" - }, - { - "id": "ctrl_r_3", - "name": "Control R 3", - "type": "float32" - }, - { - "id": "ctrl_zz_1", - "name": "Control Zz 1", - "type": "float32" - }, - { - "id": "ctrl_zz_2", - "name": "Control Zz 2", - "type": "float32" - }, - { - "id": "ctrl_zz_3", - "name": "Control Zz 3", - "type": "float32" - }, - { - "id": "ctrl_fe_l_1", - "name": "Control Fe L 1", - "type": "float32" - }, - { - "id": "ctrl_fe_l_2", - "name": "Control Fe L 2", - "type": "float32" - }, - { - "id": "ctrl_fe_l_3", - "name": "Control Fe L 3", - "type": "float32" - }, - { - "id": "ctrl_referencia", - "name": "Control Referencia", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_1", - "name": "Control I HEMS Out 1", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_2", - "name": "Control I HEMS Out 2", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_3", - "name": "Control I HEMS Out 3", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_4", - "name": "Control I HEMS Out 4", - "type": "float32" - }, - { - "id": "ctrl_a_1", - "name": "Control A 1", - "type": "float32" - }, - { - "id": "ctrl_a_2", - "name": "Control A 2", - "type": "float32" - }, - { - "id": "ctrl_a_3", - "name": "Control A 3", - "type": "float32" - }, - { - "id": "ctrl_a_4", - "name": "Control A 4", - "type": "float32" - }, - { - "id": "ctrl_a_5", - "name": "Control A 5", - "type": "float32" - }, - { - "id": "ctrl_a_6", - "name": "Control A 6", - "type": "float32" - }, - { - "id": "ctrl_a_7", - "name": "Control A 7", - "type": "float32" - }, - { - "id": "ctrl_a_8", - "name": "Control A 8", - "type": "float32" - }, - { - "id": "ctrl_ak_1", - "name": "Control Ak 1", - "type": "float32" - }, - { - "id": "ctrl_ak_2", - "name": "Control Ak 2", - "type": "float32" - }, - { - "id": "ctrl_ak_3", - "name": "Control Ak 3", - "type": "float32" - }, - { - "id": "ctrl_ak_4", - "name": "Control Ak 4", - "type": "float32" - }, - { - "id": "ctrl_bk_1", - "name": "Control Bk 1", - "type": "float32" - }, - { - "id": "ctrl_bk_2", - "name": "Control Bk 2", - "type": "float32" - }, - { - "id": "ctrl_bk_3", - "name": "Control Bk 3", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_1", - "name": "Control PI HEMS 1", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_2", - "name": "Control PI HEMS 2", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_3", - "name": "Control PI HEMS 3", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_4", - "name": "Control PI HEMS 4", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_1", - "name": "Control PI EMS 1", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_2", - "name": "Control PI EMS 2", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_3", - "name": "Control PI EMS 3", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_4", - "name": "Control PI EMS 4", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_5", - "name": "Control PI EMS 5", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_6", - "name": "Control PI EMS 6", - "type": "float32" - } -] + { + "id": 819, + "alias": "master_state_machine", + "name": "Master SM", + "type": "enum", + "enumValues": [ + "Connecting", + "Idle", + "Levitating", + "Current Control", + "Debug", + "Fault" + ] + }, + { + "id": 820, + "alias": "slave_state_machine", + "name": "Slave SM", + "type": "enum", + "enumValues": [ + "SPI Connecting", + "Idle", + "Levitating", + "Current Control", + "Debug", + "Fault" + ] + }, + { + "id": 821, + "alias": "desired_current", + "name": "Desired Current", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 822, + "alias": "fixed_vbat", + "name": "Fixed VBAT", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 823, + "alias": "desired_distance", + "name": "Desired Distance", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 824, + "alias": "lpu_id", + "name": "LPU ID", + "type": "uint32" + }, + { + "id": 825, + "alias": "fixed_pwm_duty_cycle", + "name": "Fixed PWM Duty Cycle", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 826, + "alias": "pwm_duty_cycle_1", + "name": "Duty Cycle 1", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 827, + "alias": "pwm_duty_cycle_2", + "name": "Duty Cycle 2", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 828, + "alias": "pwm_duty_cycle_3", + "name": "Duty Cycle 3", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 829, + "alias": "pwm_duty_cycle_4", + "name": "Duty Cycle 4", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 830, + "alias": "pwm_duty_cycle_5", + "name": "Duty Cycle 5", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 831, + "alias": "pwm_duty_cycle_6", + "name": "Duty Cycle 6", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 832, + "alias": "pwm_duty_cycle_7", + "name": "Duty Cycle 7", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 833, + "alias": "pwm_duty_cycle_8", + "name": "Duty Cycle 8", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 834, + "alias": "pwm_duty_cycle_9", + "name": "Duty Cycle 9", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 835, + "alias": "pwm_duty_cycle_10", + "name": "Duty Cycle 10", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 836, + "alias": "coil_current_1", + "name": "Coil Current 1", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 837, + "alias": "coil_current_2", + "name": "Coil Current 2", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 838, + "alias": "coil_current_3", + "name": "Coil Current 3", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 839, + "alias": "coil_current_4", + "name": "Coil Current 4", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 840, + "alias": "coil_current_5", + "name": "Coil Current 5", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 841, + "alias": "coil_current_6", + "name": "Coil Current 6", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 842, + "alias": "coil_current_7", + "name": "Coil Current 7", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 843, + "alias": "coil_current_8", + "name": "Coil Current 8", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 844, + "alias": "coil_current_9", + "name": "Coil Current 9", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 845, + "alias": "coil_current_10", + "name": "Coil Current 10", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 846, + "alias": "airgap_1", + "name": "Airgap 1", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 847, + "alias": "airgap_2", + "name": "Airgap 2", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 848, + "alias": "airgap_3", + "name": "Airgap 3", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 849, + "alias": "airgap_4", + "name": "Airgap 4", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 850, + "alias": "airgap_5", + "name": "Airgap 5", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 851, + "alias": "airgap_6", + "name": "Airgap 6", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 852, + "alias": "airgap_7", + "name": "Airgap 7", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 853, + "alias": "airgap_8", + "name": "Airgap 8", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 854, + "alias": "cinema_current", + "name": "Cinema Current", + "type": "float32" + }, + { + "id": 855, + "alias": "ctrl_voltage_1", + "name": "Control Voltage 1", + "type": "float32" + }, + { + "id": 856, + "alias": "ctrl_voltage_2", + "name": "Control Voltage 2", + "type": "float32" + }, + { + "id": 857, + "alias": "ctrl_voltage_3", + "name": "Control Voltage 3", + "type": "float32" + }, + { + "id": 858, + "alias": "ctrl_voltage_4", + "name": "Control Voltage 4", + "type": "float32" + }, + { + "id": 859, + "alias": "ctrl_voltage_5", + "name": "Control Voltage 5", + "type": "float32" + }, + { + "id": 860, + "alias": "ctrl_voltage_6", + "name": "Control Voltage 6", + "type": "float32" + }, + { + "id": 861, + "alias": "ctrl_voltage_7", + "name": "Control Voltage 7", + "type": "float32" + }, + { + "id": 862, + "alias": "ctrl_voltage_8", + "name": "Control Voltage 8", + "type": "float32" + }, + { + "id": 863, + "alias": "ctrl_voltage_9", + "name": "Control Voltage 9", + "type": "float32" + }, + { + "id": 864, + "alias": "ctrl_voltage_10", + "name": "Control Voltage 10", + "type": "float32" + }, + { + "id": 865, + "alias": "ctrl_gap_local_1", + "name": "Control Gap Local 1", + "type": "float32" + }, + { + "id": 866, + "alias": "ctrl_gap_local_2", + "name": "Control Gap Local 2", + "type": "float32" + }, + { + "id": 867, + "alias": "ctrl_gap_local_3", + "name": "Control Gap Local 3", + "type": "float32" + }, + { + "id": 868, + "alias": "ctrl_gap_local_4", + "name": "Control Gap Local 4", + "type": "float32" + }, + { + "id": 869, + "alias": "ctrl_state_1", + "name": "Control State 1", + "type": "float32" + }, + { + "id": 870, + "alias": "ctrl_state_2", + "name": "Control State 2", + "type": "float32" + }, + { + "id": 871, + "alias": "ctrl_state_3", + "name": "Control State 3", + "type": "float32" + }, + { + "id": 872, + "alias": "ctrl_state_4", + "name": "Control State 4", + "type": "float32" + }, + { + "id": 873, + "alias": "ctrl_state_5", + "name": "Control State 5", + "type": "float32" + }, + { + "id": 874, + "alias": "ctrl_current_ref_1", + "name": "Control Current Ref 1", + "type": "float32" + }, + { + "id": 875, + "alias": "ctrl_current_ref_2", + "name": "Control Current Ref 2", + "type": "float32" + }, + { + "id": 876, + "alias": "ctrl_current_ref_3", + "name": "Control Current Ref 3", + "type": "float32" + }, + { + "id": 877, + "alias": "ctrl_current_ref_4", + "name": "Control Current Ref 4", + "type": "float32" + }, + { + "id": 878, + "alias": "ctrl_current_ref_5", + "name": "Control Current Ref 5", + "type": "float32" + }, + { + "id": 879, + "alias": "ctrl_current_ref_6", + "name": "Control Current Ref 6", + "type": "float32" + }, + { + "id": 880, + "alias": "ctrl_current_ref_7", + "name": "Control Current Ref 7", + "type": "float32" + }, + { + "id": 881, + "alias": "ctrl_current_ref_8", + "name": "Control Current Ref 8", + "type": "float32" + }, + { + "id": 882, + "alias": "ctrl_current_ref_9", + "name": "Control Current Ref 9", + "type": "float32" + }, + { + "id": 883, + "alias": "ctrl_current_ref_10", + "name": "Control Current Ref 10", + "type": "float32" + }, + { + "id": 884, + "alias": "ctrl_fe_1", + "name": "Control Fe 1", + "type": "float32" + }, + { + "id": 885, + "alias": "ctrl_fe_2", + "name": "Control Fe 2", + "type": "float32" + }, + { + "id": 886, + "alias": "ctrl_fe_3", + "name": "Control Fe 3", + "type": "float32" + }, + { + "id": 887, + "alias": "ctrl_fa_1", + "name": "Control Fa 1", + "type": "float32" + }, + { + "id": 888, + "alias": "ctrl_fa_2", + "name": "Control Fa 2", + "type": "float32" + }, + { + "id": 889, + "alias": "ctrl_fa_3", + "name": "Control Fa 3", + "type": "float32" + }, + { + "id": 890, + "alias": "ctrl_fa_4", + "name": "Control Fa 4", + "type": "float32" + }, + { + "id": 891, + "alias": "ctrl_ef_1", + "name": "Control Ef 1", + "type": "float32" + }, + { + "id": 892, + "alias": "ctrl_ef_2", + "name": "Control Ef 2", + "type": "float32" + }, + { + "id": 893, + "alias": "ctrl_ef_3", + "name": "Control Ef 3", + "type": "float32" + }, + { + "id": 894, + "alias": "ctrl_p_1", + "name": "Control P 1", + "type": "float32" + }, + { + "id": 895, + "alias": "ctrl_p_2", + "name": "Control P 2", + "type": "float32" + }, + { + "id": 896, + "alias": "ctrl_p_3", + "name": "Control P 3", + "type": "float32" + }, + { + "id": 897, + "alias": "ctrl_r_1", + "name": "Control R 1", + "type": "float32" + }, + { + "id": 898, + "alias": "ctrl_r_2", + "name": "Control R 2", + "type": "float32" + }, + { + "id": 899, + "alias": "ctrl_r_3", + "name": "Control R 3", + "type": "float32" + }, + { + "id": 900, + "alias": "ctrl_zz_1", + "name": "Control Zz 1", + "type": "float32" + }, + { + "id": 901, + "alias": "ctrl_zz_2", + "name": "Control Zz 2", + "type": "float32" + }, + { + "id": 902, + "alias": "ctrl_zz_3", + "name": "Control Zz 3", + "type": "float32" + }, + { + "id": 903, + "alias": "ctrl_fe_l_1", + "name": "Control Fe L 1", + "type": "float32" + }, + { + "id": 904, + "alias": "ctrl_fe_l_2", + "name": "Control Fe L 2", + "type": "float32" + }, + { + "id": 905, + "alias": "ctrl_fe_l_3", + "name": "Control Fe L 3", + "type": "float32" + }, + { + "id": 906, + "alias": "ctrl_referencia", + "name": "Control Referencia", + "type": "float32" + }, + { + "id": 907, + "alias": "ctrl_i_hems_out_1", + "name": "Control I HEMS Out 1", + "type": "float32" + }, + { + "id": 908, + "alias": "ctrl_i_hems_out_2", + "name": "Control I HEMS Out 2", + "type": "float32" + }, + { + "id": 909, + "alias": "ctrl_i_hems_out_3", + "name": "Control I HEMS Out 3", + "type": "float32" + }, + { + "id": 910, + "alias": "ctrl_i_hems_out_4", + "name": "Control I HEMS Out 4", + "type": "float32" + }, + { + "id": 911, + "alias": "ctrl_a_1", + "name": "Control A 1", + "type": "float32" + }, + { + "id": 912, + "alias": "ctrl_a_2", + "name": "Control A 2", + "type": "float32" + }, + { + "id": 913, + "alias": "ctrl_a_3", + "name": "Control A 3", + "type": "float32" + }, + { + "id": 914, + "alias": "ctrl_a_4", + "name": "Control A 4", + "type": "float32" + }, + { + "id": 915, + "alias": "ctrl_a_5", + "name": "Control A 5", + "type": "float32" + }, + { + "id": 916, + "alias": "ctrl_a_6", + "name": "Control A 6", + "type": "float32" + }, + { + "id": 917, + "alias": "ctrl_a_7", + "name": "Control A 7", + "type": "float32" + }, + { + "id": 918, + "alias": "ctrl_a_8", + "name": "Control A 8", + "type": "float32" + }, + { + "id": 919, + "alias": "ctrl_ak_1", + "name": "Control Ak 1", + "type": "float32" + }, + { + "id": 920, + "alias": "ctrl_ak_2", + "name": "Control Ak 2", + "type": "float32" + }, + { + "id": 921, + "alias": "ctrl_ak_3", + "name": "Control Ak 3", + "type": "float32" + }, + { + "id": 922, + "alias": "ctrl_ak_4", + "name": "Control Ak 4", + "type": "float32" + }, + { + "id": 923, + "alias": "ctrl_bk_1", + "name": "Control Bk 1", + "type": "float32" + }, + { + "id": 924, + "alias": "ctrl_bk_2", + "name": "Control Bk 2", + "type": "float32" + }, + { + "id": 925, + "alias": "ctrl_bk_3", + "name": "Control Bk 3", + "type": "float32" + }, + { + "id": 926, + "alias": "ctrl_pi_hems_1", + "name": "Control PI HEMS 1", + "type": "float32" + }, + { + "id": 927, + "alias": "ctrl_pi_hems_2", + "name": "Control PI HEMS 2", + "type": "float32" + }, + { + "id": 928, + "alias": "ctrl_pi_hems_3", + "name": "Control PI HEMS 3", + "type": "float32" + }, + { + "id": 929, + "alias": "ctrl_pi_hems_4", + "name": "Control PI HEMS 4", + "type": "float32" + }, + { + "id": 930, + "alias": "ctrl_pi_ems_1", + "name": "Control PI EMS 1", + "type": "float32" + }, + { + "id": 931, + "alias": "ctrl_pi_ems_2", + "name": "Control PI EMS 2", + "type": "float32" + }, + { + "id": 932, + "alias": "ctrl_pi_ems_3", + "name": "Control PI EMS 3", + "type": "float32" + }, + { + "id": 933, + "alias": "ctrl_pi_ems_4", + "name": "Control PI EMS 4", + "type": "float32" + }, + { + "id": 934, + "alias": "ctrl_pi_ems_5", + "name": "Control PI EMS 5", + "type": "float32" + }, + { + "id": 935, + "alias": "ctrl_pi_ems_6", + "name": "Control PI EMS 6", + "type": "float32" + } +] \ No newline at end of file diff --git a/boards/LCU/orders.json b/boards/LCU/orders.json index 8f5e27a..ad42d50 100644 --- a/boards/LCU/orders.json +++ b/boards/LCU/orders.json @@ -1,126 +1,142 @@ [ - { - "type": "order", - "name": "FAULT", - "variables": [], - "id": 0 - }, - { - "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 - } + { + "type": "order", + "name": "FAULT", + "variables": [], + "id": 800 + }, + { + "type": "order", + "name": "Stop", + "variables": [], + "id": 801 + }, + { + "type": "order", + "name": "Set Fixed VBAT", + "variables": [ + "fixed_vbat" + ], + "id": 802 + }, + { + "type": "order", + "name": "Unset Fixed VBAT", + "variables": [], + "id": 803 + }, + { + "type": "order", + "name": "Levitate", + "variables": [ + "desired_distance" + ], + "id": 804 + }, + { + "type": "order", + "name": "Levitate Ramp", + "variables": [ + "desired_distance" + ], + "id": 805 + }, + { + "type": "order", + "name": "Set Desired Distance", + "variables": [ + "desired_distance" + ], + "id": 806 + }, + { + "type": "order", + "name": "Set Desired Distance Ramp", + "variables": [ + "desired_distance" + ], + "id": 807 + }, + { + "type": "order", + "name": "Stop Ramp", + "variables": [], + "id": 808 + }, + { + "type": "order", + "name": "Current Control", + "variables": [ + "lpu_id", + "desired_current" + ], + "id": 809 + }, + { + "type": "order", + "name": "All Current Control", + "variables": [ + "desired_current" + ], + "id": 810 + }, + { + "type": "order", + "name": "Stop Current Control", + "variables": [ + "lpu_id" + ], + "id": 811 + }, + { + "type": "order", + "name": "PWM", + "variables": [ + "lpu_id", + "fixed_pwm_duty_cycle" + ], + "id": 812 + }, + { + "type": "order", + "name": "All PWM", + "variables": [ + "fixed_pwm_duty_cycle" + ], + "id": 813 + }, + { + "type": "order", + "name": "Stop PWM", + "variables": [ + "lpu_id" + ], + "id": 814 + }, + { + "type": "order", + "name": "Reset All", + "variables": [], + "id": 815 + }, + { + "type": "order", + "name": "Reset Slave", + "variables": [], + "id": 816 + }, + { + "type": "order", + "name": "Cinema", + "variables": [ + "cinema_current" + ], + "id": 817 + }, + { + "type": "order", + "name": "Stop Cinema", + "variables": [], + "id": 818 + } ] diff --git a/boards/LCU/packets.json b/boards/LCU/packets.json index de1d89c..6cfaf89 100644 --- a/boards/LCU/packets.json +++ b/boards/LCU/packets.json @@ -1,132 +1,163 @@ [ - { - "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": "ms", - "period": 10.0, - "socket": "control_station_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": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "Airgaps", - "variables": ["airgap_1", "airgap_2", "airgap_3", "airgap_4", "airgap_5", "airgap_6", "airgap_7", "airgap_8"], - "id": 9502, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "State Machine", - "variables": [ - "master_state_machine", - "slave_state_machine" - ], - "id": 9520, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "General State", - "variables": [ - "ctrl_voltage_1", - "ctrl_voltage_2", - "ctrl_voltage_3", - "ctrl_voltage_4", - "ctrl_voltage_5", - "ctrl_voltage_6", - "ctrl_voltage_7", - "ctrl_voltage_8", - "ctrl_voltage_9", - "ctrl_voltage_10", - "ctrl_gap_local_1", - "ctrl_gap_local_2", - "ctrl_gap_local_3", - "ctrl_gap_local_4", - "ctrl_state_1", - "ctrl_state_2", - "ctrl_state_3", - "ctrl_state_4", - "ctrl_state_5", - "ctrl_current_ref_1", - "ctrl_current_ref_2", - "ctrl_current_ref_3", - "ctrl_current_ref_4", - "ctrl_current_ref_5", - "ctrl_current_ref_6", - "ctrl_current_ref_7", - "ctrl_current_ref_8", - "ctrl_current_ref_9", - "ctrl_current_ref_10", - "ctrl_fe_1", - "ctrl_fe_2", - "ctrl_fe_3", - "ctrl_fa_1", - "ctrl_fa_2", - "ctrl_fa_3", - "ctrl_fa_4", - "ctrl_ef_1", - "ctrl_ef_2", - "ctrl_ef_3", - "ctrl_p_1", - "ctrl_p_2", - "ctrl_p_3", - "ctrl_r_1", - "ctrl_r_2", - "ctrl_r_3", - "ctrl_zz_1", - "ctrl_zz_2", - "ctrl_zz_3", - "ctrl_fe_l_1", - "ctrl_fe_l_2", - "ctrl_fe_l_3", - "ctrl_referencia", - "ctrl_i_hems_out_1", - "ctrl_i_hems_out_2", - "ctrl_i_hems_out_3", - "ctrl_i_hems_out_4", - "ctrl_a_1", - "ctrl_a_2", - "ctrl_a_3", - "ctrl_a_4", - "ctrl_a_5", - "ctrl_a_6", - "ctrl_a_7", - "ctrl_a_8", - "ctrl_ak_1", - "ctrl_ak_2", - "ctrl_ak_3", - "ctrl_ak_4", - "ctrl_bk_1", - "ctrl_bk_2", - "ctrl_bk_3", - "ctrl_pi_hems_1", - "ctrl_pi_hems_2", - "ctrl_pi_hems_3", - "ctrl_pi_hems_4", - "ctrl_pi_ems_1", - "ctrl_pi_ems_2", - "ctrl_pi_ems_3", - "ctrl_pi_ems_4", - "ctrl_pi_ems_5", - "ctrl_pi_ems_6" - ], - "id": 9521, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - } -] + { + "id": 936, + "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" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 937, + "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" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 938, + "type": "data", + "name": "Airgaps", + "variables": [ + "airgap_1", + "airgap_2", + "airgap_3", + "airgap_4", + "airgap_5", + "airgap_6", + "airgap_7", + "airgap_8" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 939, + "type": "data", + "name": "State Machine", + "variables": [ + "master_state_machine", + "slave_state_machine" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 940, + "type": "data", + "name": "General State", + "variables": [ + "ctrl_voltage_1", + "ctrl_voltage_2", + "ctrl_voltage_3", + "ctrl_voltage_4", + "ctrl_voltage_5", + "ctrl_voltage_6", + "ctrl_voltage_7", + "ctrl_voltage_8", + "ctrl_voltage_9", + "ctrl_voltage_10", + "ctrl_gap_local_1", + "ctrl_gap_local_2", + "ctrl_gap_local_3", + "ctrl_gap_local_4", + "ctrl_state_1", + "ctrl_state_2", + "ctrl_state_3", + "ctrl_state_4", + "ctrl_state_5", + "ctrl_current_ref_1", + "ctrl_current_ref_2", + "ctrl_current_ref_3", + "ctrl_current_ref_4", + "ctrl_current_ref_5", + "ctrl_current_ref_6", + "ctrl_current_ref_7", + "ctrl_current_ref_8", + "ctrl_current_ref_9", + "ctrl_current_ref_10", + "ctrl_fe_1", + "ctrl_fe_2", + "ctrl_fe_3", + "ctrl_fa_1", + "ctrl_fa_2", + "ctrl_fa_3", + "ctrl_fa_4", + "ctrl_ef_1", + "ctrl_ef_2", + "ctrl_ef_3", + "ctrl_p_1", + "ctrl_p_2", + "ctrl_p_3", + "ctrl_r_1", + "ctrl_r_2", + "ctrl_r_3", + "ctrl_zz_1", + "ctrl_zz_2", + "ctrl_zz_3", + "ctrl_fe_l_1", + "ctrl_fe_l_2", + "ctrl_fe_l_3", + "ctrl_referencia", + "ctrl_i_hems_out_1", + "ctrl_i_hems_out_2", + "ctrl_i_hems_out_3", + "ctrl_i_hems_out_4", + "ctrl_a_1", + "ctrl_a_2", + "ctrl_a_3", + "ctrl_a_4", + "ctrl_a_5", + "ctrl_a_6", + "ctrl_a_7", + "ctrl_a_8", + "ctrl_ak_1", + "ctrl_ak_2", + "ctrl_ak_3", + "ctrl_ak_4", + "ctrl_bk_1", + "ctrl_bk_2", + "ctrl_bk_3", + "ctrl_pi_hems_1", + "ctrl_pi_hems_2", + "ctrl_pi_hems_3", + "ctrl_pi_hems_4", + "ctrl_pi_ems_1", + "ctrl_pi_ems_2", + "ctrl_pi_ems_3", + "ctrl_pi_ems_4", + "ctrl_pi_ems_5", + "ctrl_pi_ems_6" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + } +] \ No newline at end of file diff --git a/boards/PCU/PCU_measurements.json b/boards/PCU/PCU_measurements.json index 35f909a..cd68d8b 100644 --- a/boards/PCU/PCU_measurements.json +++ b/boards/PCU/PCU_measurements.json @@ -246,7 +246,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -260,7 +262,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -274,7 +278,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -288,7 +294,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] diff --git a/boards/PCU/packets.json b/boards/PCU/packets.json index ee1b457..64a4254 100644 --- a/boards/PCU/packets.json +++ b/boards/PCU/packets.json @@ -14,7 +14,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "Batteries Voltage", @@ -25,9 +24,8 @@ "id": 551, "period_type": "ms", "period": 16.67, - "socket": "control_station_udp" + "socket": "control_station_udp" }, - { "type": "data", "name": "Current Sensors", @@ -49,7 +47,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "State Machine States", @@ -61,7 +58,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "Speed Data", @@ -78,8 +74,6 @@ "period": 16.67, "socket": "control_station_udp" }, - - { "type": "data", "name": "Gate Driver Reporting", @@ -94,5 +88,4 @@ "period": 16.67, "socket": "control_station_udp" } - ] \ No newline at end of file From ee7c4c38a3c00077537370937336963df74d36f6 Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 17:02:43 +0200 Subject: [PATCH 7/8] Feat()#632: Implemented full LCU ADJv3 Directory. --- boards/LCU/LCU.json | 25 +- boards/LCU/LCU_measurements.json | 1465 +++++++++++++++--------------- boards/LCU/orders.json | 264 +++--- boards/LCU/packets.json | 293 +++--- boards/PCU/PCU_measurements.json | 16 +- boards/PCU/packets.json | 9 +- 6 files changed, 1079 insertions(+), 993 deletions(-) diff --git a/boards/LCU/LCU.json b/boards/LCU/LCU.json index 41de0b0..2617f5c 100644 --- a/boards/LCU/LCU.json +++ b/boards/LCU/LCU.json @@ -1,14 +1,15 @@ { - "board_id": 4, - "board_ip": "192.168.1.4", - "measurements": [ - "LCU_measurements.json" - ], - "packets": [ - "packets.json", - "orders.json" - ], - "sockets": [ - "sockets.json" - ] + "board_id": 4, + "mac": "0:0:0:0:0:0", + "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 index 6091694..6e1ca1e 100644 --- a/boards/LCU/LCU_measurements.json +++ b/boards/LCU/LCU_measurements.json @@ -1,715 +1,752 @@ [ - { - "id": "master_state_machine", - "name": "Master SM", - "type": "enum", - "enumValues": [ - "Connecting", - "Idle", - "Levitating", - "Current Control", - "Debug", - "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", - "type": "float32", - "podUnits": "m", - "displayUnits": "mm", - "safeRange": [ - 0, - 12 - ] - }, - { - "id": "lpu_id", - "name": "LPU ID", - "type": "uint32", - "safeRange": [ - 0, - 9 - ] - }, - { - "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", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_2", - "name": "Coil Current 2", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_3", - "name": "Coil Current 3", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_4", - "name": "Coil Current 4", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_5", - "name": "Coil Current 5", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_6", - "name": "Coil Current 6", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_7", - "name": "Coil Current 7", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_8", - "name": "Coil Current 8", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_9", - "name": "Coil Current 9", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "id": "coil_current_10", - "name": "Coil Current 10", - "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -50, - 50 - ] - }, - { - "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": "cinema_current", - "name": "Cinema Current", - "type": "float32" - }, - { - "id": "ctrl_voltage_1", - "name": "Control Voltage 1", - "type": "float32" - }, - { - "id": "ctrl_voltage_2", - "name": "Control Voltage 2", - "type": "float32" - }, - { - "id": "ctrl_voltage_3", - "name": "Control Voltage 3", - "type": "float32" - }, - { - "id": "ctrl_voltage_4", - "name": "Control Voltage 4", - "type": "float32" - }, - { - "id": "ctrl_voltage_5", - "name": "Control Voltage 5", - "type": "float32" - }, - { - "id": "ctrl_voltage_6", - "name": "Control Voltage 6", - "type": "float32" - }, - { - "id": "ctrl_voltage_7", - "name": "Control Voltage 7", - "type": "float32" - }, - { - "id": "ctrl_voltage_8", - "name": "Control Voltage 8", - "type": "float32" - }, - { - "id": "ctrl_voltage_9", - "name": "Control Voltage 9", - "type": "float32" - }, - { - "id": "ctrl_voltage_10", - "name": "Control Voltage 10", - "type": "float32" - }, - { - "id": "ctrl_gap_local_1", - "name": "Control Gap Local 1", - "type": "float32" - }, - { - "id": "ctrl_gap_local_2", - "name": "Control Gap Local 2", - "type": "float32" - }, - { - "id": "ctrl_gap_local_3", - "name": "Control Gap Local 3", - "type": "float32" - }, - { - "id": "ctrl_gap_local_4", - "name": "Control Gap Local 4", - "type": "float32" - }, - { - "id": "ctrl_state_1", - "name": "Control State 1", - "type": "float32" - }, - { - "id": "ctrl_state_2", - "name": "Control State 2", - "type": "float32" - }, - { - "id": "ctrl_state_3", - "name": "Control State 3", - "type": "float32" - }, - { - "id": "ctrl_state_4", - "name": "Control State 4", - "type": "float32" - }, - { - "id": "ctrl_state_5", - "name": "Control State 5", - "type": "float32" - }, - { - "id": "ctrl_current_ref_1", - "name": "Control Current Ref 1", - "type": "float32" - }, - { - "id": "ctrl_current_ref_2", - "name": "Control Current Ref 2", - "type": "float32" - }, - { - "id": "ctrl_current_ref_3", - "name": "Control Current Ref 3", - "type": "float32" - }, - { - "id": "ctrl_current_ref_4", - "name": "Control Current Ref 4", - "type": "float32" - }, - { - "id": "ctrl_current_ref_5", - "name": "Control Current Ref 5", - "type": "float32" - }, - { - "id": "ctrl_current_ref_6", - "name": "Control Current Ref 6", - "type": "float32" - }, - { - "id": "ctrl_current_ref_7", - "name": "Control Current Ref 7", - "type": "float32" - }, - { - "id": "ctrl_current_ref_8", - "name": "Control Current Ref 8", - "type": "float32" - }, - { - "id": "ctrl_current_ref_9", - "name": "Control Current Ref 9", - "type": "float32" - }, - { - "id": "ctrl_current_ref_10", - "name": "Control Current Ref 10", - "type": "float32" - }, - { - "id": "ctrl_fe_1", - "name": "Control Fe 1", - "type": "float32" - }, - { - "id": "ctrl_fe_2", - "name": "Control Fe 2", - "type": "float32" - }, - { - "id": "ctrl_fe_3", - "name": "Control Fe 3", - "type": "float32" - }, - { - "id": "ctrl_fa_1", - "name": "Control Fa 1", - "type": "float32" - }, - { - "id": "ctrl_fa_2", - "name": "Control Fa 2", - "type": "float32" - }, - { - "id": "ctrl_fa_3", - "name": "Control Fa 3", - "type": "float32" - }, - { - "id": "ctrl_fa_4", - "name": "Control Fa 4", - "type": "float32" - }, - { - "id": "ctrl_ef_1", - "name": "Control Ef 1", - "type": "float32" - }, - { - "id": "ctrl_ef_2", - "name": "Control Ef 2", - "type": "float32" - }, - { - "id": "ctrl_ef_3", - "name": "Control Ef 3", - "type": "float32" - }, - { - "id": "ctrl_p_1", - "name": "Control P 1", - "type": "float32" - }, - { - "id": "ctrl_p_2", - "name": "Control P 2", - "type": "float32" - }, - { - "id": "ctrl_p_3", - "name": "Control P 3", - "type": "float32" - }, - { - "id": "ctrl_r_1", - "name": "Control R 1", - "type": "float32" - }, - { - "id": "ctrl_r_2", - "name": "Control R 2", - "type": "float32" - }, - { - "id": "ctrl_r_3", - "name": "Control R 3", - "type": "float32" - }, - { - "id": "ctrl_zz_1", - "name": "Control Zz 1", - "type": "float32" - }, - { - "id": "ctrl_zz_2", - "name": "Control Zz 2", - "type": "float32" - }, - { - "id": "ctrl_zz_3", - "name": "Control Zz 3", - "type": "float32" - }, - { - "id": "ctrl_fe_l_1", - "name": "Control Fe L 1", - "type": "float32" - }, - { - "id": "ctrl_fe_l_2", - "name": "Control Fe L 2", - "type": "float32" - }, - { - "id": "ctrl_fe_l_3", - "name": "Control Fe L 3", - "type": "float32" - }, - { - "id": "ctrl_referencia", - "name": "Control Referencia", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_1", - "name": "Control I HEMS Out 1", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_2", - "name": "Control I HEMS Out 2", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_3", - "name": "Control I HEMS Out 3", - "type": "float32" - }, - { - "id": "ctrl_i_hems_out_4", - "name": "Control I HEMS Out 4", - "type": "float32" - }, - { - "id": "ctrl_a_1", - "name": "Control A 1", - "type": "float32" - }, - { - "id": "ctrl_a_2", - "name": "Control A 2", - "type": "float32" - }, - { - "id": "ctrl_a_3", - "name": "Control A 3", - "type": "float32" - }, - { - "id": "ctrl_a_4", - "name": "Control A 4", - "type": "float32" - }, - { - "id": "ctrl_a_5", - "name": "Control A 5", - "type": "float32" - }, - { - "id": "ctrl_a_6", - "name": "Control A 6", - "type": "float32" - }, - { - "id": "ctrl_a_7", - "name": "Control A 7", - "type": "float32" - }, - { - "id": "ctrl_a_8", - "name": "Control A 8", - "type": "float32" - }, - { - "id": "ctrl_ak_1", - "name": "Control Ak 1", - "type": "float32" - }, - { - "id": "ctrl_ak_2", - "name": "Control Ak 2", - "type": "float32" - }, - { - "id": "ctrl_ak_3", - "name": "Control Ak 3", - "type": "float32" - }, - { - "id": "ctrl_ak_4", - "name": "Control Ak 4", - "type": "float32" - }, - { - "id": "ctrl_bk_1", - "name": "Control Bk 1", - "type": "float32" - }, - { - "id": "ctrl_bk_2", - "name": "Control Bk 2", - "type": "float32" - }, - { - "id": "ctrl_bk_3", - "name": "Control Bk 3", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_1", - "name": "Control PI HEMS 1", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_2", - "name": "Control PI HEMS 2", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_3", - "name": "Control PI HEMS 3", - "type": "float32" - }, - { - "id": "ctrl_pi_hems_4", - "name": "Control PI HEMS 4", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_1", - "name": "Control PI EMS 1", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_2", - "name": "Control PI EMS 2", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_3", - "name": "Control PI EMS 3", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_4", - "name": "Control PI EMS 4", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_5", - "name": "Control PI EMS 5", - "type": "float32" - }, - { - "id": "ctrl_pi_ems_6", - "name": "Control PI EMS 6", - "type": "float32" - } -] + { + "id": 819, + "alias": "master_state_machine", + "name": "Master SM", + "type": "enum", + "enumValues": [ + "Connecting", + "Idle", + "Levitating", + "Current Control", + "Debug", + "Fault" + ] + }, + { + "id": 820, + "alias": "slave_state_machine", + "name": "Slave SM", + "type": "enum", + "enumValues": [ + "SPI Connecting", + "Idle", + "Levitating", + "Current Control", + "Debug", + "Fault" + ] + }, + { + "id": 821, + "alias": "desired_current", + "name": "Desired Current", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 822, + "alias": "fixed_vbat", + "name": "Fixed VBAT", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 823, + "alias": "desired_distance", + "name": "Desired Distance", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 824, + "alias": "lpu_id", + "name": "LPU ID", + "type": "uint32" + }, + { + "id": 825, + "alias": "fixed_pwm_duty_cycle", + "name": "Fixed PWM Duty Cycle", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 826, + "alias": "pwm_duty_cycle_1", + "name": "Duty Cycle 1", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 827, + "alias": "pwm_duty_cycle_2", + "name": "Duty Cycle 2", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 828, + "alias": "pwm_duty_cycle_3", + "name": "Duty Cycle 3", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 829, + "alias": "pwm_duty_cycle_4", + "name": "Duty Cycle 4", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 830, + "alias": "pwm_duty_cycle_5", + "name": "Duty Cycle 5", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 831, + "alias": "pwm_duty_cycle_6", + "name": "Duty Cycle 6", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 832, + "alias": "pwm_duty_cycle_7", + "name": "Duty Cycle 7", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 833, + "alias": "pwm_duty_cycle_8", + "name": "Duty Cycle 8", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 834, + "alias": "pwm_duty_cycle_9", + "name": "Duty Cycle 9", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 835, + "alias": "pwm_duty_cycle_10", + "name": "Duty Cycle 10", + "type": "float32", + "displayUnits": "%" + }, + { + "id": 836, + "alias": "coil_current_1", + "name": "Coil Current 1", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 837, + "alias": "coil_current_2", + "name": "Coil Current 2", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 838, + "alias": "coil_current_3", + "name": "Coil Current 3", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 839, + "alias": "coil_current_4", + "name": "Coil Current 4", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 840, + "alias": "coil_current_5", + "name": "Coil Current 5", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 841, + "alias": "coil_current_6", + "name": "Coil Current 6", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 842, + "alias": "coil_current_7", + "name": "Coil Current 7", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 843, + "alias": "coil_current_8", + "name": "Coil Current 8", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 844, + "alias": "coil_current_9", + "name": "Coil Current 9", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 845, + "alias": "coil_current_10", + "name": "Coil Current 10", + "type": "float32", + "displayUnits": "A" + }, + { + "id": 846, + "alias": "airgap_1", + "name": "Airgap 1", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 847, + "alias": "airgap_2", + "name": "Airgap 2", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 848, + "alias": "airgap_3", + "name": "Airgap 3", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 849, + "alias": "airgap_4", + "name": "Airgap 4", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 850, + "alias": "airgap_5", + "name": "Airgap 5", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 851, + "alias": "airgap_6", + "name": "Airgap 6", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 852, + "alias": "airgap_7", + "name": "Airgap 7", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 853, + "alias": "airgap_8", + "name": "Airgap 8", + "type": "float32", + "displayUnits": "mm" + }, + { + "id": 854, + "alias": "cinema_current", + "name": "Cinema Current", + "type": "float32" + }, + { + "id": 855, + "alias": "ctrl_voltage_1", + "name": "Control Voltage 1", + "type": "float32" + }, + { + "id": 856, + "alias": "ctrl_voltage_2", + "name": "Control Voltage 2", + "type": "float32" + }, + { + "id": 857, + "alias": "ctrl_voltage_3", + "name": "Control Voltage 3", + "type": "float32" + }, + { + "id": 858, + "alias": "ctrl_voltage_4", + "name": "Control Voltage 4", + "type": "float32" + }, + { + "id": 859, + "alias": "ctrl_voltage_5", + "name": "Control Voltage 5", + "type": "float32" + }, + { + "id": 860, + "alias": "ctrl_voltage_6", + "name": "Control Voltage 6", + "type": "float32" + }, + { + "id": 861, + "alias": "ctrl_voltage_7", + "name": "Control Voltage 7", + "type": "float32" + }, + { + "id": 862, + "alias": "ctrl_voltage_8", + "name": "Control Voltage 8", + "type": "float32" + }, + { + "id": 863, + "alias": "ctrl_voltage_9", + "name": "Control Voltage 9", + "type": "float32" + }, + { + "id": 864, + "alias": "ctrl_voltage_10", + "name": "Control Voltage 10", + "type": "float32" + }, + { + "id": 865, + "alias": "ctrl_gap_local_1", + "name": "Control Gap Local 1", + "type": "float32" + }, + { + "id": 866, + "alias": "ctrl_gap_local_2", + "name": "Control Gap Local 2", + "type": "float32" + }, + { + "id": 867, + "alias": "ctrl_gap_local_3", + "name": "Control Gap Local 3", + "type": "float32" + }, + { + "id": 868, + "alias": "ctrl_gap_local_4", + "name": "Control Gap Local 4", + "type": "float32" + }, + { + "id": 869, + "alias": "ctrl_state_1", + "name": "Control State 1", + "type": "float32" + }, + { + "id": 870, + "alias": "ctrl_state_2", + "name": "Control State 2", + "type": "float32" + }, + { + "id": 871, + "alias": "ctrl_state_3", + "name": "Control State 3", + "type": "float32" + }, + { + "id": 872, + "alias": "ctrl_state_4", + "name": "Control State 4", + "type": "float32" + }, + { + "id": 873, + "alias": "ctrl_state_5", + "name": "Control State 5", + "type": "float32" + }, + { + "id": 874, + "alias": "ctrl_current_ref_1", + "name": "Control Current Ref 1", + "type": "float32" + }, + { + "id": 875, + "alias": "ctrl_current_ref_2", + "name": "Control Current Ref 2", + "type": "float32" + }, + { + "id": 876, + "alias": "ctrl_current_ref_3", + "name": "Control Current Ref 3", + "type": "float32" + }, + { + "id": 877, + "alias": "ctrl_current_ref_4", + "name": "Control Current Ref 4", + "type": "float32" + }, + { + "id": 878, + "alias": "ctrl_current_ref_5", + "name": "Control Current Ref 5", + "type": "float32" + }, + { + "id": 879, + "alias": "ctrl_current_ref_6", + "name": "Control Current Ref 6", + "type": "float32" + }, + { + "id": 880, + "alias": "ctrl_current_ref_7", + "name": "Control Current Ref 7", + "type": "float32" + }, + { + "id": 881, + "alias": "ctrl_current_ref_8", + "name": "Control Current Ref 8", + "type": "float32" + }, + { + "id": 882, + "alias": "ctrl_current_ref_9", + "name": "Control Current Ref 9", + "type": "float32" + }, + { + "id": 883, + "alias": "ctrl_current_ref_10", + "name": "Control Current Ref 10", + "type": "float32" + }, + { + "id": 884, + "alias": "ctrl_fe_1", + "name": "Control Fe 1", + "type": "float32" + }, + { + "id": 885, + "alias": "ctrl_fe_2", + "name": "Control Fe 2", + "type": "float32" + }, + { + "id": 886, + "alias": "ctrl_fe_3", + "name": "Control Fe 3", + "type": "float32" + }, + { + "id": 887, + "alias": "ctrl_fa_1", + "name": "Control Fa 1", + "type": "float32" + }, + { + "id": 888, + "alias": "ctrl_fa_2", + "name": "Control Fa 2", + "type": "float32" + }, + { + "id": 889, + "alias": "ctrl_fa_3", + "name": "Control Fa 3", + "type": "float32" + }, + { + "id": 890, + "alias": "ctrl_fa_4", + "name": "Control Fa 4", + "type": "float32" + }, + { + "id": 891, + "alias": "ctrl_ef_1", + "name": "Control Ef 1", + "type": "float32" + }, + { + "id": 892, + "alias": "ctrl_ef_2", + "name": "Control Ef 2", + "type": "float32" + }, + { + "id": 893, + "alias": "ctrl_ef_3", + "name": "Control Ef 3", + "type": "float32" + }, + { + "id": 894, + "alias": "ctrl_p_1", + "name": "Control P 1", + "type": "float32" + }, + { + "id": 895, + "alias": "ctrl_p_2", + "name": "Control P 2", + "type": "float32" + }, + { + "id": 896, + "alias": "ctrl_p_3", + "name": "Control P 3", + "type": "float32" + }, + { + "id": 897, + "alias": "ctrl_r_1", + "name": "Control R 1", + "type": "float32" + }, + { + "id": 898, + "alias": "ctrl_r_2", + "name": "Control R 2", + "type": "float32" + }, + { + "id": 899, + "alias": "ctrl_r_3", + "name": "Control R 3", + "type": "float32" + }, + { + "id": 900, + "alias": "ctrl_zz_1", + "name": "Control Zz 1", + "type": "float32" + }, + { + "id": 901, + "alias": "ctrl_zz_2", + "name": "Control Zz 2", + "type": "float32" + }, + { + "id": 902, + "alias": "ctrl_zz_3", + "name": "Control Zz 3", + "type": "float32" + }, + { + "id": 903, + "alias": "ctrl_fe_l_1", + "name": "Control Fe L 1", + "type": "float32" + }, + { + "id": 904, + "alias": "ctrl_fe_l_2", + "name": "Control Fe L 2", + "type": "float32" + }, + { + "id": 905, + "alias": "ctrl_fe_l_3", + "name": "Control Fe L 3", + "type": "float32" + }, + { + "id": 906, + "alias": "ctrl_referencia", + "name": "Control Referencia", + "type": "float32" + }, + { + "id": 907, + "alias": "ctrl_i_hems_out_1", + "name": "Control I HEMS Out 1", + "type": "float32" + }, + { + "id": 908, + "alias": "ctrl_i_hems_out_2", + "name": "Control I HEMS Out 2", + "type": "float32" + }, + { + "id": 909, + "alias": "ctrl_i_hems_out_3", + "name": "Control I HEMS Out 3", + "type": "float32" + }, + { + "id": 910, + "alias": "ctrl_i_hems_out_4", + "name": "Control I HEMS Out 4", + "type": "float32" + }, + { + "id": 911, + "alias": "ctrl_a_1", + "name": "Control A 1", + "type": "float32" + }, + { + "id": 912, + "alias": "ctrl_a_2", + "name": "Control A 2", + "type": "float32" + }, + { + "id": 913, + "alias": "ctrl_a_3", + "name": "Control A 3", + "type": "float32" + }, + { + "id": 914, + "alias": "ctrl_a_4", + "name": "Control A 4", + "type": "float32" + }, + { + "id": 915, + "alias": "ctrl_a_5", + "name": "Control A 5", + "type": "float32" + }, + { + "id": 916, + "alias": "ctrl_a_6", + "name": "Control A 6", + "type": "float32" + }, + { + "id": 917, + "alias": "ctrl_a_7", + "name": "Control A 7", + "type": "float32" + }, + { + "id": 918, + "alias": "ctrl_a_8", + "name": "Control A 8", + "type": "float32" + }, + { + "id": 919, + "alias": "ctrl_ak_1", + "name": "Control Ak 1", + "type": "float32" + }, + { + "id": 920, + "alias": "ctrl_ak_2", + "name": "Control Ak 2", + "type": "float32" + }, + { + "id": 921, + "alias": "ctrl_ak_3", + "name": "Control Ak 3", + "type": "float32" + }, + { + "id": 922, + "alias": "ctrl_ak_4", + "name": "Control Ak 4", + "type": "float32" + }, + { + "id": 923, + "alias": "ctrl_bk_1", + "name": "Control Bk 1", + "type": "float32" + }, + { + "id": 924, + "alias": "ctrl_bk_2", + "name": "Control Bk 2", + "type": "float32" + }, + { + "id": 925, + "alias": "ctrl_bk_3", + "name": "Control Bk 3", + "type": "float32" + }, + { + "id": 926, + "alias": "ctrl_pi_hems_1", + "name": "Control PI HEMS 1", + "type": "float32" + }, + { + "id": 927, + "alias": "ctrl_pi_hems_2", + "name": "Control PI HEMS 2", + "type": "float32" + }, + { + "id": 928, + "alias": "ctrl_pi_hems_3", + "name": "Control PI HEMS 3", + "type": "float32" + }, + { + "id": 929, + "alias": "ctrl_pi_hems_4", + "name": "Control PI HEMS 4", + "type": "float32" + }, + { + "id": 930, + "alias": "ctrl_pi_ems_1", + "name": "Control PI EMS 1", + "type": "float32" + }, + { + "id": 931, + "alias": "ctrl_pi_ems_2", + "name": "Control PI EMS 2", + "type": "float32" + }, + { + "id": 932, + "alias": "ctrl_pi_ems_3", + "name": "Control PI EMS 3", + "type": "float32" + }, + { + "id": 933, + "alias": "ctrl_pi_ems_4", + "name": "Control PI EMS 4", + "type": "float32" + }, + { + "id": 934, + "alias": "ctrl_pi_ems_5", + "name": "Control PI EMS 5", + "type": "float32" + }, + { + "id": 935, + "alias": "ctrl_pi_ems_6", + "name": "Control PI EMS 6", + "type": "float32" + } +] \ No newline at end of file diff --git a/boards/LCU/orders.json b/boards/LCU/orders.json index 8f5e27a..ad42d50 100644 --- a/boards/LCU/orders.json +++ b/boards/LCU/orders.json @@ -1,126 +1,142 @@ [ - { - "type": "order", - "name": "FAULT", - "variables": [], - "id": 0 - }, - { - "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 - } + { + "type": "order", + "name": "FAULT", + "variables": [], + "id": 800 + }, + { + "type": "order", + "name": "Stop", + "variables": [], + "id": 801 + }, + { + "type": "order", + "name": "Set Fixed VBAT", + "variables": [ + "fixed_vbat" + ], + "id": 802 + }, + { + "type": "order", + "name": "Unset Fixed VBAT", + "variables": [], + "id": 803 + }, + { + "type": "order", + "name": "Levitate", + "variables": [ + "desired_distance" + ], + "id": 804 + }, + { + "type": "order", + "name": "Levitate Ramp", + "variables": [ + "desired_distance" + ], + "id": 805 + }, + { + "type": "order", + "name": "Set Desired Distance", + "variables": [ + "desired_distance" + ], + "id": 806 + }, + { + "type": "order", + "name": "Set Desired Distance Ramp", + "variables": [ + "desired_distance" + ], + "id": 807 + }, + { + "type": "order", + "name": "Stop Ramp", + "variables": [], + "id": 808 + }, + { + "type": "order", + "name": "Current Control", + "variables": [ + "lpu_id", + "desired_current" + ], + "id": 809 + }, + { + "type": "order", + "name": "All Current Control", + "variables": [ + "desired_current" + ], + "id": 810 + }, + { + "type": "order", + "name": "Stop Current Control", + "variables": [ + "lpu_id" + ], + "id": 811 + }, + { + "type": "order", + "name": "PWM", + "variables": [ + "lpu_id", + "fixed_pwm_duty_cycle" + ], + "id": 812 + }, + { + "type": "order", + "name": "All PWM", + "variables": [ + "fixed_pwm_duty_cycle" + ], + "id": 813 + }, + { + "type": "order", + "name": "Stop PWM", + "variables": [ + "lpu_id" + ], + "id": 814 + }, + { + "type": "order", + "name": "Reset All", + "variables": [], + "id": 815 + }, + { + "type": "order", + "name": "Reset Slave", + "variables": [], + "id": 816 + }, + { + "type": "order", + "name": "Cinema", + "variables": [ + "cinema_current" + ], + "id": 817 + }, + { + "type": "order", + "name": "Stop Cinema", + "variables": [], + "id": 818 + } ] diff --git a/boards/LCU/packets.json b/boards/LCU/packets.json index de1d89c..6cfaf89 100644 --- a/boards/LCU/packets.json +++ b/boards/LCU/packets.json @@ -1,132 +1,163 @@ [ - { - "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": "ms", - "period": 10.0, - "socket": "control_station_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": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "Airgaps", - "variables": ["airgap_1", "airgap_2", "airgap_3", "airgap_4", "airgap_5", "airgap_6", "airgap_7", "airgap_8"], - "id": 9502, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "State Machine", - "variables": [ - "master_state_machine", - "slave_state_machine" - ], - "id": 9520, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - }, - { - "type": "data", - "name": "General State", - "variables": [ - "ctrl_voltage_1", - "ctrl_voltage_2", - "ctrl_voltage_3", - "ctrl_voltage_4", - "ctrl_voltage_5", - "ctrl_voltage_6", - "ctrl_voltage_7", - "ctrl_voltage_8", - "ctrl_voltage_9", - "ctrl_voltage_10", - "ctrl_gap_local_1", - "ctrl_gap_local_2", - "ctrl_gap_local_3", - "ctrl_gap_local_4", - "ctrl_state_1", - "ctrl_state_2", - "ctrl_state_3", - "ctrl_state_4", - "ctrl_state_5", - "ctrl_current_ref_1", - "ctrl_current_ref_2", - "ctrl_current_ref_3", - "ctrl_current_ref_4", - "ctrl_current_ref_5", - "ctrl_current_ref_6", - "ctrl_current_ref_7", - "ctrl_current_ref_8", - "ctrl_current_ref_9", - "ctrl_current_ref_10", - "ctrl_fe_1", - "ctrl_fe_2", - "ctrl_fe_3", - "ctrl_fa_1", - "ctrl_fa_2", - "ctrl_fa_3", - "ctrl_fa_4", - "ctrl_ef_1", - "ctrl_ef_2", - "ctrl_ef_3", - "ctrl_p_1", - "ctrl_p_2", - "ctrl_p_3", - "ctrl_r_1", - "ctrl_r_2", - "ctrl_r_3", - "ctrl_zz_1", - "ctrl_zz_2", - "ctrl_zz_3", - "ctrl_fe_l_1", - "ctrl_fe_l_2", - "ctrl_fe_l_3", - "ctrl_referencia", - "ctrl_i_hems_out_1", - "ctrl_i_hems_out_2", - "ctrl_i_hems_out_3", - "ctrl_i_hems_out_4", - "ctrl_a_1", - "ctrl_a_2", - "ctrl_a_3", - "ctrl_a_4", - "ctrl_a_5", - "ctrl_a_6", - "ctrl_a_7", - "ctrl_a_8", - "ctrl_ak_1", - "ctrl_ak_2", - "ctrl_ak_3", - "ctrl_ak_4", - "ctrl_bk_1", - "ctrl_bk_2", - "ctrl_bk_3", - "ctrl_pi_hems_1", - "ctrl_pi_hems_2", - "ctrl_pi_hems_3", - "ctrl_pi_hems_4", - "ctrl_pi_ems_1", - "ctrl_pi_ems_2", - "ctrl_pi_ems_3", - "ctrl_pi_ems_4", - "ctrl_pi_ems_5", - "ctrl_pi_ems_6" - ], - "id": 9521, - "period_type": "ms", - "period": 10.0, - "socket": "control_station_udp" - } -] + { + "id": 936, + "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" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 937, + "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" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 938, + "type": "data", + "name": "Airgaps", + "variables": [ + "airgap_1", + "airgap_2", + "airgap_3", + "airgap_4", + "airgap_5", + "airgap_6", + "airgap_7", + "airgap_8" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 939, + "type": "data", + "name": "State Machine", + "variables": [ + "master_state_machine", + "slave_state_machine" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + }, + { + "id": 940, + "type": "data", + "name": "General State", + "variables": [ + "ctrl_voltage_1", + "ctrl_voltage_2", + "ctrl_voltage_3", + "ctrl_voltage_4", + "ctrl_voltage_5", + "ctrl_voltage_6", + "ctrl_voltage_7", + "ctrl_voltage_8", + "ctrl_voltage_9", + "ctrl_voltage_10", + "ctrl_gap_local_1", + "ctrl_gap_local_2", + "ctrl_gap_local_3", + "ctrl_gap_local_4", + "ctrl_state_1", + "ctrl_state_2", + "ctrl_state_3", + "ctrl_state_4", + "ctrl_state_5", + "ctrl_current_ref_1", + "ctrl_current_ref_2", + "ctrl_current_ref_3", + "ctrl_current_ref_4", + "ctrl_current_ref_5", + "ctrl_current_ref_6", + "ctrl_current_ref_7", + "ctrl_current_ref_8", + "ctrl_current_ref_9", + "ctrl_current_ref_10", + "ctrl_fe_1", + "ctrl_fe_2", + "ctrl_fe_3", + "ctrl_fa_1", + "ctrl_fa_2", + "ctrl_fa_3", + "ctrl_fa_4", + "ctrl_ef_1", + "ctrl_ef_2", + "ctrl_ef_3", + "ctrl_p_1", + "ctrl_p_2", + "ctrl_p_3", + "ctrl_r_1", + "ctrl_r_2", + "ctrl_r_3", + "ctrl_zz_1", + "ctrl_zz_2", + "ctrl_zz_3", + "ctrl_fe_l_1", + "ctrl_fe_l_2", + "ctrl_fe_l_3", + "ctrl_referencia", + "ctrl_i_hems_out_1", + "ctrl_i_hems_out_2", + "ctrl_i_hems_out_3", + "ctrl_i_hems_out_4", + "ctrl_a_1", + "ctrl_a_2", + "ctrl_a_3", + "ctrl_a_4", + "ctrl_a_5", + "ctrl_a_6", + "ctrl_a_7", + "ctrl_a_8", + "ctrl_ak_1", + "ctrl_ak_2", + "ctrl_ak_3", + "ctrl_ak_4", + "ctrl_bk_1", + "ctrl_bk_2", + "ctrl_bk_3", + "ctrl_pi_hems_1", + "ctrl_pi_hems_2", + "ctrl_pi_hems_3", + "ctrl_pi_hems_4", + "ctrl_pi_ems_1", + "ctrl_pi_ems_2", + "ctrl_pi_ems_3", + "ctrl_pi_ems_4", + "ctrl_pi_ems_5", + "ctrl_pi_ems_6" + ], + "period_type": "ms", + "period": 10.0, + "socket": "control_station_udp" + } +] \ No newline at end of file diff --git a/boards/PCU/PCU_measurements.json b/boards/PCU/PCU_measurements.json index 35f909a..cd68d8b 100644 --- a/boards/PCU/PCU_measurements.json +++ b/boards/PCU/PCU_measurements.json @@ -246,7 +246,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -260,7 +262,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -274,7 +278,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] @@ -288,7 +294,9 @@ "protections": [ { "type": "Equal", - "value": [1], + "value": [ + 1 + ], "fault": true } ] diff --git a/boards/PCU/packets.json b/boards/PCU/packets.json index ee1b457..64a4254 100644 --- a/boards/PCU/packets.json +++ b/boards/PCU/packets.json @@ -14,7 +14,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "Batteries Voltage", @@ -25,9 +24,8 @@ "id": 551, "period_type": "ms", "period": 16.67, - "socket": "control_station_udp" + "socket": "control_station_udp" }, - { "type": "data", "name": "Current Sensors", @@ -49,7 +47,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "State Machine States", @@ -61,7 +58,6 @@ "period": 16.67, "socket": "control_station_udp" }, - { "type": "data", "name": "Speed Data", @@ -78,8 +74,6 @@ "period": 16.67, "socket": "control_station_udp" }, - - { "type": "data", "name": "Gate Driver Reporting", @@ -94,5 +88,4 @@ "period": 16.67, "socket": "control_station_udp" } - ] \ No newline at end of file From dcb06e0071693495ccbef4131518917b74123efd Mon Sep 17 00:00:00 2001 From: Gazi Al Saad Halawani Date: Wed, 30 Sep 2026 17:20:37 +0200 Subject: [PATCH 8/8] Feat()#632: Implemented full HVBMS ADJv3 Directory. --- boards/HVBMS/HVBMS.json | 1 + boards/HVBMS/HVBMS_measurements.json | 1200 +++++++++++++++++++++----- boards/HVBMS/orders.json | 12 +- boards/HVBMS/packets.json | 26 +- 4 files changed, 1027 insertions(+), 212 deletions(-) diff --git a/boards/HVBMS/HVBMS.json b/boards/HVBMS/HVBMS.json index caf7dcc..0022eb5 100644 --- a/boards/HVBMS/HVBMS.json +++ b/boards/HVBMS/HVBMS.json @@ -1,5 +1,6 @@ { "board_id": 7, + "mac": "0:0:0:0:0:0", "board_ip": "192.168.1.7", "measurements": [ "HVBMS_measurements.json" diff --git a/boards/HVBMS/HVBMS_measurements.json b/boards/HVBMS/HVBMS_measurements.json index d6777c6..d31af69 100644 --- a/boards/HVBMS/HVBMS_measurements.json +++ b/boards/HVBMS/HVBMS_measurements.json @@ -1,179 +1,980 @@ [ - { "id": "battery1_cell1", "name": "Battery 1 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell2", "name": "Battery 1 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell3", "name": "Battery 1 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell4", "name": "Battery 1 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell5", "name": "Battery 1 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell6", "name": "Battery 1 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell7", "name": "Battery 1 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell8", "name": "Battery 1 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell9", "name": "Battery 1 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell10", "name": "Battery 1 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell11", "name": "Battery 1 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_cell12", "name": "Battery 1 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery1_total_voltage", "name": "Battery 1 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery1_temp1", "name": "Battery 1 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery1_temp2", "name": "Battery 1 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery1_temp3", "name": "Battery 1 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery1_temp4", "name": "Battery 1 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery2_cell1", "name": "Battery 2 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell2", "name": "Battery 2 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell3", "name": "Battery 2 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell4", "name": "Battery 2 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell5", "name": "Battery 2 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell6", "name": "Battery 2 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell7", "name": "Battery 2 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell8", "name": "Battery 2 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell9", "name": "Battery 2 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell10", "name": "Battery 2 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell11", "name": "Battery 2 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_cell12", "name": "Battery 2 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery2_total_voltage", "name": "Battery 2 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery2_temp1", "name": "Battery 2 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery2_temp2", "name": "Battery 2 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery2_temp3", "name": "Battery 2 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery2_temp4", "name": "Battery 2 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery3_cell1", "name": "Battery 3 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell2", "name": "Battery 3 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell3", "name": "Battery 3 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell4", "name": "Battery 3 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell5", "name": "Battery 3 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell6", "name": "Battery 3 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell7", "name": "Battery 3 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell8", "name": "Battery 3 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell9", "name": "Battery 3 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell10", "name": "Battery 3 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell11", "name": "Battery 3 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_cell12", "name": "Battery 3 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery3_total_voltage", "name": "Battery 3 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery3_temp1", "name": "Battery 3 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery3_temp2", "name": "Battery 3 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery3_temp3", "name": "Battery 3 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery3_temp4", "name": "Battery 3 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery4_cell1", "name": "Battery 4 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell2", "name": "Battery 4 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell3", "name": "Battery 4 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell4", "name": "Battery 4 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell5", "name": "Battery 4 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell6", "name": "Battery 4 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell7", "name": "Battery 4 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell8", "name": "Battery 4 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell9", "name": "Battery 4 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell10", "name": "Battery 4 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell11", "name": "Battery 4 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_cell12", "name": "Battery 4 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery4_total_voltage", "name": "Battery 4 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery4_temp1", "name": "Battery 4 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery4_temp2", "name": "Battery 4 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery4_temp3", "name": "Battery 4 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery4_temp4", "name": "Battery 4 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery5_cell1", "name": "Battery 5 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell2", "name": "Battery 5 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell3", "name": "Battery 5 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell4", "name": "Battery 5 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell5", "name": "Battery 5 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell6", "name": "Battery 5 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell7", "name": "Battery 5 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell8", "name": "Battery 5 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell9", "name": "Battery 5 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell10", "name": "Battery 5 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell11", "name": "Battery 5 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_cell12", "name": "Battery 5 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery5_total_voltage", "name": "Battery 5 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery5_temp1", "name": "Battery 5 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery5_temp2", "name": "Battery 5 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery5_temp3", "name": "Battery 5 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery5_temp4", "name": "Battery 5 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery6_cell1", "name": "Battery 6 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell2", "name": "Battery 6 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell3", "name": "Battery 6 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell4", "name": "Battery 6 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell5", "name": "Battery 6 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell6", "name": "Battery 6 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell7", "name": "Battery 6 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell8", "name": "Battery 6 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell9", "name": "Battery 6 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell10", "name": "Battery 6 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell11", "name": "Battery 6 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_cell12", "name": "Battery 6 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery6_total_voltage", "name": "Battery 6 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery6_temp1", "name": "Battery 6 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery6_temp2", "name": "Battery 6 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery6_temp3", "name": "Battery 6 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery6_temp4", "name": "Battery 6 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery7_cell1", "name": "Battery 7 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell2", "name": "Battery 7 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell3", "name": "Battery 7 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell4", "name": "Battery 7 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell5", "name": "Battery 7 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell6", "name": "Battery 7 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell7", "name": "Battery 7 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell8", "name": "Battery 7 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell9", "name": "Battery 7 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell10", "name": "Battery 7 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell11", "name": "Battery 7 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_cell12", "name": "Battery 7 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery7_total_voltage", "name": "Battery 7 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery7_temp1", "name": "Battery 7 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery7_temp2", "name": "Battery 7 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery7_temp3", "name": "Battery 7 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery7_temp4", "name": "Battery 7 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { "id": "battery8_cell1", "name": "Battery 8 Cell 1", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell2", "name": "Battery 8 Cell 2", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell3", "name": "Battery 8 Cell 3", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell4", "name": "Battery 8 Cell 4", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell5", "name": "Battery 8 Cell 5", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell6", "name": "Battery 8 Cell 6", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell7", "name": "Battery 8 Cell 7", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell8", "name": "Battery 8 Cell 8", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell9", "name": "Battery 8 Cell 9", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell10", "name": "Battery 8 Cell 10", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell11", "name": "Battery 8 Cell 11", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_cell12", "name": "Battery 8 Cell 12", "type": "float32", "podUnits": "V", "displayUnits": "V", "safeRange": [2.7,4.2] }, - { "id": "battery8_total_voltage", "name": "Battery 8 Voltage", "type": "float32", "podUnits": "V", "displayUnits": "V" }, - { "id": "battery8_temp1", "name": "Battery 8 Temperature 1", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery8_temp2", "name": "Battery 8 Temperature 2", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery8_temp3", "name": "Battery 8 Temperature 3", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - { "id": "battery8_temp4", "name": "Battery 8 Temperature 4", "type": "float32", "podUnits": "ºC", "displayUnits": "ºC", "safeRange": [-10,60]}, - - { - "id": "batteries_voltage_reading", + { + "id": 2005, + "alias": "battery1_cell1", + "name": "Battery 1 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2006, + "alias": "battery1_cell2", + "name": "Battery 1 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2007, + "alias": "battery1_cell3", + "name": "Battery 1 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2008, + "alias": "battery1_cell4", + "name": "Battery 1 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2009, + "alias": "battery1_cell5", + "name": "Battery 1 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2010, + "alias": "battery1_cell6", + "name": "Battery 1 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2011, + "alias": "battery1_cell7", + "name": "Battery 1 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2012, + "alias": "battery1_cell8", + "name": "Battery 1 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2013, + "alias": "battery1_cell9", + "name": "Battery 1 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2014, + "alias": "battery1_cell10", + "name": "Battery 1 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2015, + "alias": "battery1_cell11", + "name": "Battery 1 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2016, + "alias": "battery1_cell12", + "name": "Battery 1 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2017, + "alias": "battery1_total_voltage", + "name": "Battery 1 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2018, + "alias": "battery1_temp1", + "name": "Battery 1 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2019, + "alias": "battery1_temp2", + "name": "Battery 1 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2020, + "alias": "battery1_temp3", + "name": "Battery 1 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2021, + "alias": "battery1_temp4", + "name": "Battery 1 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2022, + "alias": "battery2_cell1", + "name": "Battery 2 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2023, + "alias": "battery2_cell2", + "name": "Battery 2 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2024, + "alias": "battery2_cell3", + "name": "Battery 2 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2025, + "alias": "battery2_cell4", + "name": "Battery 2 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2026, + "alias": "battery2_cell5", + "name": "Battery 2 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2027, + "alias": "battery2_cell6", + "name": "Battery 2 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2028, + "alias": "battery2_cell7", + "name": "Battery 2 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2029, + "alias": "battery2_cell8", + "name": "Battery 2 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2030, + "alias": "battery2_cell9", + "name": "Battery 2 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2031, + "alias": "battery2_cell10", + "name": "Battery 2 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2032, + "alias": "battery2_cell11", + "name": "Battery 2 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2033, + "alias": "battery2_cell12", + "name": "Battery 2 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2034, + "alias": "battery2_total_voltage", + "name": "Battery 2 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2035, + "alias": "battery2_temp1", + "name": "Battery 2 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2036, + "alias": "battery2_temp2", + "name": "Battery 2 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2037, + "alias": "battery2_temp3", + "name": "Battery 2 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2038, + "alias": "battery2_temp4", + "name": "Battery 2 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2039, + "alias": "battery3_cell1", + "name": "Battery 3 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2040, + "alias": "battery3_cell2", + "name": "Battery 3 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2041, + "alias": "battery3_cell3", + "name": "Battery 3 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2042, + "alias": "battery3_cell4", + "name": "Battery 3 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2043, + "alias": "battery3_cell5", + "name": "Battery 3 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2044, + "alias": "battery3_cell6", + "name": "Battery 3 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2045, + "alias": "battery3_cell7", + "name": "Battery 3 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2046, + "alias": "battery3_cell8", + "name": "Battery 3 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2047, + "alias": "battery3_cell9", + "name": "Battery 3 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2048, + "alias": "battery3_cell10", + "name": "Battery 3 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2049, + "alias": "battery3_cell11", + "name": "Battery 3 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2050, + "alias": "battery3_cell12", + "name": "Battery 3 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2051, + "alias": "battery3_total_voltage", + "name": "Battery 3 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2052, + "alias": "battery3_temp1", + "name": "Battery 3 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2053, + "alias": "battery3_temp2", + "name": "Battery 3 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2054, + "alias": "battery3_temp3", + "name": "Battery 3 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2055, + "alias": "battery3_temp4", + "name": "Battery 3 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2056, + "alias": "battery4_cell1", + "name": "Battery 4 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2057, + "alias": "battery4_cell2", + "name": "Battery 4 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2058, + "alias": "battery4_cell3", + "name": "Battery 4 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2059, + "alias": "battery4_cell4", + "name": "Battery 4 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2060, + "alias": "battery4_cell5", + "name": "Battery 4 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2061, + "alias": "battery4_cell6", + "name": "Battery 4 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2062, + "alias": "battery4_cell7", + "name": "Battery 4 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2063, + "alias": "battery4_cell8", + "name": "Battery 4 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2064, + "alias": "battery4_cell9", + "name": "Battery 4 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2065, + "alias": "battery4_cell10", + "name": "Battery 4 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2066, + "alias": "battery4_cell11", + "name": "Battery 4 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2067, + "alias": "battery4_cell12", + "name": "Battery 4 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2068, + "alias": "battery4_total_voltage", + "name": "Battery 4 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2069, + "alias": "battery4_temp1", + "name": "Battery 4 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2070, + "alias": "battery4_temp2", + "name": "Battery 4 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2071, + "alias": "battery4_temp3", + "name": "Battery 4 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2072, + "alias": "battery4_temp4", + "name": "Battery 4 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2073, + "alias": "battery5_cell1", + "name": "Battery 5 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2074, + "alias": "battery5_cell2", + "name": "Battery 5 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2075, + "alias": "battery5_cell3", + "name": "Battery 5 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2076, + "alias": "battery5_cell4", + "name": "Battery 5 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2077, + "alias": "battery5_cell5", + "name": "Battery 5 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2078, + "alias": "battery5_cell6", + "name": "Battery 5 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2079, + "alias": "battery5_cell7", + "name": "Battery 5 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2080, + "alias": "battery5_cell8", + "name": "Battery 5 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2081, + "alias": "battery5_cell9", + "name": "Battery 5 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2082, + "alias": "battery5_cell10", + "name": "Battery 5 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2083, + "alias": "battery5_cell11", + "name": "Battery 5 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2084, + "alias": "battery5_cell12", + "name": "Battery 5 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2085, + "alias": "battery5_total_voltage", + "name": "Battery 5 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2086, + "alias": "battery5_temp1", + "name": "Battery 5 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2087, + "alias": "battery5_temp2", + "name": "Battery 5 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2088, + "alias": "battery5_temp3", + "name": "Battery 5 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2089, + "alias": "battery5_temp4", + "name": "Battery 5 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2090, + "alias": "battery6_cell1", + "name": "Battery 6 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2091, + "alias": "battery6_cell2", + "name": "Battery 6 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2092, + "alias": "battery6_cell3", + "name": "Battery 6 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2093, + "alias": "battery6_cell4", + "name": "Battery 6 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2094, + "alias": "battery6_cell5", + "name": "Battery 6 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2095, + "alias": "battery6_cell6", + "name": "Battery 6 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2096, + "alias": "battery6_cell7", + "name": "Battery 6 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2097, + "alias": "battery6_cell8", + "name": "Battery 6 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2098, + "alias": "battery6_cell9", + "name": "Battery 6 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2099, + "alias": "battery6_cell10", + "name": "Battery 6 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2100, + "alias": "battery6_cell11", + "name": "Battery 6 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2101, + "alias": "battery6_cell12", + "name": "Battery 6 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2102, + "alias": "battery6_total_voltage", + "name": "Battery 6 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2103, + "alias": "battery6_temp1", + "name": "Battery 6 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2104, + "alias": "battery6_temp2", + "name": "Battery 6 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2105, + "alias": "battery6_temp3", + "name": "Battery 6 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2106, + "alias": "battery6_temp4", + "name": "Battery 6 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2107, + "alias": "battery7_cell1", + "name": "Battery 7 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2108, + "alias": "battery7_cell2", + "name": "Battery 7 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2109, + "alias": "battery7_cell3", + "name": "Battery 7 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2110, + "alias": "battery7_cell4", + "name": "Battery 7 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2111, + "alias": "battery7_cell5", + "name": "Battery 7 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2112, + "alias": "battery7_cell6", + "name": "Battery 7 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2113, + "alias": "battery7_cell7", + "name": "Battery 7 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2114, + "alias": "battery7_cell8", + "name": "Battery 7 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2115, + "alias": "battery7_cell9", + "name": "Battery 7 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2116, + "alias": "battery7_cell10", + "name": "Battery 7 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2117, + "alias": "battery7_cell11", + "name": "Battery 7 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2118, + "alias": "battery7_cell12", + "name": "Battery 7 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2119, + "alias": "battery7_total_voltage", + "name": "Battery 7 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2120, + "alias": "battery7_temp1", + "name": "Battery 7 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2121, + "alias": "battery7_temp2", + "name": "Battery 7 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2122, + "alias": "battery7_temp3", + "name": "Battery 7 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2123, + "alias": "battery7_temp4", + "name": "Battery 7 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2124, + "alias": "battery8_cell1", + "name": "Battery 8 Cell 1", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2125, + "alias": "battery8_cell2", + "name": "Battery 8 Cell 2", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2126, + "alias": "battery8_cell3", + "name": "Battery 8 Cell 3", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2127, + "alias": "battery8_cell4", + "name": "Battery 8 Cell 4", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2128, + "alias": "battery8_cell5", + "name": "Battery 8 Cell 5", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2129, + "alias": "battery8_cell6", + "name": "Battery 8 Cell 6", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2130, + "alias": "battery8_cell7", + "name": "Battery 8 Cell 7", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2131, + "alias": "battery8_cell8", + "name": "Battery 8 Cell 8", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2132, + "alias": "battery8_cell9", + "name": "Battery 8 Cell 9", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2133, + "alias": "battery8_cell10", + "name": "Battery 8 Cell 10", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2134, + "alias": "battery8_cell11", + "name": "Battery 8 Cell 11", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2135, + "alias": "battery8_cell12", + "name": "Battery 8 Cell 12", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2136, + "alias": "battery8_total_voltage", + "name": "Battery 8 Voltage", + "type": "float32", + "displayUnits": "V" + }, + { + "id": 2137, + "alias": "battery8_temp1", + "name": "Battery 8 Temperature 1", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2138, + "alias": "battery8_temp2", + "name": "Battery 8 Temperature 2", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2139, + "alias": "battery8_temp3", + "name": "Battery 8 Temperature 3", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2140, + "alias": "battery8_temp4", + "name": "Battery 8 Temperature 4", + "type": "float32", + "displayUnits": "ºC" + }, + { + "id": 2141, + "alias": "batteries_voltage_reading", "name": "Batteries Voltage", "type": "float32", - "podUnits": "V", "displayUnits": "V" }, { - "id": "voltage_reading", + "id": 2142, + "alias": "voltage_reading", "name": "Voltage Sensor", "type": "float32", - "podUnits": "V", - "displayUnits": "V", - "safeRange": [ - 0.0, - 410.0 - ] + "displayUnits": "V" }, { - "id": "current_reading", + "id": 2143, + "alias": "current_reading", "name": "Current Sensor", "type": "float32", - "podUnits": "A", - "displayUnits": "A", - "safeRange": [ - -15.0, - 120.0 - ] + "displayUnits": "A" }, { - "id": "sdc_status", + "id": 2144, + "alias": "sdc_status", "name": "SDC Status", "type": "enum", "enumValues": [ @@ -182,100 +983,111 @@ ] }, { - "id": "voltage_min", + "id": 2145, + "alias": "voltage_min", "name": "Minimum Cell Voltage", "type": "float32", - "podUnits": "V", "displayUnits": "V" }, { - "id": "voltage_max", + "id": 2146, + "alias": "voltage_max", "name": "Maximum Cell Voltage", "type": "float32", - "podUnits": "V", "displayUnits": "V" }, { - "id": "temp_min", + "id": 2147, + "alias": "temp_min", "name": "Minimum Temperature", "type": "float32", - "podUnits": "ºC", "displayUnits": "ºC" }, { - "id": "temp_max", + "id": 2148, + "alias": "temp_max", "name": "Maximum Temperature", "type": "float32", - "podUnits": "ºC", "displayUnits": "ºC" }, - { - "id": "imd_status", + { + "id": 2149, + "alias": "imd_status", "name": "IMD Status", "type": "enum", - "enumValues":[ - "SHORTCIRCUIT", - "NORMAL", - "UNDERVOLTAGE", - "FAST_EVAL", - "EQUIPMENT_FAULT", - "GROUNDING_FAULT" + "enumValues": [ + "SHORTCIRCUIT", + "NORMAL", + "UNDERVOLTAGE", + "FAST_EVAL", + "EQUIPMENT_FAULT", + "GROUNDING_FAULT" ] }, { - "id": "imd_resistance", + "id": 2150, + "alias": "imd_resistance", "name": "IMD Resistance", "type": "float32", - "podUnits": "Ohm", "displayUnits": "MOhm" }, { - "id": "imd_is_ok", + "id": 2151, + "alias": "imd_is_ok", "name": "IMD OK", "type": "bool" }, { - "id": "imd_duty", + "id": 2152, + "alias": "imd_duty", "name": "IMD Duty", "type": "float32" }, { - "id": "imd_freq", + "id": 2153, + "alias": "imd_freq", "name": "IMD Frequency", "type": "float32" }, { - "id": "contactor_precharge", + "id": 2154, + "alias": "contactor_precharge", "name": "Contactor Precharge", "type": "bool" }, - { - "id": "contactor_discharge", + { + "id": 2155, + "alias": "contactor_discharge", "name": "Contactor Discharge", "type": "bool" }, - { - "id": "contactor_high", + { + "id": 2156, + "alias": "contactor_high", "name": "Contactor High", "type": "bool" }, { - "id": "contactor_low", + "id": 2157, + "alias": "contactor_low", "name": "Contactor Low", "type": "bool" }, { - "id": "contactor_common_high", + "id": 2158, + "alias": "contactor_common_high", "name": "Contactor Common High", "type": "bool" }, { - "id": "soc", + "id": 2159, + "alias": "soc", "name": "SOC", "type": "float32" }, - { - "id": "sm_status", + { + "id": 2160, + "alias": "sm_status", "name": "State Machine Status", "type": "enum", "enumValues": [ diff --git a/boards/HVBMS/orders.json b/boards/HVBMS/orders.json index 3fae309..fe54b53 100644 --- a/boards/HVBMS/orders.json +++ b/boards/HVBMS/orders.json @@ -3,30 +3,30 @@ "type": "order", "name": "FAULT", "variables": [], - "id": 0 + "id": 2000 }, { "type": "order", "name": "Open Contactors", "variables": [], - "id": 901 + "id": 2001 }, { "type": "order", "name": "Cell Balance", "variables": [], - "id": 902 + "id": 2002 }, - { + { "type": "order", "name": "Start Precharge", "variables": [], - "id": 903 + "id": 2003 }, { "type": "order", "name": "Check Faults", "variables": [], - "id": 904 + "id": 2004 } ] \ No newline at end of file diff --git a/boards/HVBMS/packets.json b/boards/HVBMS/packets.json index a2ab68f..01a841a 100644 --- a/boards/HVBMS/packets.json +++ b/boards/HVBMS/packets.json @@ -12,7 +12,7 @@ "batteries_voltage_reading", "sm_status" ], - "id": 950, + "id": 2161, "period": 10, "period_type": "ms", "socket": "control_station_udp" @@ -20,8 +20,10 @@ { "type": "data", "name": "SOC", - "variables": ["soc"], - "id": 951, + "variables": [ + "soc" + ], + "id": 2162, "period": 50, "period_type": "ms", "socket": "control_station_udp" @@ -32,7 +34,7 @@ "variables": [ "sdc_status" ], - "id": 952, + "id": 2163, "period": 50, "period_type": "ms", "socket": "control_station_udp" @@ -178,7 +180,7 @@ "battery8_temp3", "battery8_temp4" ], - "id": 953, + "id": 2164, "period": 50, "period_type": "ms", "socket": "control_station_udp" @@ -187,13 +189,13 @@ "type": "data", "name": "IMD", "variables": [ - "imd_status", - "imd_resistance", - "imd_is_ok", - "imd_duty", - "imd_freq" + "imd_status", + "imd_resistance", + "imd_is_ok", + "imd_duty", + "imd_freq" ], - "id": 954, + "id": 2165, "period": 50, "period_type": "ms", "socket": "control_station_udp" @@ -208,7 +210,7 @@ "contactor_high", "contactor_common_high" ], - "id": 955, + "id": 2166, "period": 50, "period_type": "ms", "socket": "control_station_udp"