title: Modules sidebar: auto
Galvanic Isolator — Project overview
This repository contains firmware and drivers for the Galvanic Isolator project: a microcontroller-based system that isolates and controls power/torque delivery while providing telemetry and diagnostics over CAN and UART.
Goals
- Provide safe, deterministic control of power/torque to the wheels.
- Offer robust telemetry and diagnostics for integration with vehicle controllers and test rigs.
- Keep platform-specific drivers in
Drivers/and application logic inCore/for clarity and reuse.
High-level architecture
- Boot & startup: vector table and startup code (startup_stm32l562xx.s) boot the MCU and start the scheduler.
- Drivers: hardware abstraction and peripheral drivers are under
Drivers/(HAL wrappers, CAN, UART, generic FSM driver). - Core application:
Core/contains headers and sources for tasks, communication, data processing, and the board FSM. - Build: CMake-based build with toolchain files in
cmake/and presets inCMakePresets.json.
Primary modules
- Communication — CAN and UART transport, framing and message handling. See Communication docs.
- Data Processing — Filtering, scaling and mapping control values to actuator percentages. See Data Processing docs.
- FSM — Board finite-state machine for mode management and safety transitions. See FSM docs.
For a simple navigation hub to these pages, see docs/modules/index.md.
Building and testing (brief)
- Install an Arm GCC toolchain and Ninja/CMake.
- Configure with CMake presets or a command similar to:
bash
cmake --preset debug
cmake --build --preset debug- Use
build/output for flashing and testing with your usual tools.
Contributing and documentation
- Preferred docs location: module-specific markdown files live next to implementation (examples above).
- To add docs: update the appropriate file and, if needed, add a short note in
docs/modules/index.md.
