Coverage for src/main/python/water_sensor.py : 100%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from sensor_adc import SensorADC
4class WaterSensor(SensorADC):
6 """WaterSensor, measures amount of water in a bowl"""
8 def __init__(self, pin_num, range_min=0, range_max=4000, average_converging_speed=1 / 2, capacity=0.5):
10 """ constructor.
11 :param pin_num: number pin that will read value, it has to be ADC, analog to digital converter
12 :param range_min: min value of sensor (empty),
13 :param range_max: max value of sensor (full),
14 :param average_converging_speed: speed the average goes towards the last measure (range 0-1)
15 :param capacity: liters contained in the bowl full """
16 super().__init__(pin_num, range_min, range_max, average_converging_speed)
17 self.capacity = capacity
19 def __str__(self):
20 """prints the object."""
21 return "WaterSensor: average: {}, last measure {}, percentage: {}, liters: {}".format(self.get_average(),
22 self.get_last_measure(),
23 self.get_percentage(),
24 self.get_liters())
26 def get_percentage(self):
27 """actual percentage of water in the bowl."""
28 return super().get_percentage()
30 def get_liters(self):
31 """actual liters in the bowl."""
32 return self.get_percentage() * self.capacity