Skip to content

Quick Start Guide

Marc Sanchis edited this page Jun 5, 2025 · 1 revision

Quick Start Guide

Get up and running with the Hyperloop UPV Control Station in just a few minutes! This guide covers the fastest path to having a working development environment.

⚡ Super Quick Start

Choose your platform and run the setup:

Windows (PowerShell)

# Clone the repository
git clone https://github.com/HyperloopUPV-H8/software.git
cd software

# Allow script execution (one-time setup)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# Setup and run
.\scripts\dev.ps1 setup
.\scripts\dev.ps1 all

macOS/Linux

# Clone the repository
git clone https://github.com/HyperloopUPV-H8/software.git
cd software

# Setup and run
chmod +x scripts/dev.sh
./scripts/dev.sh setup
./scripts/dev.sh all

✅ Prerequisites (5 minutes)

Ensure you have these installed:

Requirement Windows macOS Linux
Go 1.21+ Download brew install go sudo apt install golang-go
Node.js 18+ Download brew install node sudo apt install nodejs npm
Git Download brew install git sudo apt install git

Platform-Specific Requirements

Windows:

  • PowerShell 5.1+ (included in Windows 10+)
  • Visual C++ Build Tools (auto-installed by Node.js)

macOS:

  • Xcode Command Line Tools: xcode-select --install
  • libpcap: brew install libpcap

Linux:

  • libpcap dev headers: sudo apt install libpcap-dev

🚀 What Happens During Setup

The setup script will:

  1. 📦 Install Dependencies

    • Downloads Go modules for backend services
    • Installs npm packages for all React applications
  2. 🔨 Build Common Library

    • Builds the shared frontend component library
    • Creates necessary build artifacts
  3. ✅ Verify Installation

    • Checks all tools are properly installed
    • Validates environment configuration

🌐 Access Your Applications

After running all, you can access:

Application URL Purpose
Control Station http://localhost:5173 Main pod control interface
Ethernet View http://localhost:5174 Network monitoring and debugging
Backend API http://localhost:8080 Backend services and WebSocket

🎯 Success Indicators

You'll know everything is working when:

🔄 Individual Services

Run services separately during development:

# Run one service at a time
./scripts/dev.sh backend      # Go backend server
./scripts/dev.sh ethernet     # Ethernet view frontend
./scripts/dev.sh control      # Control station frontend
./scripts/dev.sh packet       # Packet sender tool

⚙️ Basic Configuration

Backend Configuration

Edit backend/cmd/config.toml:

[network]
# Set your machine's IP (must match ADJ specs)
backend_ip = "192.168.0.9"

[vehicle.boards]
# Enable/disable boards as needed
VCU = true
PCU = true
TCU = true

ADJ Specifications

  • Board definitions: backend/cmd/adj/boards/[BOARD_NAME]/
  • Auto-updates from main branch by default
  • Leave adj/branch blank in config for local ADJ

🆘 Troubleshooting

Common Issues

Services won't start

# Re-run setup
./scripts/dev.sh setup

# Check ports aren't in use
netstat -an | grep ':5173\|:5174\|:8080'

Build failures

  • Verify Go and Node.js versions: go version && node --version
  • Check internet connectivity for downloads
  • Review specific error messages

Permission errors (Unix)

chmod +x scripts/dev.sh

PowerShell execution errors (Windows)

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Need More Help?

🎉 Next Steps

For New Users

  1. First-Time Setup - Complete configuration walkthrough
  2. Control Station Interface - Learn the interface
  3. Safety Procedures - Important safety information

For Developers

  1. Development Environment Setup - Advanced dev setup
  2. System Architecture - Understand the system design
  3. Contributing Guide - How to contribute

For Operators

  1. Operator Manual - Complete operational guide
  2. Configuration Guide - System configuration
  3. Simulation Mode - Practice without hardware

🎊 Congratulations! You now have a working Hyperloop UPV Control Station. Welcome to the team! 🚄

Clone this wiki locally