Coverage for core / src / sensorkit / cli / device.py: 0%

22 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-09-02 00:03 +0000

1# SPDX-License-Identifier: Apache-2.0 

2import asyncclick as click 

3 

4from sensorkit.cli.utils import entity_option, with_kit 

5 

6 

7@click.group("device") 

8async def device_group(): 

9 """Device management commands.""" 

10 

11@device_group.command("connect") 

12@entity_option(required=True) 

13@with_kit 

14async def connect_device(kit, entity: str): 

15 """Connect to a device.""" 

16 from sensorkit.std import Connect 

17 

18 await kit.device(entity).command(Connect()) 

19 

20@device_group.command("disconnect") 

21@entity_option(required=True) 

22@with_kit 

23async def disconnect_device(kit, entity: str): 

24 """Disconnect from a device.""" 

25 from sensorkit.std import Disconnect 

26 

27 await kit.device(entity).command(Disconnect()) 

28 

29@device_group.command("abort") 

30@entity_option(required=True) 

31@with_kit 

32async def stop_device(kit, entity: str): 

33 """Abort any in-progress motion on a device.""" 

34 from sensorkit.std import Stop 

35 

36 await kit.device(entity).command(Stop()) 

37 

38