Switch from mypy to pyright
This commit is contained in:
parent
7b26d3a160
commit
cc0c978f0c
12 changed files with 1000 additions and 17 deletions
222
typings/sense_hat/colour.pyi
Normal file
222
typings/sense_hat/colour.pyi
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
"""
|
||||
This type stub file was generated by pyright.
|
||||
"""
|
||||
|
||||
"""
|
||||
Python library for the TCS3472x and TCS340x Color Sensors
|
||||
Documentation (including datasheet): https://ams.com/tcs34725#tab/documents
|
||||
https://ams.com/tcs3400#tab/documents
|
||||
The sense hat for AstroPi on the ISS uses the TCS34725.
|
||||
The sense hat v2 uses the TCS3400 the successor of the TCS34725.
|
||||
The TCS34725 is not available any more. It was discontinued by ams in 2021.
|
||||
"""
|
||||
|
||||
class HardwareInterface:
|
||||
"""
|
||||
`HardwareInterface` is the abstract class that sits between the
|
||||
`ColourSensor` class (providing the TCS34725/TCS3400 sensor API)
|
||||
and the actual hardware. Using this intermediate layer of abstraction,
|
||||
a `ColourSensor` object interacts with the hardware without being
|
||||
aware of how this interaction is implemented.
|
||||
Different subclasses of the `HardwareInterface` class can provide
|
||||
access to the hardware through e.g. I2C, `libiio` and its system
|
||||
files or even a hardware emulator.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def max_value(integration_cycles): # -> Literal[65535]:
|
||||
"""
|
||||
The maximum raw value for the RBGC channels depends on the number
|
||||
of integration cycles.
|
||||
"""
|
||||
...
|
||||
def get_enabled(self):
|
||||
"""
|
||||
Return True if the sensor is enabled and False otherwise
|
||||
"""
|
||||
...
|
||||
def set_enabled(self, status):
|
||||
"""
|
||||
Enable or disable the sensor, depending on the boolean `status` flag
|
||||
"""
|
||||
...
|
||||
def get_gain(self):
|
||||
"""
|
||||
Return the current value of the sensor gain.
|
||||
See GAIN_VALUES for the set of possible values.
|
||||
"""
|
||||
...
|
||||
def set_gain(self, gain):
|
||||
"""
|
||||
Set the value for the sensor `gain`.
|
||||
See GAIN_VALUES for the set of possible values.
|
||||
"""
|
||||
...
|
||||
def get_integration_cycles(self):
|
||||
"""
|
||||
Return the current number of integration_cycles (1-256).
|
||||
It takes `integration_cycles` * CLOCK_STEP to obtain a new
|
||||
sensor reading.
|
||||
"""
|
||||
...
|
||||
def set_integration_cycles(self, integration_cycles):
|
||||
"""
|
||||
Set the current number of integration_cycles (1-256).
|
||||
It takes `integration_cycles` * CLOCK_STEP to obtain a new
|
||||
sensor reading.
|
||||
"""
|
||||
...
|
||||
def get_raw(self):
|
||||
"""
|
||||
Return a tuple containing the raw values of the RGBC channels.
|
||||
The maximum for these raw values depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
def get_red(self):
|
||||
"""
|
||||
Return the raw value of the R (red) channel.
|
||||
The maximum for this raw value depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
def get_green(self):
|
||||
"""
|
||||
Return the raw value of the G (green) channel.
|
||||
The maximum for this raw value depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
def get_blue(self):
|
||||
"""
|
||||
Return the raw value of the B (blue) channel.
|
||||
The maximum for this raw value depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
def get_clear(self):
|
||||
"""
|
||||
Return the raw value of the C (clear light) channel.
|
||||
The maximum for this raw value depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
|
||||
class I2C(HardwareInterface):
|
||||
"""
|
||||
An implementation of the `HardwareInterface` for the TCS34725/TCS3400
|
||||
sensor that uses I2C to control the sensor and retrieve measurements.
|
||||
Use the datasheets as a reference.
|
||||
"""
|
||||
|
||||
BUS = ...
|
||||
ENABLE = ...
|
||||
ATIME = ...
|
||||
CONTROL = ...
|
||||
ID = ...
|
||||
STATUS = ...
|
||||
CDATA = ...
|
||||
RDATA = ...
|
||||
GDATA = ...
|
||||
BDATA = ...
|
||||
OFF = ...
|
||||
PON = ...
|
||||
AEN = ...
|
||||
ON = ...
|
||||
AVALID = ...
|
||||
GAIN_REG_VALUES = ...
|
||||
ADDR = ...
|
||||
GAIN_VALUES = ...
|
||||
CLOCK_STEP = ...
|
||||
GAIN_TO_REG = ...
|
||||
REG_TO_GAIN = ...
|
||||
def __init__(self) -> None: ...
|
||||
@staticmethod
|
||||
def i2c_enabled(): # -> bool:
|
||||
"""Returns True if I2C is enabled or False otherwise."""
|
||||
...
|
||||
def get_enabled(self):
|
||||
"""
|
||||
Return True if the sensor is enabled and False otherwise
|
||||
"""
|
||||
...
|
||||
def set_enabled(self, status): # -> None:
|
||||
"""
|
||||
Enable or disable the sensor, depending on the boolean `status` flag
|
||||
"""
|
||||
...
|
||||
def get_gain(self): # -> Literal[1, 4, 16, 60, 64]:
|
||||
"""
|
||||
Return the current value of the sensor gain.
|
||||
See GAIN_VALUES for the set of possible values.
|
||||
"""
|
||||
...
|
||||
def set_gain(self, gain): # -> None:
|
||||
"""
|
||||
Set the value for the sensor `gain`.
|
||||
See GAIN_VALUES for the set of possible values.
|
||||
"""
|
||||
...
|
||||
def get_integration_cycles(self):
|
||||
"""
|
||||
Return the current number of integration_cycles (1-256).
|
||||
It takes `integration_cycles` * CLOCK_STEP to obtain a new
|
||||
sensor reading.
|
||||
"""
|
||||
...
|
||||
def set_integration_cycles(self, integration_cycles): # -> None:
|
||||
"""
|
||||
Set the current number of integration_cycles (1-256).
|
||||
It takes `integration_cycles` * CLOCK_STEP to obtain a new
|
||||
sensor reading.
|
||||
"""
|
||||
...
|
||||
def get_raw(self): # -> tuple[Any, Any, Any, Any]:
|
||||
"""
|
||||
Return a tuple containing the raw values of the RGBC channels.
|
||||
The maximum for these raw values depends on the number of
|
||||
integration cycles and can be computed using `max_value`.
|
||||
"""
|
||||
...
|
||||
get_red = ...
|
||||
get_green = ...
|
||||
get_blue = ...
|
||||
get_clear = ...
|
||||
|
||||
class ColourSensor:
|
||||
def __init__(self, gain=..., integration_cycles=..., interface=...) -> None: ...
|
||||
@property
|
||||
def enabled(self): ...
|
||||
@enabled.setter
|
||||
def enabled(self, status): ...
|
||||
@property
|
||||
def gain(self): ...
|
||||
@gain.setter
|
||||
def gain(self, gain): ...
|
||||
@property
|
||||
def integration_cycles(self): ...
|
||||
@integration_cycles.setter
|
||||
def integration_cycles(self, integration_cycles): ...
|
||||
@property
|
||||
def integration_time(self): ...
|
||||
@property
|
||||
def max_raw(self): ...
|
||||
@property
|
||||
def colour_raw(self): ...
|
||||
|
||||
color_raw = ...
|
||||
red_raw = ...
|
||||
green_raw = ...
|
||||
blue_raw = ...
|
||||
clear_raw = ...
|
||||
brightness = ...
|
||||
@property
|
||||
def colour(self): ...
|
||||
@property
|
||||
def rgb(self): ...
|
||||
|
||||
color = ...
|
||||
red = ...
|
||||
green = ...
|
||||
blue = ...
|
||||
clear = ...
|
||||
Reference in a new issue