path:
/src/bluetoothAACPCommands.go
2.78 KB | plain
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
package main
import (
"git.zaphyra.eu/airpodsctl/types"
)
var AACPHandshakePacket = []byte{0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
var AACPRequestNotificationPacket = []byte{0x04, 0x00, 0x04, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0xFE, 0xFF}
var AACPControlCommandPacket = []byte{0x04, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
var AACPControlCommandListeningMode = map[types.ANCMode]byte{
types.ANCModeOff: 0x01,
types.ANCModeOn: 0x02,
types.ANCModeTransparency: 0x03,
types.ANCModeAdaptive: 0x04,
}
var AACPControlCommandBool = map[bool]byte{
true: 0x01,
false: 0x02,
}
var AACPControlCommand = map[string]byte{
"MicMode": 0x01, // ??
"ButtonSendMode": 0x05, // ??
"VoiceTriggerSiri": 0x12, // ??
"SingleClickMode": 0x14, // ??
"DoubleClickMode": 0x15, // ??
"ClickHoldMode": 0x16, // two values, First byte = right bud, Second byte = left bud: 0x01 = Noise control 0x05 = Siri
"DoubleClickInterval": 0x17, // single value: 0x00 = Default, 0x01 = Slower, 0x02 = Slowest
"ClickHoldInterval": 0x18, // single value: 0x00 = Default, 0x01 = Slower, 0x02 = Slowest
"ListeningModeConfigs": 0x1A, // single value: bitwise OR of the selected modes. Off mode = 0x01, ANC=0x02, Transparency = 0x04, Adaptive = 0x08
"OneBudANCMode": 0x1B, // single value: 0x01 = enabled, 0x02 = disabled
"CrownRotationDirection": 0x1C, // single value: 0x01 = reversed, 0x02 = default
"ListeningMode": 0x0D, // single value: 0x01 = Off, 0x02 = ANC, 0x03 = Transparency, 0x04 = Adaptive
"AutoAnswerMode": 0x1E, // ??
"ChimeVolume": 0x1F, // single value: 0 -> 100
"VolumeSwipeInterval": 0x23, // single value: 0x00 = Default, 0x01 = Longer, 0x02 = Longest
"CallManagementConfig": 0x24, // ??
"VolumeSwipeConfig": 0x25, // single value: 0x01 = enabled, 0x02 = disabled
"AdaptiveVolumeConfig": 0x26, // single value: 0x01 = enabled, 0x02 = disabled
"SoftwareMuteConfig": 0x27, // ??
"ConversationDetectConfig": 0x28, // single value: 0x01 = enabled, 0x02 = disabled
"SSL": 0x29, // ??
"HearingAidEnrolledEnabled": 0x2C, // two values, First byte - enrolled, Second byte = enabled): 0x01 = enabled, 0x02 = disabled
"AutoANCStrength": 0x2E, // single value: 0 -> 100
"HPSGainSwipe": 0x2F, // ??
"HRMState": 0x30, // ??
"InCaseToneConfig": 0x31, // single value: 0x01 = enabled, 0x02 = disabled
"SiriMultitoneConfig": 0x32, // ??
"HearingAssistConfig": 0x33, // single value: 0x01 = enabled, 0x02 = disabled
"AllowANCOffConfig": 0x34, // single value: 0x01 = enabled, 0x02 = disabled
}