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 }