robolab/src/sensor.py

37 lines
994 B
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)
still needs to be tested and implemented
'''
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