f2cf74c7
yangbin
1.0.20(4)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//
// 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
}
}
|
920e260e
daifengyi
feat:data package
|
25
|
//jtd! 还需要校对
|
f2cf74c7
yangbin
1.0.20(4)
|
26
|
public struct BLEConfig {
|
920e260e
daifengyi
feat:data package
|
27
28
29
30
31
32
|
// 新
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 // 转换特征值
|
f2cf74c7
yangbin
1.0.20(4)
|
33
|
|
920e260e
daifengyi
feat:data package
|
34
35
36
37
|
// 旧
// 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" //写入数据特征值
|
f2cf74c7
yangbin
1.0.20(4)
|
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
|
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 foot = 1
case meter = 0
}
enum TemperatureUnit: UInt8 {
case celsius = 0
case fahrenheit = 1
}
enum TimeFormat: UInt8 {
|
2b8a1881
daifengyi
fix:time format e...
|
66
67
|
case hour_24 = 0
case hour_12 = 1
|
f2cf74c7
yangbin
1.0.20(4)
|
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
|
}
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
}
|
920e260e
daifengyi
feat:data package
|
117
|
enum NewCmd: UInt8 {
|
3cba738e
daifengyi
feat:response
|
118
|
case response = 0x01
|
079b41b8
daifengyi
feat:query device...
|
119
|
case queryDeviceInfo = 0x02
|
37775d8e
daifengyi
feat:add cmd
|
120
|
// case ota = 0x07
|
920e260e
daifengyi
feat:data package
|
121
|
case setTime = 0x09
|
6102d0b3
daifengyi
feat:time format
|
122
|
case setTimeFormat = 0x10
|
50eee3a1
daifengyi
feat:temperature ...
|
123
124
|
case setTemperatureUnit = 0x11
case setDistanceUnit = 0x12
|
2db3eb12
daifengyi
feat:wrist sense
|
125
|
case setWristSense = 0x13
|
5f08af0b
daifengyi
feat:touch sense
|
126
|
case setTouchSense = 0x14
|
e817a7d0
daifengyi
feat:low power re...
|
127
|
case setLowPowerRemind = 0x15
|
07a5f009
daifengyi
feat:language
|
128
|
case setLanguage = 0x16
|
829c07bb
daifengyi
feat:restore, hr ...
|
129
130
131
132
|
case setRestore = 0x17
case setHeartRateHighRemind = 0x18
case setHeartRateLowRemind = 0x19
case setFindWatch = 0x0020
|
d8efb388
daifengyi
feat: pressure ox...
|
133
|
// case setMessage = 0x0021
|
829c07bb
daifengyi
feat:restore, hr ...
|
134
|
// case setPhoneCall = 0x0022
|
d8efb388
daifengyi
feat: pressure ox...
|
135
136
|
// 0x0023
case setPressureAutoDetect = 0x0024
|
829c07bb
daifengyi
feat:restore, hr ...
|
137
|
case setbloodOxygenAutoDetect = 0x0025
|
829c07bb
daifengyi
feat:restore, hr ...
|
138
139
|
case setUserInfo = 0x0026
case setNoDisturb = 0x0027
|
92b5af79
daifengyi
feat:synchronize 0
|
140
|
case setSynWatch = 0x0028
|
b05829d0
jason
feat:set weather
|
141
|
case setWeather = 0x0031
|
1605ea7d
daifengyi
feat:camera
|
142
|
//jtd!
|
92b5af79
daifengyi
feat:synchronize 0
|
143
144
|
// case setBeiDouContact = 0x0029
// case setBeiDouQuickAnswer = 0x0030
|
6102d0b3
daifengyi
feat:time format
|
145
|
|
920e260e
daifengyi
feat:data package
|
146
147
|
}
|
f2cf74c7
yangbin
1.0.20(4)
|
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
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 {
|
92b5af79
daifengyi
feat:synchronize 0
|
165
166
167
|
case all = 0x00
case heartRate = 0x01
case bloodOxygen = 0x02
|
f2cf74c7
yangbin
1.0.20(4)
|
168
|
case step = 0x03
|
92b5af79
daifengyi
feat:synchronize 0
|
169
170
171
172
173
|
case temperature = 0x04
case pressure = 0x05
case sleep = 0x06
case train = 0x07
case other = 0xff
|
f2cf74c7
yangbin
1.0.20(4)
|
174
175
176
177
178
179
180
181
182
183
184
185
|
}
enum SyncDay: Int {
case today = 0
case yesterday = -1
case dayBeforYesterday = -2
}
//enum DeviceCmd: UInt8 {
// case openCamera = 0x46
// case exitCamera = 0x48
//}
|
5e73db33
daifengyi
feat:parse device...
|
186
187
188
189
190
191
192
193
194
195
196
197
198
|
// 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
}
|
949f38df
daifengyi
feat:not disturb
|
199
200
201
202
203
204
205
206
207
208
|
enum WeekFlag: UInt8 {
case sunday = 0
case monday = 1
case tuesday = 2
case wednesday = 3
case thursday = 4
case friday = 5
case saturday = 6
}
|