Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
51297ee
feat: add blcu
vasyl-ks Apr 28, 2026
172a43d
feat(electron): configure blcu
vasyl-ks Apr 28, 2026
3b31db6
Merge pull request #500 from Hyperloop-UPV/electron/add-python-tftp-app
Humanoidear Apr 29, 2026
6cc8eeb
feat*: flashing view integrated onto main app. changed electron confi…
l-castel May 11, 2026
bd050c0
fix(workspace): fixed pnpm workspace to integrate the flashing-view r…
l-castel May 13, 2026
7b5664b
fix(workspace): added python package and logger to .gitignore
l-castel May 14, 2026
55e024c
fix(electron): fixed gitignores.
l-castel May 14, 2026
43d26c4
chore(electron-app): stop tracking python and logger folders
l-castel May 14, 2026
0a982a4
chore: remove packet sender
JavierRibaldelRio May 16, 2026
b899965
feat(logger): log logger settings (adj commit and time units)
JavierRibaldelRio May 17, 2026
f9e51e5
fix(order-logger): format as a JSON object packets inside orders
JavierRibaldelRio May 17, 2026
ced88e8
feat(logger): add time of start
JavierRibaldelRio May 17, 2026
cdc1b34
Merge pull request #519 from Hyperloop-UPV/backend/log-ADJ-commit
Humanoidear May 24, 2026
ff257de
Merge branch 'develop' into control-station/remove-packet-sender
Humanoidear May 24, 2026
d52937d
Merge pull request #518 from Hyperloop-UPV/control-station/remove-pac…
Humanoidear May 24, 2026
8434629
chore(competition-view): scaffold Vite app with workspace dependencies
l-castel Jun 1, 2026
781271f
feat(competition-view): add app shell with sidebar, header and routing
l-castel Jun 1, 2026
1c836f1
feat(competition-view): add store slices and wire up websocket topics
l-castel Jun 1, 2026
ef462b6
chore(testing-view): remove embedded flash-station feature
l-castel Jun 1, 2026
537c0f7
chore(electron-app): revert to develop baseline
l-castel Jun 1, 2026
73349a6
chore(flashing-view): move app into frontend/ alongside other views
l-castel Jun 1, 2026
938b0e7
feat(competition-view): add vehicle overview dashboard and messages page
l-castel Jun 1, 2026
28ba19f
feat(competition-view): replace placeholder H with Hyperloop logo in …
l-castel Jun 1, 2026
8a2a6b8
feat(competition-view): add orders panel with emergency stop to overview
l-castel Jun 3, 2026
e6d76c8
feat(competition-view): add HV/LV batteries monitoring page
l-castel Jun 3, 2026
d941cd1
feat(competition-view): add boards status page with LCU airgap detail
l-castel Jun 3, 2026
d29915b
feat(competition-view): add real-time telemetry charts page
l-castel Jun 4, 2026
cc29afc
fix(competition-view): replace unavailable icons in sidebar navigation
l-castel Jun 4, 2026
e942e89
fix(competition-view): fix levitation layout and replace raw HTML wit…
l-castel Jun 6, 2026
f7d71a0
feat(competition-view): add dynamic orders page with parameter forms
l-castel Jun 7, 2026
c2aaadb
fix(competition-view): badge consistency, auto-scroll, state colours,…
l-castel Jun 7, 2026
a5036f9
feat(competition-view): add error boundaries to all page routes
l-castel Jun 8, 2026
7ff8cd1
feat(competition-view): add global keyboard shortcuts for competition…
l-castel Jun 8, 2026
95c2755
fix(competition-view): fix Orders page input visibility and interacti…
l-castel Jun 8, 2026
973f0a9
feat(competition-view): add DLIM and LSM motor phase-current charts
l-castel Jun 8, 2026
5f6d769
fix: display ms instead of ns
maximka76667 Jun 8, 2026
4459172
feat(ui-kit): add Table component and missing icons; update flashing-…
l-castel Jun 9, 2026
7dc018d
chore(old flashing-view): deleted old flashing-view implementation
l-castel Jun 9, 2026
28f3e4e
fix(GITIGNORE): updated gitignore
l-castel Jun 9, 2026
1083e5e
fix(build): fixed build errors
l-castel Jun 9, 2026
bc88c9b
fix(ci): install flashing-view + competition-view deps in frontend-te…
l-castel Jun 9, 2026
4cdd818
fix(electron): typo on electron config
l-castel Jun 9, 2026
c858dad
feat(boards): update boards to math H11 board structure + naming
l-castel Jun 9, 2026
9118424
feat(ci) install deps for competition-view in frontend test workflow
l-castel Jun 9, 2026
21d1884
feat(booster): added booster page to mimic previous competition-view,…
l-castel Jun 9, 2026
e6601ef
fix: build python deps and binaries
vasyl-ks Jun 9, 2026
f820e40
chore(packet-sender): remove
JavierRibaldelRio Jun 15, 2026
6aefa81
yay: new deprecated package with critical issuess
JavierRibaldelRio Jun 15, 2026
0f47e6e
feat: selector mode
JavierRibaldelRio Jun 15, 2026
02c6a4b
feat: not show log window at blcu
JavierRibaldelRio Jun 15, 2026
a39284f
feat: enhance selection window
JavierRibaldelRio Jun 15, 2026
a6043f8
fix: wait before opening testing view
JavierRibaldelRio Jun 15, 2026
c7d6115
feat: return to selector button
JavierRibaldelRio Jun 15, 2026
28b1eb5
docs(electron): remove orphan comment
JavierRibaldelRio Jun 16, 2026
04f47c6
Merge pull request #536 from Hyperloop-UPV/feature/electron--build-an…
JavierRibaldelRio Jun 16, 2026
4b90356
chore(packet-sender): remove
JavierRibaldelRio Jun 15, 2026
3b453cc
yay: new deprecated package with critical issuess
JavierRibaldelRio Jun 15, 2026
143a00b
feat: selector mode
JavierRibaldelRio Jun 15, 2026
5b6200a
feat: not show log window at blcu
JavierRibaldelRio Jun 15, 2026
1328109
feat: enhance selection window
JavierRibaldelRio Jun 15, 2026
976155d
fix: wait before opening testing view
JavierRibaldelRio Jun 15, 2026
75acd70
feat: return to selector button
JavierRibaldelRio Jun 15, 2026
8f536ed
docs(electron): remove orphan comment
JavierRibaldelRio Jun 16, 2026
ac5e142
Merge branch 'control-station/multiple-select-app' of https://github.…
JavierRibaldelRio Jun 16, 2026
e47561f
fix(electron): solve close testing view and open again bug
JavierRibaldelRio Jun 16, 2026
c8e60d3
fix(electron): remove timer to start front
JavierRibaldelRio Jun 16, 2026
5d9c285
docs: update readme
JavierRibaldelRio Jun 16, 2026
90263d6
fix(logo): added logo to flashing view header
l-castel Jun 17, 2026
c4de2a6
docs(BLCU-programming): refactor old files
JavierRibaldelRio Jun 17, 2026
cca4b20
chore(blcu-programming): integration in pnpm
JavierRibaldelRio Jun 17, 2026
25fe715
refactor(BLCU-Programming): separate HTTP server
JavierRibaldelRio Jun 17, 2026
2ca2d0d
refactor(BLCU-Programming): create configuration file
JavierRibaldelRio Jun 17, 2026
f19dec8
fix(BLCU-programming): sync error
JavierRibaldelRio Jun 17, 2026
4ed7704
docs(blcu-programming): add comments
JavierRibaldelRio Jun 17, 2026
b02ea13
Merge pull request #535 from Hyperloop-UPV/testing-view/ms-display-fix
Humanoidear Jun 18, 2026
9f47192
Merge branch 'develop' into control-station/multiple-select-app
Humanoidear Jun 18, 2026
2fab3ac
Merge pull request #540 from Hyperloop-UPV/control-station/multiple-s…
JavierRibaldelRio Jun 18, 2026
128030f
fix(electron): reverted unnecessary electron config changes
l-castel Jun 18, 2026
8ff0f31
feat(flashing-view): deep refactor of proposed implementation. change…
l-castel Jun 18, 2026
271fb08
feat(flashing-view): integrated with backend, tested endpoints.
l-castel Jun 18, 2026
22321d4
feat(flashing-view): replaced upload function wih flash function. imp…
l-castel Jun 18, 2026
b918b21
Merge branch 'control-station/blcu' into features/flashing-view
l-castel Jun 18, 2026
309dc09
feat(flashing-view): added flashing view
l-castel Jun 18, 2026
f4d277c
feat(competition-view): full redesign of competition view
l-castel Jun 18, 2026
ceae5bb
fix(repo): pnpm remove duplicate packages
JavierRibaldelRio Jun 18, 2026
f2ef139
Merge branch 'develop' into control-station/blcu
JavierRibaldelRio Jun 18, 2026
3012a0c
feat(BLCU): update blcu config
JavierRibaldelRio Jun 18, 2026
d78fb9a
chore(BLCU-programming): new dependenc
JavierRibaldelRio Jun 18, 2026
422a0e1
feat: udp server
JavierRibaldelRio Jun 18, 2026
adb5121
fix(BLCU): correct http api port
JavierRibaldelRio Jun 18, 2026
7c068d6
feat(flashing-view): added theme toggle.
l-castel Jun 19, 2026
ff0998c
feat(flashing-view): updated polling function to inlcude correct payl…
l-castel Jun 19, 2026
2c09e45
feat(flashing-view): added operational blcu state.
l-castel Jun 19, 2026
8a1d860
wip: config
JavierRibaldelRio Jun 19, 2026
f384f34
chore: remove nix flake, nobody uses nix *sob*
JavierRibaldelRio Jun 19, 2026
77108e8
fix(blcu-programming): recibe BLCU status
JavierRibaldelRio Jun 19, 2026
c095440
feat(BLCU-programming): ping other boards
JavierRibaldelRio Jun 19, 2026
dfa9714
fix: change period & api route
JavierRibaldelRio Jun 19, 2026
d8e3667
fix(BLCU-programming): cors error
JavierRibaldelRio Jun 19, 2026
11b99e9
feat(BLCU-Programming): improve flashing
JavierRibaldelRio Jun 19, 2026
28add65
feat: tcp connection
JavierRibaldelRio Jun 19, 2026
38ae5d1
wip(BLCU-programming): update config.json
JavierRibaldelRio Jun 20, 2026
1fc8ede
chore: update .gitignore to exclude compilation builds of competition…
JavierRibaldelRio Jun 20, 2026
2ebb69b
fix: correct .gitignore
JavierRibaldelRio Jun 20, 2026
518b603
feat: electron integration
JavierRibaldelRio Jun 20, 2026
b6c1b47
chore(release): modify workflow
JavierRibaldelRio Jun 20, 2026
28aba99
chore(release): recover rpm built
JavierRibaldelRio Jun 20, 2026
910a0e5
test: restore app
JavierRibaldelRio Jun 20, 2026
a3f01b1
fix(workflow): remove deprecated
JavierRibaldelRio Jun 20, 2026
b0ebc4d
fix(updater): catch exception
JavierRibaldelRio Jun 20, 2026
b51e51a
docs(release): change autors
JavierRibaldelRio Jun 20, 2026
cfba5ef
fix(docs): typos
JavierRibaldelRio Jun 20, 2026
f46eaac
test: restart app
JavierRibaldelRio Jun 20, 2026
8234028
Merge pull request #550 from Hyperloop-UPV/control-station/integrate-…
JavierRibaldelRio Jun 20, 2026
4c3da30
Merge branch 'develop' into control-station/blcu
JavierRibaldelRio Jun 20, 2026
8e4a890
feat: add toggleable labeles for charts values
maximka76667 Jun 20, 2026
ca4e314
feat(BLCU-programming): send tcp order
JavierRibaldelRio Jun 20, 2026
c75598a
fix(BLCU-programming): updade setting
JavierRibaldelRio Jun 20, 2026
4fcd4c4
wip: include flashing view into release and electron
JavierRibaldelRio Jun 20, 2026
ce025e0
feat: remove labeled values and add them in the legend
maximka76667 Jun 20, 2026
3beddeb
fix: duplicate export of X lucid icon
maximka76667 Jun 20, 2026
a403cc1
fix(logs): fixed ts compiler error, moved logs section, added error c…
l-castel Jun 20, 2026
393e411
fix(flashing-view): add env port for electron integration
JavierRibaldelRio Jun 21, 2026
f375852
fix(BLCU-programming): add env data
JavierRibaldelRio Jun 21, 2026
1968202
feat(electron): add blcu programming
JavierRibaldelRio Jun 21, 2026
6c36639
fix(electron-app): wait 5 seconds before opening flashing view to giv…
JavierRibaldelRio Jun 21, 2026
32a4cdd
fix(workflows): release yml windows blcu -installer
JavierRibaldelRio Jun 21, 2026
c9608e0
fix(electron-app): build workflow
JavierRibaldelRio Jun 21, 2026
b4b1661
docs
JavierRibaldelRio Jun 21, 2026
eede506
Merge pull request #551 from Hyperloop-UPV/testing-view/labeled-chart…
Humanoidear Jun 21, 2026
cf16ede
Merge pull request #544 from Hyperloop-UPV/control-station/blcu
JavierRibaldelRio Jun 23, 2026
932faf1
fix(backend): remove tcp try reconnect
JavierRibaldelRio Jun 24, 2026
bbb0df1
chore(release): update workflow to allow select options
JavierRibaldelRio Jun 24, 2026
d2d7ecd
Merge pull request #553 from Hyperloop-UPV/backend/remove-try-reconnect
JavierRibaldelRio Jun 24, 2026
8ac945a
Merge pull request #554 from Hyperloop-UPV/control-station/select-on-…
JavierRibaldelRio Jun 24, 2026
063e516
feat(logger): include protection logger
JavierRibaldelRio Jun 24, 2026
2f7e22a
fix(logging-path): correct protection logger
JavierRibaldelRio Jun 24, 2026
8aaabd7
fix(backend): change route log
JavierRibaldelRio Jun 24, 2026
a37f60a
fix(electron-app): restart app working fine
JavierRibaldelRio Jun 24, 2026
7535be6
fix(electron-app): restart app
JavierRibaldelRio Jun 24, 2026
eb732e6
fix(backend): remove protection_message
JavierRibaldelRio Jun 25, 2026
ebdd27e
fix(testing-view): add cooldown
JavierRibaldelRio Jun 26, 2026
83214ad
fix(testing-view): cool down
JavierRibaldelRio Jun 26, 2026
bc5146a
Merge branch 'develop' into backend/log-messages
JavierRibaldelRio Jun 26, 2026
8b5d379
Merge pull request #555 from Hyperloop-UPV/backend/log-messages
JavierRibaldelRio Jun 26, 2026
db17545
fix(testing-view):reload button
JavierRibaldelRio Jun 27, 2026
2779f0a
Merge pull request #557 from Hyperloop-UPV/control-station/minor-fixes
JavierRibaldelRio Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/frontend-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
cache: "pnpm"

