Bluetooth+Types.swift
5.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
//
// Bluetooth+Types.swift
// Twear
//
// Created by yangbin on 2021/12/6.
//
import CoreFoundation
struct ScanDevice {
var peripheral: CBPeripheral
var mac: String
init(_ peripheral: CBPeripheral, mac: String) {
self.peripheral = peripheral
self.mac = mac
}
}
//jtd! 还需要校对
public struct BLEConfig {
// 新
static let ServerUUID = "0000FFF0-0000-1000-8000-00805F9B34FB" //主服务UUID
static let ReadUUID = "0000FFF3-0000-1000-8000-00805F9B34FB" //读取数据特征值
static let WriteUUID = "0000FFF2-0000-1000-8000-00805F9B34FB" //写入数据特征值
// 0000FFF4-0000-1000-8000-00805F9B34FB // 转换特征值
// 旧
// static let ServerUUID = "C3E6FEA0-E966-1000-8000-BE99C223DF6A" //主服务UUID
// static let ReadUUID = "C3E6FEA2-E966-1000-8000-BE99C223DF6A" //读取数据特征值
// static let WriteUUID = "C3E6FEA1-E966-1000-8000-BE99C223DF6A" //写入数据特征值
static let MTKBasServerUUID = "0000180F-0000-1000-8000-00805F9B34FB" //mtk2502 Bas主服务UUID
static let MTKBasReadUUID = "00002A19-0000-1000-8000-00805F9B34FB" //mtk2502 Bas读取数据特征值
static let MTKBasWriteUUID = "00002A19-0000-1000-8000-00805F9B34FB" //mtk2502 Bas写入数据特征值
static let MTKServerUUID = "000018AA-0000-1000-8000-00805F9B34FB" //mtk2502主服务UUID
static let MTKReadUUID = "00002AAA-0000-1000-8000-00805F9B34FB" //mtk2502读取数据特征值
static let MTKWriteUUID = "00002AAA-0000-1000-8000-00805F9B34FB" //mtk2502写入数据特征值
static let MTKDialServerUUID = "0000180D-0000-1000-8000-00805F9B34FB" //mtk2502 Dial主服务UUID
static let MTKDialReadUUID = "00002A37-0000-1000-8000-00805F9B34FB" //mtk2502 Dial读取数据特征值
static let MTKDialWriteUUID = "00002A37-0000-1000-8000-00805F9B34FB" //mtk2502 Dial写入数据特征值
static let SyncHealthTimer = "SyncHealthDataTimer"
}
enum DistanceUnit: UInt8 {
case meter = 1
case foot = 0
}
enum TemperatureUnit: UInt8 {
case celsius = 0
case fahrenheit = 1
}
enum TimeFormat: UInt8 {
case hour_12 = 0
case hour_24 = 1
}
enum BleCmd: UInt8 {
case firmware = 0x01
case set = 0x02
case device = 0x04
case weather = 0x03
case find = 0x05
case remind = 0x06
case sync = 0x0A
}
enum SetCmd: UInt8 {
case unit = 0x01
case firmware = 0x12
case firmware_return = 0x13
case time = 0x20
case alarmClock = 0x21
case user = 0x23
case sedentary = 0x25
case menstrual = 0x26
case language = 0x27
case drink = 0x28
case push = 0x29
case dial = 0x2B
case setting = 0x2E
case weather = 0x30
case contact = 0x32
case card = 0x33
case contact1 = 0x34
case contact2 = 0x35
case contact3 = 0x36
case custom = 0x37
case pay = 0x38
case battery = 0x40 // device-battery set-contact4
case battery_return = 0x41
case openCamera = 0x46
case takePicture = 0x47
case exitCamera = 0x48
case wrist = 0x4A
case autoMeasure = 0x4B
case find_device = 0x50
case find_phone_start = 0x51
case find_phone_stop = 0x52
case disturb = 0x64
case sync = 0xA0
case set_return = 0x2F
}
enum NewCmd: UInt8 {
case response = 0x01
case queryDeviceInfo = 0x02
// case ota = 0x07
case setTime = 0x09
case setTimeFormat = 0x10
case setTemperatureUnit = 0x11
case setDistanceUnit = 0x12
case setWristSense = 0x13
case setTouchSense = 0x14
case setLowPowerRemind = 0x15
case setLanguage = 0x16
case setRestore = 0x17
case setHeartRateHighRemind = 0x90// deprecated
case setHeartRateLowRemind = 0x91// deprecated
case setRestHeartRateRemind = 0x18
case setExerciseHeartRateRemind = 0x19
case setFindWatch = 0x0020
// case setMessage = 0x0021
// case setPhoneCall = 0x0022
// 0x0023
case setPressureAutoDetect = 0x0024
case setBloodOxygenAutoDetect = 0x0025
case setUserInfo = 0x0026
case setNoDisturb = 0x0027
case setSynWatch = 0x0028
case setBeiDouContact = 0x0029
case setBeiDouQuickAnswer = 0x0030
case setWeather = 0x0031
case setHeartRateDetectInterval = 0x0032
case setBloodOxygenLowRemind = 0x0034
}
enum SyncCmd: UInt8 {
case sleep = 0xA2
case step = 0xA3
case hr = 0xA4
case train = 0xA5
case bp = 0xAD
case bo = 0xAE
case pressure = 0xB8
case mett = 0xB9
case hr_rt = 0xAB
case bp_rt = 0xB1
case bo_rt = 0xB2
case step_rt = 0xAC
case other = 0x00
}
enum SyncType: UInt8 {
case all = 0x00
case heartRate = 0x01
case bloodOxygen = 0x02
case step = 0x03
case temperature = 0x04
case pressure = 0x05
case sleep = 0x06
case train = 0x07
// case 0x08
case battery = 0x09
case gps = 0x0A
case other = 0xff
}
enum SyncOption: UInt8 {
case now = 0x01
case history = 0x02
}
enum SyncDay: Int {
case today = 0
case yesterday = -1
case dayBeforYesterday = -2
}
//enum DeviceCmd: UInt8 {
// case openCamera = 0x46
// case exitCamera = 0x48
//}
// 0x01 设备ID
// 0x02 设备名称
// 0x03 设备mac地址
// 0x04 MCU版本号
// 0x05 电量
enum deviceInfoType: UInt8 {
case deviceId = 0x01
case deviceName = 0x02
case deviceMac = 0x03
case mcuVersion = 0x04
case battery = 0x05
}
enum WeekFlag: UInt8 {
case sunday = 0
case monday = 1
case tuesday = 2
case wednesday = 3
case thursday = 4
case friday = 5
case saturday = 6
}