Skip to content
Latisha. edited this page Dec 27, 2024 · 2 revisions

Welcome to LibDC-Swift

LibDC-Swift is a comprehensive Swift framework that bridges iOS and macOS applications with dive computers using Bluetooth Low Energy (BLE). Built on top of libdivecomputer, it provides a modern, Swift-native approach to dive computer communication and data retrieval.

Navigation

Getting Started

Core Topics

Development

Core Features

Device Communication

  • Robust BLE device scanning and connection management
  • Support for multiple dive computer families (Suunto, Shearwater)
  • Efficient data transfer with error recovery

Data Management

  • Comprehensive dive log retrieval and parsing
  • Fingerprint-based incremental updates
  • Detailed dive profile analysis
  • Progress tracking and status reporting

Developer Experience

  • Swift-native APIs
  • Comprehensive error handling
  • Built-in logging system
  • Clear documentation and examples

Recent Updates

Version 1.0.0 (December 2024)

  • Initial public release
  • Support for Suunto EON series and Shearwater dive computers
  • Comprehensive BLE management system
  • Basic dive log retrieval and parsing

Coming Soon

  • Enhanced profile visualization
  • Additional device support
  • Local storage implementation
  • Export functionality

Quick Start

import LibDCSwift

// Initialize BLE Manager
let manager = CoreBluetoothManager.shared
manager.startScanning()

// Connect to device
if let device = manager.discoveredPeripherals.first {
    let success = DeviceConfiguration.openBLEDevice(
        name: device.name ?? "",
        deviceAddress: device.identifier.uuidString
    )
}

Support

For issues, feature requests, or contributions:

License

LibDC-Swift is available under the GNU Lesser General Public License v2.1. See the LICENSE file for more info.