- name: Install dependencies
run: pnpm install --frozen-lockfile --filter=testing-view --filter=ui --filter=core
run: pnpm install --frozen-lockfile --filter=testing-view --filter=flashing-view --filter=competition-view --filter=ui --filter=core

- name: Build frontend
run: pnpm build --filter="./frontend/**"
Expand Down
158 changes: 151 additions & 7 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,19 @@ on:
description: "Create as draft release"
type: boolean
default: true
include-testing:
description: "Include Testing View"
type: boolean
default: true
include-competition:
description: "Include Competition View"
type: boolean
default: true
include-flashing:
description: "Include Flashing View"
type: boolean
default: true

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
determine-version:
Expand All @@ -21,12 +31,18 @@ jobs:
outputs:
version: ${{ steps.get_version.outputs.version }}
is_draft: ${{ steps.get_version.outputs.is_draft }}
include_testing: ${{ steps.get_version.outputs.include_testing }}
include_competition: ${{ steps.get_version.outputs.include_competition }}
include_flashing: ${{ steps.get_version.outputs.include_flashing }}
steps:
- name: Determine version
id: get_version
run: |
echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
echo "is_draft=${{ github.event.inputs.draft }}" >> $GITHUB_OUTPUT
echo "include_testing=${{ github.event.inputs.include-testing }}" >> $GITHUB_OUTPUT
echo "include_competition=${{ github.event.inputs.include-competition }}" >> $GITHUB_OUTPUT
echo "include_flashing=${{ github.event.inputs.include-flashing }}" >> $GITHUB_OUTPUT

