robolab/src/sensor.py

40 lines
1.0 KiB
Python

#!/usr/bin/env python3
import ev3dev.ev3 as ev3
'''
add enum for color definitions (type should be tupel of int's).
later onwards compare the idividual readouts like this to determine the color:
RED = (>90, <40, <25)
BLUE = (<25, >75, >90)
Example:
color = (100, 30, 20)
(color[0] > 90 and (color[1], color[2]) < (40, 25))
'''
class Sensor:
def __init__(self):
self._sensor = ev3.ColorSensor()
self._sensor.mode = 'COL-REFLECT'
def iscolor(self, color):
if(self._sensor.mode == 'RGB-RAW'):
curcol = self._sensor.bin_data("hhh")
if curcol == curcol:
return True
else:
return False
else:
print("ERROR: incorrect sensor mode:", self._sensor.mode)
def getbrightness(self):
if(self._sensor.mode == 'COL-REFLECT'):
return self._sensor.value()
else:
print("ERROR: incorrect sensor mode:", self._sensor.mode)
def setmode(self, newmode):
self._sensor.mode = newmode