Skip to content
Latisha edited this page Jan 10, 2026 · 3 revisions

LibDC-Swift

A modern Swift wrapper for libdivecomputer that enables communication with dive computers via Bluetooth Low Energy (BLE).

Overview

LibDC-Swift provides:

  • BLE Communication - Wireless dive computer connectivity
  • Data Parsing - Extract dive profiles, tank info, and sensor data
  • Cross-Platform - macOS, iOS, visionOS support
  • Device Fingerprinting - Download only new dives
  • Real-Time Progress - Track download status with live activities

Quick Links

Key Features

Dive Data Extraction

  • Depth profile (time-weighted average depth)
  • Temperature (min/max/surface)
  • Tank pressure and gas mixes
  • Decompression data (stops, NDL, TTS)
  • Sensor data (PPO2, CNS, heart rate)
  • GPS location (if available)

BLE Transport

  • Packet-boundary preservation for SLIP framing
  • Compatible with all BLE dive computers in libdivecomputer
  • Automatic connection management

Smart Downloads

  • Fingerprint-based incremental downloads
  • Only fetch new dives since last sync
  • Persistent fingerprint storage

Requirements

  • macOS: 12.0+
  • iOS: 15.0+
  • visionOS: 1.0+
  • Xcode: 15.0+
  • Swift: 5.9+

License

GNU Lesser General Public License v2.1 (LGPL-2.1)

Clone this wiki locally