Coverage for /Users/fmorton/GitHub/BirdBrain-Python-Library-2/src/birdbrain_hummingbird.py: 98%

43 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-12 11:24 -0400

1from birdbrain_hummingbird_input import BirdbrainHummingbirdInput 

2from birdbrain_hummingbird_output import BirdbrainHummingbirdOutput 

3from birdbrain_microbit import BirdbrainMicrobit 

4from birdbrain_microbit_input import BirdbrainMicrobitInput 

5from birdbrain_request import BirdbrainRequest 

6 

7class BirdbrainHummingbird(BirdbrainMicrobit): 

8 """Hummingbird Bit Class includes the control of the outputs and inputs 

9 present on the Hummingbird Bit.""" 

10 

11 def __init__(self, device = 'A', raise_exception_if_no_connection = True): 

12 device_object = BirdbrainHummingbird.connect(device, raise_exception_if_no_connection) 

13 

14 if not self.is_hummingbird(): 

15 raise BirdbrainException("Device " + device + " is not a Hummingbird") 

16 

17 def led(self, port, intensity): 

18 return BirdbrainHummingbirdOutput.led(self.device, port, intensity) 

19 

20 def tri_led(self, port, r_int, g_int, b_int): 

21 return BirdbrainHummingbirdOutput.tri_led(self.device, port, r_int, g_int, b_int) 

22 

23 def position_servo(self, port, angle): 

24 return BirdbrainHummingbirdOutput.position_servo(self.device, port, angle) 

25 

26 def rotation_servo(self, port, speed): 

27 return BirdbrainHummingbirdOutput.rotation_servo(self.device, port, speed) 

28 

29 def sensor(self, port): 

30 return BirdbrainHummingbirdInput.sensor(self.device, port) 

31 

32 def light(self, port): 

33 return BirdbrainHummingbirdInput.light(self.device, port) 

34 

35 def sound(self, port): 

36 return BirdbrainHummingbirdInput.sound(self.device, port) 

37 

38 def distance(self, port): 

39 return BirdbrainHummingbirdInput.distance(self.device, port) 

40 

41 def dial(self, port): 

42 return BirdbrainHummingbirdInput.dial(self.device, port) 

43 

44 def voltage(self, port): 

45 return BirdbrainHummingbirdInput.voltage(self.device, port) 

46 

47 def stop_all(self): 

48 BirdbrainRequest.stop_all(self.device) 

49 

50 getDial = dial 

51 getDistance = distance 

52 setLED = led 

53 getLight = light 

54 setPositionServo = position_servo 

55 setRotationServo = rotation_servo 

56 getSound = sound 

57 getSensor = sensor 

58 stopAll = stop_all 

59 setTriLED = tri_led 

60 getVoltage = voltage