Coverage for src / bluetooth_sig / types / acs.py: 100%

14 statements  

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

1"""Authorization Control Service shared data types.""" 

2 

3from __future__ import annotations 

4 

5import msgspec 

6 

7MAX_ROLLING_SEGMENT_COUNTER = 0x3F 

8 

9 

10class ACSSegmentationHeader(msgspec.Struct, frozen=True, kw_only=True): 

11 """Segmentation header for ACS segmented values.""" 

12 

13 first_segment: bool 

14 last_segment: bool 

15 rolling_segment_counter: int 

16 

17 

18class ACSDataPacket(msgspec.Struct, frozen=True, kw_only=True): 

19 """Segmented ACS payload container.""" 

20 

21 header: ACSSegmentationHeader 

22 payload: bytes 

23 

24 

25class ACSControlPointData(msgspec.Struct, frozen=True, kw_only=True): 

26 """Parsed data from ACS Control Point characteristic.""" 

27 

28 header: ACSSegmentationHeader 

29 opcode: int 

30 operand: bytes = b""