StatusUpdateData.swift
Purpose
StatusUpdateData.swift defines runtime tracking models used by StatusUpdateManager.swift to monitor the latest timestamps for data updates from MetaWear and Sensoria sensors in the HealthyWear iOS system.
Struct: StatusUpdateMetaWearData
Tracks timestamps for:
Sensor Fusion (IMU & orientation)
Temperature
Ambient Light
File write operations
Properties
var lastDataTimestampSensorFusion = [Int?](repeating: nil, count: 3)
var lastDataTimestampTemperature = [Int?](repeating: nil, count: 3)
var lastDataTimestampAmbientLight = [Int?](repeating: nil, count: 3)
var lastMetaWearWriteToFileTimestamps: Int?
Each array holds values per device index, supporting up to 3 MetaWear devices in parallel.
Method: toJson(deviceIndex:)
func toJson(deviceIndex: Int) -> String
Retrieves the most recent timestamps for the selected device index.
Returns a JSON string using
StatusUpdateManager.serializeToJson(...).
Example Output:
{
"lastDataTimestampSensorFusion": 1720493520000,
"lastDataTimestampTemperature": 1720493520030,
"lastDataTimestampAmbientLight": 1720493520065,
"lastDataWriteToTimestamp": "1720493530000"
}
Struct: StatusUpdatSensoriaData
Tracks:
Core sensor data timestamp (pressure + IMU)
File write timestamp
Properties
var lastDataTimestampCore = [Int?](repeating: nil, count: 3)
var lastSensoriaWriteToFileTimestamps: Int?
Method: toJson(deviceIndex:)
Same JSON serialization logic tailored for Sensoria smart garments:
{
"lastDataTimestampSensoriaCore": 1720493600000,
"lastDataWriteTimestampSensoria": "1720493610000"
}
Integration
These structs are consumed by:
StatusUpdateManagerto serialize current device status for Flutter.Background logic that validates whether sensors are still transmitting.
UI widgets that display “last seen” times or connection health.