Coverage for src / bluetooth_sig / gatt / characteristics / audio_location.py: 100%

35 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-03 16:41 +0000

1"""Audio Location characteristic (0x2B81).""" 

2 

3from __future__ import annotations 

4 

5from enum import IntFlag 

6 

7from .base import BaseCharacteristic 

8from .templates import FlagTemplate 

9 

10 

11class AudioLocation(IntFlag): 

12 """Audio location flags.""" 

13 

14 FRONT_LEFT = 0x00000001 

15 FRONT_RIGHT = 0x00000002 

16 FRONT_CENTER = 0x00000004 

17 LOW_FREQUENCY_EFFECTS_1 = 0x00000008 

18 BACK_LEFT = 0x00000010 

19 BACK_RIGHT = 0x00000020 

20 FRONT_LEFT_OF_CENTER = 0x00000040 

21 FRONT_RIGHT_OF_CENTER = 0x00000080 

22 BACK_CENTER = 0x00000100 

23 LOW_FREQUENCY_EFFECTS_2 = 0x00000200 

24 SIDE_LEFT = 0x00000400 

25 SIDE_RIGHT = 0x00000800 

26 TOP_FRONT_LEFT = 0x00001000 

27 TOP_FRONT_RIGHT = 0x00002000 

28 TOP_FRONT_CENTER = 0x00004000 

29 TOP_CENTER = 0x00008000 

30 TOP_BACK_LEFT = 0x00010000 

31 TOP_BACK_RIGHT = 0x00020000 

32 TOP_SIDE_LEFT = 0x00040000 

33 TOP_SIDE_RIGHT = 0x00080000 

34 TOP_BACK_CENTER = 0x00100000 

35 BOTTOM_FRONT_CENTER = 0x00200000 

36 BOTTOM_FRONT_LEFT = 0x00400000 

37 BOTTOM_FRONT_RIGHT = 0x00800000 

38 FRONT_LEFT_WIDE = 0x01000000 

39 FRONT_RIGHT_WIDE = 0x02000000 

40 LEFT_SURROUND = 0x04000000 

41 RIGHT_SURROUND = 0x08000000 

42 

43 

44class AudioLocationCharacteristic(BaseCharacteristic[AudioLocation]): 

45 """Audio Location characteristic (0x2B81). 

46 

47 org.bluetooth.characteristic.audio_location 

48 

49 Bitfield indicating the audio location channels. 

50 """ 

51 

52 _template = FlagTemplate.uint32(AudioLocation)