Files
digit-depth/digit_depth/digit/digit_sensor.py
2022-12-29 23:08:25 +08:00

38 lines
1.1 KiB
Python

import time
from digit_interface import Digit
from digit_interface.digit import DigitDefaults
class DigitSensor:
def __init__(self, fps: int, resolution: str, serial_num: str):
self.fps = fps
self.resolution = resolution
self.serial_num = serial_num
def __call__(self, *args, **kwargs):
"""Calls the digit sensor."""
digit = self.setup_digit()
return digit
def __str__(self):
return f"DigitSensor(fps={self.fps}, resolution={self.resolution}, serial_num={self.serial_num})"
def setup_digit(self,):
"Sets up the digit sensor and returns it."
digit = Digit(self.serial_num)
digit.connect()
rgb_list = [(15, 0, 0), (0, 15, 0), (0, 0, 15)]
for rgb in rgb_list:
digit.set_intensity_rgb(*rgb)
time.sleep(1)
digit.set_intensity(15)
resolution = DigitDefaults.STREAMS[self.resolution]
digit.set_resolution(resolution)
fps = Digit.STREAMS[self.resolution]["fps"][str(self.fps) + "fps"]
digit.set_fps(fps)
return digit