ukitai.apis.LedEyes 源代码

from enum import Enum

from ukitai.link import *
from ukitai.common import *
from ukitai.protos import *
from ukitai.apis import *


[文档]class Emotion(Enum): """表情定义 BLINK: 眨眼 SHY: 害羞 TEARS: 热泪盈眶 FLASHING_TEARS: 泪光闪动 CRY: 哭泣 DIZZY: 晕 HAPPY: 开心 SURPRISED: 惊讶 BREATH: 呼吸 FLASH: 闪烁 FAN: 风扇 WIPERS: 雨刮 """ BLINK = 0 SHY = 1 TEARS = 2 FLASHING_TEARS = 3 CRY = 4 DIZZY = 5 HAPPY = 6 SURPRISED = 7 BREATH = 8 FLASH = 9 FAN = 10 WIPERS = 11
[文档]class Scene(Enum): """场景定义 COLORED_LIGHTS: 七彩跑马灯 DISCO: Disco PRIMARY_COLOR: 三原色 COLOR_STACKING: 色彩堆叠 """ COLORED_LIGHTS = 12 DISCO = 13 PRIMARY_COLOR = 14 COLOR_STACKING = 15
[文档]def set_state(*, id: int, enabled: bool, link: uKitAiLink): """打开/关闭眼灯功能 参数值说明: id: 传感器 id enabled: True=开打眼灯功能,False=关闭眼灯功能 link: 设备连接 返回值说明: (ack, response): ack: 接口调用结果,response: 接口返回数据 """ return CommonApi.comp_state(compType=CompType.LED, id=id, enabled=enabled, link=link)
[文档]def show_emotion(*, id: int, emotion: Emotion, color: Color, times: int, link: uKitAiLink): """显示表情控制 参数值说明: id: 传感器 id emotion (Emotion): 表情id color (Color): 颜色值 times (int): 重复次数 link: 设备连接 返回值说明: (ack, response): ack: 接口调用结果,response: 接口返回数据 """ if color: color = (color.color << 8) & 0xFFFFFF00 else: color = 0 times = int(Common.num_normal(times, 0xFFFF, 0)) message = {'expressions_type': emotion.value, 'time': times, 'rgbc': color} pbReq = d8_Led_pb2.d8c1000_led_fix_exp_set_rq() pbRsp = d8_Led_pb2.d8c1000_led_fix_exp_set_ra() return link.sendRequest(CompType.LED, id, 1000, message, pbReq, pbRsp)
[文档]def show_scene(*, id: int, scene: Scene, times: int, link: uKitAiLink): """显示场景效果 参数值说明: id: 传感器 id scene (Scene): 场景id times (int): 重复次数 link: 设备连接 返回值说明: (ack, response): ack: 接口调用结果,response: 接口返回数据 """ times = int(Common.num_normal(times, 0xFFFF, 0)) message = {'expressions_type': scene.value, 'time': times, 'rgbc': 0} pbReq = d8_Led_pb2.d8c1000_led_fix_exp_set_rq() pbRsp = d8_Led_pb2.d8c1000_led_fix_exp_set_ra() return link.sendRequest(CompType.LED, id, 1000, message, pbReq, pbRsp)
[文档]def show_custom_light(*, id: int, colors: list, time: int, link: uKitAiLink): """自定义灯光颜色 参数值说明: id: 传感器 id colors (list): 每一个灯瓣颜色,长度为8 time (int): 亮灯时间 link: 设备连接 返回值说明: (ack, response): ack: 接口调用结果,response: 接口返回数据 """ time = int(Common.num_normal(time, 0xFFFFFFFF, 0)) color_lump = [] for i in range(len(colors)): color_lump.append({'index': 1 << i, 'rgbc': (colors[i].color << 8) & 0xFFFFFF00}) message = {'color_lump': color_lump, 'time': time} pbReq = d8_Led_pb2.d8c1001_led_exp_set_rq() pbRsp = d8_Led_pb2.d8c1001_led_exp_set_ra() return link.sendRequest(CompType.LED, id, 1001, message, pbReq, pbRsp)
[文档]def turn_off(*, id: int, link: uKitAiLink): """关闭灯光 参数值说明: id: 传感器 id link: 设备连接 返回值说明: (ack, response): ack: 接口调用结果,response: 接口返回数据 """ message = {'expressions_type': 0, 'time': 0, 'rgbc': 0} pbReq = d8_Led_pb2.d8c1000_led_fix_exp_set_rq() pbRsp = d8_Led_pb2.d8c1000_led_fix_exp_set_ra() return link.sendRequest(CompType.LED, id, 1000, message, pbReq, pbRsp)