Newer Older
58 lines | 2.301kb
Bogdan Timofte authored 2 weeks ago
1
//
2
//  LiveView.swift
3
//  USB Meter
4
//
5
//  Created by Bogdan Timofte on 09/03/2020.
6
//  Copyright © 2020 Bogdan Timofte. All rights reserved.
7
//
8

            
9
import SwiftUI
10

            
11
struct LiveView: View {
12

            
13
    @EnvironmentObject private var meter: Meter
14

            
15
    var body: some View {
16
        VStack {
17
            Text("Live Data")
18
                .font(.headline)
19
            HStack {
20
                VStack (alignment: .leading) {
21
                    Text("Voltage:")
22
                    Text("Current:")
23
                    Text("Power:")
24
                    Text("Load")
25
                    Text("Temperature:")
26
                    Text("")
27
                    Text("USB Data+:")
28
                    Text("USB Data-:")
29
                    Text("Charger:")
30
                }
31
                VStack (alignment: .trailing) {
32
                    HStack {
33
                        Text("\(meter.measurements.voltage.context.minValue.format(decimalDigits: 3))V")
34
                        Text("\(meter.voltage.format(decimalDigits: 3))V")
35
                        Text("\(meter.measurements.voltage.context.maxValue.format(decimalDigits: 3))V")
36
                    }
37
                    HStack {
38
                        Text("\(meter.measurements.current.context.minValue.format(decimalDigits: 3))A")
39
                        Text("\(meter.current.format(decimalDigits: 3))A")
40
                        Text("\(meter.measurements.current.context.maxValue.format(decimalDigits: 3))A")
41
                    }
42
                    HStack {
43
                        Text("\(meter.measurements.power.context.minValue.format(decimalDigits: 3))W")
44
                        Text("\(meter.power.format(decimalDigits: 3))W")
45
                        Text("\(meter.measurements.power.context.maxValue.format(decimalDigits: 3))W")
46
                    }
47
                    Text("\(meter.loadResistance.format(decimalDigits: 1))Ω")
48
                    Text("\(meter.temperatureCelsius)℃")
49
                    Text("\(meter.temperatureFahrenheit)℉")
50
                    Text("\(meter.usbPlusVoltage.format(decimalDigits: 2))V")
51
                    Text("\(meter.usbMinusVoltage.format(decimalDigits: 2))V")
52
                    Text("\(meter.chargerTypeIndex)")
53
                }
54
            }
55
            .font(.footnote)
56
        }
57
    }
58
}