@@ -63,67 +63,30 @@ class NaoRobotWidget(DOMWidget):
63
63
connected = Unicode ("Disconnected" ).tag (sync = True )
64
64
status = Unicode ("Not busy" ).tag (sync = True )
65
65
response = Unicode ("" ).tag (sync = True )
66
- counter = Integer (0 ).tag (sync = True , read_only = True )
66
+ counter = Integer (0 ).tag (sync = True )
67
67
js_response = None
68
68
69
+
69
70
def __init__ (self , ** kwargs ):
70
71
super ().__init__ (** kwargs )
71
72
self .on_msg (self ._handle_frontend_msg )
72
- # self.observe(self._handle_value_change, names="status")
73
+
73
74
74
75
def _handle_frontend_msg (self , model , msg , buffer ):
75
76
print ("Received frontend msg: " , msg )
76
77
self .js_response = msg
77
78
78
- def _handle_value_change (self , change ):
79
- print ("HANDLE HANDLE HANDLE" , change )
80
- self .response = change ['new' ]
81
79
82
80
def wait_for_change (widget , value_name ):
83
81
future = asyncio .Future ()
84
82
85
83
def get_value_change (change ):
86
84
widget .unobserve (get_value_change , names = value_name )
87
- # future.set_result(change['new'])
88
85
future .set_result (widget .js_response )
89
86
90
87
widget .observe (get_value_change , names = value_name )
91
- return future
92
-
93
- async def set_after (self , future , delay ):
94
-
95
- for i in range (25 ):
96
- print (i , " Sleep a blink > " , self .response , '< response' )
97
- await asyncio .sleep (delay )
98
- if (self .response != '' ):
99
- print ("setting the future " , i )
100
- future .set_result (self .response )
101
- break
102
-
103
- self .response = ''
104
-
105
-
106
- async def go_sleep (self , out , tSeconds = 2 ):
107
- data = {}
108
- data ["command" ] = str ("goSleep" )
109
- data ["tSeconds" ] = tSeconds
110
- self .send (data )
111
-
112
- try :
113
- await self .wait_for_change ('counter' )
114
- except Exception as e :
115
- print ('Something wrong: ' , e )
116
- out .append_stdout ('something wrong' + str (e ))
117
-
118
-
119
- # loop = asyncio.get_running_loop()
120
- # future = loop.create_future()
121
-
122
- # print("Go sleep ...")
123
- # loop.create_task(self.set_after(future, 0.5))
88
+ return future
124
89
125
- # return future
126
-
127
90
128
91
def connect (self , ip_address = "nao.local" , port = "80" ):
129
92
data = {}
0 commit comments