create-draft-release:
name: Create Draft Release
Expand Down Expand Up @@ -62,20 +78,46 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: "20"
node-version: "24"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build with Turbo
run: pnpm turbo build --filter=testing-view
run: |
FILTERS=""
if [ "${{ needs.determine-version.outputs.include_testing }}" = "true" ]; then
FILTERS="$FILTERS --filter=testing-view"
fi
if [ "${{ needs.determine-version.outputs.include_competition }}" = "true" ]; then
FILTERS="$FILTERS --filter=competition-view"
fi
if [ "${{ needs.determine-version.outputs.include_flashing }}" = "true" ]; then
FILTERS="$FILTERS --filter=flashing-view"
fi
pnpm turbo build $FILTERS

- uses: actions/upload-artifact@v4
if: needs.determine-version.outputs.include_testing == 'true'
with:
name: frontend-dist
path: frontend/testing-view/dist/**
retention-days: 1

- uses: actions/upload-artifact@v4
if: needs.determine-version.outputs.include_competition == 'true'
with:
name: competition-dist
path: frontend/competition-view/dist/**
retention-days: 1

- uses: actions/upload-artifact@v4
if: needs.determine-version.outputs.include_flashing == 'true'
with:
name: flashing-dist
path: frontend/flashing-view/dist/**
retention-days: 1

build-backend:
name: Build Backend - ${{ matrix.os }}
needs: determine-version
Expand Down Expand Up @@ -121,22 +163,103 @@ jobs:
path: electron-app/binaries/${{ matrix.binary }}
retention-days: 1

build-blcu:
name: Build BLCU - ${{ matrix.os }}
needs: determine-version
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- os: windows-latest
binary: blcu-programming-windows-amd64.exe
binary-base: blcu-programming-windows-amd64
- os: ubuntu-latest
binary: blcu-programming-linux-amd64
binary-base: blcu-programming-linux-amd64
- os: macos-latest
binary: blcu-programming-darwin-arm64
binary-base: blcu-programming-darwin-arm64
- os: macos-15-intel
binary: blcu-programming-darwin-amd64
binary-base: blcu-programming-darwin-amd64
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Create virtual environment
working-directory: blcu-programming
run: python -m venv .venv-build

- name: Install dependencies
working-directory: blcu-programming
shell: bash
run: |
if [ "${{ runner.os }}" = "Windows" ]; then
.venv-build/Scripts/pip install -r requirements-build.txt
else
.venv-build/bin/pip install -r requirements-build.txt
fi

- name: Build with PyInstaller
working-directory: blcu-programming
shell: bash
run: |
if [ "${{ runner.os }}" = "Windows" ]; then
PYTHON=".venv-build/Scripts/python"
else
PYTHON=".venv-build/bin/python"
fi
if [ "${{ runner.os }}" = "Windows" ]; then
PATH_SEP=";"
else
PATH_SEP=":"
fi
"$PYTHON" -m PyInstaller \
--clean \
--noconfirm \
--onefile \
--name "${{ matrix.binary-base }}" \
--distpath "../electron-app/binaries" \
--hidden-import uvicorn.loops.auto \
--hidden-import uvicorn.protocols.http.auto \
--hidden-import uvicorn.protocols.websockets.auto \
--hidden-import uvicorn.lifespan.on \
--hidden-import multipart \
--hidden-import multipart.multiparser \
--paths "." \
--add-data "BLCU-config.json${PATH_SEP}." \
api/main.py

- uses: actions/upload-artifact@v4
with:
name: blcu-${{ matrix.os }}
path: electron-app/binaries/${{ matrix.binary }}
retention-days: 1

package-and-upload:
name: Package & Upload - ${{ matrix.os }}
needs: [determine-version, create-draft-release, build-frontend, build-backend]
needs: [determine-version, create-draft-release, build-frontend, build-backend, build-blcu]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- os: windows-latest
binary: backend-windows-amd64.exe
blcu-binary: blcu-programming-windows-amd64.exe
- os: ubuntu-latest
binary: backend-linux-amd64
blcu-binary: blcu-programming-linux-amd64
- os: macos-latest
binary: backend-darwin-arm64
blcu-binary: blcu-programming-darwin-arm64
- os: macos-15-intel
binary: backend-darwin-amd64
blcu-binary: blcu-programming-darwin-amd64
steps:
- uses: actions/checkout@v4

Expand All @@ -146,23 +269,44 @@ jobs:
name: backend-${{ matrix.os }}
path: electron-app/binaries

- name: Download BLCU binary
uses: actions/download-artifact@v4
with:
name: blcu-${{ matrix.os }}
path: electron-app/binaries

- name: Set executable permissions (Unix)
if: runner.os != 'Windows'
run: chmod +x electron-app/binaries/*

- name: Download frontend dist
if: needs.determine-version.outputs.include_testing == 'true'
uses: actions/download-artifact@v4
with:
name: frontend-dist
path: electron-app/renderer/testing-view

- name: Download competition-view dist
if: needs.determine-version.outputs.include_competition == 'true'
uses: actions/download-artifact@v4
with:
name: competition-dist
path: electron-app/renderer/competition-view

- name: Download flashing-view dist
if: needs.determine-version.outputs.include_flashing == 'true'
uses: actions/download-artifact@v4
with:
name: flashing-dist
path: electron-app/renderer/flashing-view

- uses: pnpm/action-setup@v4
with:
version: 10.26.0

- uses: actions/setup-node@v4
with:
node-version: "20"
node-version: "24"

- name: Update version in package.json
working-directory: electron-app
Expand All @@ -186,7 +330,7 @@ jobs:
run: |
find electron-app/dist -maxdepth 1 -type f \
\( -name "*.exe" -o -name "*.AppImage" -o -name "*.deb" \
-o -name "*.dmg" -o -name "*.zip" -o -name "*.yml" -o -name "*.blockmap" \) \
-o -name "*.rpm" -o -name "*.dmg" -o -name "*.zip" -o -name "*.yml" -o -name "*.blockmap" \) \
| xargs gh release upload v${{ needs.determine-version.outputs.version }} --clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,8 @@ node_modules/
.env

# Global binaries
*.exe
*.exe

# electron modules
electron-app/python
electron-app/logger
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ Before starting, ensure you have the following installed:
- **PNPM** (v10.26.0+)
- **Node.js** (v20+)
- **Go** (for the backend)
- **Rust/Cargo** (for the packet-sender)
- **Python** (v3.11+, for the BLCU programming service)

`pnpm install` automatically creates the Python virtual environment and installs dependencies for the BLCU programming service on Windows, macOS, and Linux.

---

Expand All @@ -25,8 +27,9 @@ Our `pnpm-workspace.yaml` defines the following workspaces:
| :----------------------------- | :------- | :---------------------------------------------------- |
| `testing-view` | TS/React | Web interface for telemetry testing |
| `competition-view` | TS/React | UI for the competition |
| `flashing-view` | TS/React | UI for flashing firmware to the BLCU board |
| `backend` | Go | Data ingestion and pod communication server |
| `packet-sender` | Rust | Utility for simulating vehicle packets |
| `blcu-programming` | Python | FastAPI service that flashes firmware to the BLCU board via TFTP |
| `hyperloop-control-station` | JS | The main Control Station electron desktop application |
| `e2e` | TS | End-to-end tests for the whole app (Playwright) |
| `@workspace/ui` | TS/React | Shared UI component library (frontend-kit) |
Expand All @@ -44,7 +47,7 @@ These commands should be executed from the root directory (`/software`).

#### Global Development Scripts

- `pnpm dev` – Runs both frontends, the backend (with `dev-config.toml`), and the packet-sender in a single terminal window.
- `pnpm dev` – Runs both frontends and the backend (with `dev-config.toml`) in a single terminal window.
- `pnpm dev:main` – Runs frontends and the backend using the standard `config.toml`.

#### Turbo Filtering
Expand All @@ -69,8 +72,14 @@ All Turbo scripts support filtering to target specific workspaces:
- `pnpm build:linux` – Packages the Electron app for Linux.
- `pnpm build:mac` – Packages the Electron app for macOS.

#### Frontend View Scripts

- `pnpm build:testing-view` – Builds only the Testing View frontend.
- `pnpm build:competition-view` – Builds only the Competition View frontend.
- `pnpm build:flashing-view` – Builds only the Flashing View frontend.

#### Utility Scripts

- `pnpm ui:add <component-name>` - To add shadcn/ui components

> Note: don't forget to also include it in frontend-kit/ui/src/components/shadcn/index.ts to be able to access it from @workspace/ui
> Note: don't forget to also include it in frontend-kit/ui/src/components/shadcn/index.ts to be able to access it from @workspace/ui
23 changes: 16 additions & 7 deletions backend/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/HyperloopUPV-H8/h9-backend/internal/flags"
"github.com/HyperloopUPV-H8/h9-backend/internal/pod_data"
"github.com/HyperloopUPV-H8/h9-backend/internal/update_factory"
"github.com/HyperloopUPV-H8/h9-backend/pkg/logger"
tracelogger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/trace"

vehicle_models "github.com/HyperloopUPV-H8/h9-backend/internal/vehicle/models"
Expand All @@ -34,12 +35,6 @@ func main() {
flags.Init()
handleVersionFlag()

// Configure trace
traceFile := tracelogger.InitTrace(flags.TraceLevel)
if traceFile != nil {
defer traceFile.Close()
}

// Set use to all available CPUs and setup CPU profiling if enabled
cleanup := setupRuntimeCPU()
defer cleanup()
Expand All @@ -50,12 +45,26 @@ func main() {
trace.Fatal().Err(err).Msg("error unmarshaling toml file")
}

// Configure BasePath before InitTrace and NewADJ so all "others" files land in the right place
if err := logger.ConfigureLogger(config.Logging.TimeUnit, config.Logging.LoggingPath, ""); err != nil {
trace.Fatal().Err(err).Msg("configuring logger")
}

// Configure trace
traceFile := tracelogger.InitTrace(flags.TraceLevel)
if traceFile != nil {
defer traceFile.Close()
}

// <--- ADJ --->
adj, err := adj_module.NewADJ(config.Adj)
if err != nil {
trace.Fatal().Err(err).Msg("setting up ADJ")
}

// Now that we have the commit hash, update it in the logger
logger.CommitHash = adj.Commit

// <--- pod data --->
podData, err := pod_data.NewPodData(adj.Boards, adj.Info.Units)
if err != nil {
Expand All @@ -75,7 +84,7 @@ func main() {
updateFactory := update_factory.NewFactory(boardToPackets)

// <--- logger --->
loggerHandler, subloggers := setUpLogger(config)
loggerHandler, subloggers := setUpLogger()

// <-- connections & upgrader -->
connections := make(chan *websocket.Client)
Expand Down
Loading
Loading