ARTTU Formula Student Documentation

website·Indexed 32 days ago

https://docs.cloud.arttu-formulastudent.ro

Technical documentation for the ART26 Formula Student vehicle, covering electrical and software architecture, STM32 development in VS Code, GitHub CI/CD pipelines, and the Agentic Harness architecture for AI agent integration.

Tokens
149.2K
Snippets
445
Records
1.1K
Agent score
50%

What's inside ARTTU Formula Student

  1. Overview of the Galvanic Isolator Communication Module

    The Galvanic Isolator communication module manages all communication subsystems, specifically the CAN bus for vehicle-level integration and UART (RS-232) for the inverter interface. The system is designed for reliability using interrupt-driven hardware interfaces, ring buffers, and deferred processing to ensure efficient data handling.
  2. Overview of the UART communication subsystem for motor inverters

    The UART (serial) communication subsystem is designed for RS-232 style communication with the motor inverter. To ensure efficient, non-blocking data reception, the implementation utilizes Direct Memory Access (DMA) combined with circular buffering and Idle Line detection.
  3. Overview of the CAN communication subsystem for STM32L562

    The vehicle uses a CAN (Controller Area Network) communication subsystem for vehicle-level diagnostics, command distribution, and bootloader integration. It is implemented using the FDCAN (Flexible Data-rate CAN) peripheral on the STM32L562 microcontroller. The system supports standard 11-bit identifiers and utilizes interrupt-driven transmission and reception.
  4. Overview of Ceedling for C Test-Driven Development

    Ceedling is a build system designed for test-driven development (TDD) in C, particularly useful for embedded contexts. It automates the creation and execution of unit tests by integrating three primary open-source tools:

    • Unity: A unit testing framework for C.
    • CMock: A tool used to generate mock objects from C header files.
    • CException: A framework for simple exception handling in C.
  5. Overview of the Telemetry Backend service

    The Backend is a high-throughput Python service acting as the 'Telemetry Middleman' and ground-side counterpart to the car's Telemetry Node. It is responsible for receiving real-time UDP CSV telemetry at the pit wall and fanning it out to Grafana, InfluxDB, and Marple. Additionally, it performs real-time battery and sprint analyses and hosts a control API and interactive pit wall dashboard. The service is deployed as a Docker Compose stack on the pit server, running alongside InfluxDB and Grafana.
  6. Overview of Vehicle Firmware Modules for STM32

    The vehicle firmware consists of several C/C++ repositories running on custom STM32 boards, each responsible for a specific subsystem of the vehicle's operation:

    • CAN-Gateway: Acts as a sensor aggregation board; filters and routes messages between CAN nodes.
    • ECU (Electronic Control Unit): The main control unit managing the primary state machine, torque requests, and safety circuit monitoring.
    • Dashboard: The driver interface using an ILI9488 panel via TouchGFX and FMC to render telemetry, LV diagnostics, and lap timing, while processing driver inputs and publishing CAN control frames.
    • Galvanic-Isolator: Provides electrical separation and safe signal transfer between high-voltage inverters and low-voltage logic.
    • LVSOC-26: Handles State of Charge (SoC) calculations and health monitoring for the Low Voltage battery system via I2C.
    • Telemetry: Aggregates vehicle state data and transmits it via UDP to a cloud server.
    • Charger: Manages the interfacing and control logic for the accumulator charger.
  7. Overview of the Galvanic-Isolator (GI) board

    The Galvanic-Isolator (GI) board serves as a communication gateway that bridges a local RS232 serial device (e.g., motor inverter or controller) to the vehicle's primary CAN bus. It provides full galvanic isolation to protect the low-voltage CAN network from high-noise inverter chassis/logic grounds, preventing ground loops, electromagnetic interference (EMI), and transient overvoltage damage.