Advanced Search
Search Results
188 total results found
Backend & Infrastructure
This page covers the core parts of the backend whicih works with Spring Boot. Consider taking a proper look at the SpringBoot's documentation. It is not hard, most of the backend code are basic spring boot elements and concepts https://docs.spring.io/spring-b...
state.svelte.js — Global State
state.svelte.js is the single source of truth for shared reactive state that needs to be accessible across multiple components and routes. Currently it manages the three camera objects. Camera objects Three camera state objects are exported as Svelte 5 $state ...
types.ts — Types
Shared TypeScript types used across the frontend. Sample — represents a single science sample collected by the rover. Contains location name, coordinates, before/after image paths, measurement, weight, and a set of boolean _check flags tracking which fields ha...
routes/+layout.svelte — Navigation Bar
The layout wraps every page in the application. It renders the persistent navigation bar at the top and then the current page's content via {@render children()}. Navigation bar The navbar contains the following controls, always visible regardless of which rout...
Sensor Board
All about the sensor board
Infrastructure
Various services we run
routes/ — Pages
/ — Dashboard (Home) File: routes/+page.svelte The main operator screen. A CSS grid layout combining six components into a single view. Components: Double_Video, Map, NavigationPlan, TaskCompletion, IMU, Model (3D scene). /navigation — Navigation File: routes...
Frontend — Components
Location: src/lib/components/ Components are reusable UI building blocks used across multiple routes. Each is a self-contained Svelte file. They communicate with the backend via Tauri invoke() and receive live rover data via Tauri events listened to with list...
Deployment
1. Docker Compose Services Our docker-compose.yml runs four key services ServiceImage/BuildRolefrontend./frontend/...Nginx server; handles port 80 and proxies /api to the backend.backend./backend/...The Spring Boot REST API.postgrespostgres:15Relational databa...
Overview
What is the base station? The Base Station is the ground control application used to monitor and control the rover during operation. It runs on an operator's laptop and provides a unified interface for live video feeds, navigation, task management, rover arm c...
Logging
Purpose The logging library provides a simple UART-based logging interface for embedded firmware. Its main job is to let the application print formatted log messages such as: [INFO] MOTOR: Initialization complete [WARNING] SENSOR: Value out of range: 8123 [ERR...
Overview
A 480MHz Swiss Army knife of the embedded team☮️ Table of Contents Page 1: Table of Contents & OverviewPage 2: GNSS (GPS) SensorPage 3: pH SensorPage 4: IMU (Inertial Measurement Unit)Page 5: Load Cell SensorPage 6: Pressure SensorPage 7: Sensor Basics Utility...
Result Library
Purpose The result module defines a shared result code system for the codebase. Its job is to give functions a consistent way to report success and failure without inventing random local conventions like: 0 means success here1 means success therenegative value...
Ethernet Driver
The documentation for the embedded Ethernet driver
Getting Started
This page: structure of this subsystem components/driving_board folder contains 4 libraries: firmwaremotorparsersimulink Firmware contains the generated CubeMX code. Don't edit this after generating, it will be rewritten after you generate again. NOTE: do make...
Motor Folder
components/driving_board/motor All of the motor functions in this folder are called in Main BLDC Motors: They are used to control the speed of the rover. bldc.c contains: The set_bldc_pwm() method. This methods scales the control signal value calculated from...
Parser Folder
components/driving_board/parser This page: structure of message encoding in parser.c The encoding logic includes: copy_motor_to_pb(): Copies each motor from internal MotorDiagnostic struct into protobuf MotorInformation. DBMDiagnosticsEncode(): Encode...