Skip to content

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 in Core/ 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 in CMakePresets.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)

  1. Install an Arm GCC toolchain and Ninja/CMake.
  2. Configure with CMake presets or a command similar to:
bash
cmake --preset debug
cmake --build --preset debug
  1. 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.

Released under the MIT License.