def ucan_module_information(): # type: () -> CoreCommandSpec """ Receives information from a uCAN module """ return CoreCommandSpec(instruction='CD', response_fields=[ AddressField('ucan_address', 3), WordArrayField('input_links', 6), ByteArrayField('sensor_links', 2), ByteField('sensor_type'), VersionField('version'), ByteField('bootloader'), CharField('new_indicator'), ByteField('min_led_brightness'), ByteField('max_led_brightness') ])
def execute_basic_action_series(length): # type: (int) -> CoreCommandSpec """ Executes a Basic action on multiple devices """ if not 2 <= length <= 40: raise ValueError('Amount of device numbers should be 2 <= n <= 40') return CoreCommandSpec(instruction='ES', request_fields=[ ByteField('type'), ByteField('action'), WordField('extra_parameter'), WordArrayField('device_nrs', length) ], response_fields=[ ByteField('type'), ByteField('action'), WordField('extra_parameter') ])
def sensor_extra_values(): # type: () -> CoreCommandSpec """ Receive sensor extra values """ return CoreAPI._sensor_values(5, WordArrayField('values', length=8))
def sensor_co2_values(): # type: () -> CoreCommandSpec """ Receive sensor CO2 values """ return CoreAPI._sensor_values(3, WordArrayField('values', length=8))
def sensor_brightness_values(): # type: () -> CoreCommandSpec """ Receive sensor brightness values """ return CoreAPI._sensor_values(2, WordArrayField('values', length=8))