async def calibrate_misty(): """move misty's actuators to extreme positions and record the values""" from misty_py.api import MistyAPI api = MistyAPI() res = {} await api.movement.move_head(0, 0, 0, 50) await api.movement.move_arms(-50, -50, 50, 50) await asyncio.sleep(2) async def _head(*_args, **_kwargs): await api.movement.move_head(*_args, **_kwargs) await asyncio.sleep(3) return (await api.movement.get_actuator_values(normalize=False))[a] for a in Actuator.pitch, Actuator.roll, Actuator.yaw: kwargs = {a.name: 110, 'velocity': 60} pos = await _head(**kwargs) kwargs = {a.name: -110, 'velocity': 60} neg = await _head(**kwargs) zero = await _head(0, 0, 0, 50) res[a] = PosZeroNeg(pos, zero, neg) async def _arms(**_kwargs): await api.movement.move_arms(**_kwargs) await asyncio.sleep(2) positions = await api.movement.get_actuator_values(normalize=False) return positions[Actuator.left_arm], positions[Actuator.right_arm] l_pos, r_pos = await _arms(l_position=110, r_position=110, l_velocity=80, r_velocity=80) l_neg, r_neg = await _arms(l_position=-110, r_position=-110, l_velocity=80, r_velocity=80) l_0, r_0 = await _arms(l_position=0, r_position=0, l_velocity=50, r_velocity=50) res[Actuator.left_arm] = PosZeroNeg(l_pos, l_0, l_neg) res[Actuator.right_arm] = PosZeroNeg(r_pos, r_0, r_neg) print() print({k.name: list(v) for k, v in res.items()}) return res
import random from misty_py.api import MistyAPI from misty_py.utils import MISTY_URL __author__ = 'acushner' api = MistyAPI(MISTY_URL) async def random_simpsons_quote(): await api.audio.play(f'simpsons_{random.choice(range(1, 101))}.mp3')
import os from random import choice, random from contextlib import suppress from typing import Callable, Awaitable, NamedTuple import arrow from misty_py.api import MistyAPI from misty_py.subscriptions import Actuator, Touch, SubType, SubPayload, LLSubType from misty_py.misty_ws import EventCallback, UnchangedValue from misty_py.utils import wait_first, asyncpartial, wait_in_order, wait_for_group from misty_py.utils.core import async_run __author__ = 'acushner' api = MistyAPI() def search(): """have misty look around and scan her environment""" async def play(): # print(await api.movement.get_actuator_values()) # return async def _handler(sp: SubPayload): t = LLSubType.from_sub_payload(sp) print(type(t), t) async with api.ws.sub_unsub(SubType.touch_sensor, _handler): await asyncio.sleep(20)
dict(b=5, c=67, e=dict(a=5))]) t = json_obj() x = t.tuse = 4 print(x) # t = json_obj(dict(a=dict(b=4))) t = t print(t) # print(json_obj()) # print(json_obj(dict(a=5), b=6)) # print(json_obj([4, 5])) print(HeadSettings(yaw=40).json) sys.exit api = MistyAPI('localhost:9999') uvloop.install() mws = MistyWS(api) mws2 = MistyWS(api) print(mws is mws2) print(RGB.from_hex(0xFFFFFF).hex) class C: def __init__(self): self.t = asyncio.run(self.atest()) print(self.t) async def atest(self):