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

15 statements  

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

1"""IDD Status Changed characteristic (0x2B20). 

2 

316-bit bitfield indicating which IDD status fields have changed. 

4 

5References: 

6 Bluetooth SIG Insulin Delivery Service 1.0.1, Table 4.1 

7""" 

8 

9from __future__ import annotations 

10 

11from enum import IntFlag 

12 

13from .base import BaseCharacteristic 

14from .templates import FlagTemplate 

15 

16 

17class IDDStatusChangedFlags(IntFlag): 

18 """IDD Status Changed flags (uint16). 

19 

20 Bits 0-7 defined, bits 8-15 RFU. 

21 """ 

22 

23 THERAPY_CONTROL_STATE_CHANGED = 0x0001 

24 OPERATIONAL_STATE_CHANGED = 0x0002 

25 RESERVOIR_STATUS_CHANGED = 0x0004 

26 ANNUNCIATION_STATUS_CHANGED = 0x0008 

27 TOTAL_DAILY_INSULIN_STATUS_CHANGED = 0x0010 

28 ACTIVE_BASAL_RATE_STATUS_CHANGED = 0x0020 

29 ACTIVE_BOLUS_STATUS_CHANGED = 0x0040 

30 HISTORY_EVENT_RECORDED = 0x0080 

31 

32 

33class IDDStatusChangedCharacteristic(BaseCharacteristic[IDDStatusChangedFlags]): 

34 """IDD Status Changed characteristic (0x2B20). 

35 

36 org.bluetooth.characteristic.idd_status_changed 

37 

38 Bitfield indicating which IDD status fields have changed. 

39 """ 

40 

41 _template = FlagTemplate.uint16(IDDStatusChangedFlags)