SensorContext.swift

Purpose

SensorContext.swift defines a simple container for managing the relationship between a MetaWear sensor device and its corresponding manager. This facilitates coordination between the sensor and control logic within the sensor fusion subsystem of the HealthyWear app.


Imports

import Foundation
import MetaWear
  • Foundation: Required for class structures and memory management.

  • MetaWear: Core SDK used for BLE device representation and communication.


Class: SensorContext

class SensorContext {
    weak var manager: SensorFusionManager?
    var device: MetaWear

    init(manager: SensorFusionManager, device: MetaWear) {
        self.manager = manager
        self.device = device
    }
}

Properties

  • manager (SensorFusionManager?): A weak reference to the controller managing sensor fusion operations. The weak qualifier avoids retain cycles.

  • device (MetaWear): The BLE-connected wearable device instance.

Initializer

The initializer binds the MetaWear device with the SensorFusionManager:

init(manager: SensorFusionManager, device: MetaWear)

Comments on the Commented Block

// let handler: MetaWearHandler
// let hand: String

This appears to be a previously used or alternate design that stored additional metadata (hand) and used a broader MetaWearHandler instead of a specialized SensorFusionManager.


Usage

SensorContext objects are expected to be used:

  • In sensor lifecycle tracking.

  • To associate multiple MetaWear devices with their managers.

  • During sensor fusion session setup or teardown.