OSDN Git Service

188d8661124c2d40d2aec79ac8037b51423a5a24
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.MCU.html
1 \r
2 <html>\r
3 <head>\r
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
5 <script type="text/javascript" src="mbedJS/MiMicCore.js"></script>\r
6 <script type="text/javascript" src="mbedJS/mbed.types.js"></script>\r
7 <script type="text/javascript" src="mbedJS/mbed.Mcu.js"></script>\r
8 <script type="text/javascript" src="mbedJS/mbed.DigitalIn.js"></script>\r
9 <script type="text/javascript">\r
10 \r
11 \r
12 \r
13 function log(v)\r
14 {\r
15         if(v===undefined){\r
16                 document.getElementById("console").value='';\r
17         }else{\r
18                 document.getElementById("console").value+='['+(new Date())+']'+v+'\n';\r
19         }\r
20 }\r
21 \r
22 /**ASYNCAPIのテスト*/\r
23 function async()\r
24 {\r
25         log();\r
26         log("ASYNC");\r
27         var mcu=new mbedJS.Mcu("192.168.128.39",\r
28         {\r
29                 onNew:function(){\r
30                         log("[PASS]onNew");\r
31                         mcu.getInfo();\r
32                 },\r
33                 onGetInfo:function(v){\r
34                         log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
35                         var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
36                                 onNew:function(){\r
37                                         log("...");\r
38                                         mcu.disposeObject(pin._oid);\r
39                                 }});\r
40                 },\r
41                 onDisposeObject:function(v){\r
42                         log("[PASS]onDisposeObject:"+v);\r
43                         mcu.close();\r
44                 },\r
45                 onClose:function(){\r
46                         log("[PASS]onClose");\r
47                 },\r
48                 onError:function(){\r
49                         alert("Error");\r
50                 }\r
51         });\r
52 }\r
53 function async2()\r
54 {\r
55         log();\r
56         log("ASYNC2");\r
57         var mcu=new mbedJS.Mcu("192.168.128.39",\r
58         {\r
59                 onNew:function(){\r
60                         log("[PASS]onNew");\r
61                         mcu.getInfo(function(v){\r
62                                 log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
63                                 var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,function(){\r
64                                         log("...");\r
65                                         mcu.disposeObject(pin._oid,function(v){\r
66                                                 log("[PASS]onDisposeObject:"+v);\r
67                                                 mcu.close();\r
68                                         });\r
69                                 });\r
70                         });\r
71                 },\r
72                 onClose:function(){\r
73                         log("[PASS]onClose");\r
74                 },\r
75                 onError:function(){\r
76                         alert("Error");\r
77                 }\r
78         });\r
79 }\r
80 function dispose1()\r
81 {\r
82         log();\r
83         log("d1");\r
84         var mcu=new mbedJS.Mcu("192.168.128.39",\r
85         {\r
86                 onNew:function(){\r
87                         log("[PASS]onNew");\r
88                         var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,function(){\r
89                                 pin.dispose(function(v){\r
90                                         log("[PASS]onDispose:"+v);\r
91                                         mcu.close();\r
92                                 });\r
93                         });\r
94                 },\r
95                 onClose:function(){\r
96                         log("[PASS]onClose");\r
97                 },\r
98                 onError:function(){\r
99                         alert("Error");\r
100                 }\r
101         });\r
102 }\r
103 function dispose2()\r
104 {\r
105         log();\r
106         log("d1");\r
107         var mcu=new mbedJS.Mcu("192.168.128.39",\r
108         {\r
109                 onNew:function(){\r
110                         log("[PASS]onNew");\r
111                         var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
112                                 onNew:function(){\r
113                                         log("[PASS]onNew:");\r
114                                         pin.dispose();\r
115                                 },\r
116                                 onDispose:function(v){\r
117                                         log("[PASS]onDispose:"+v);\r
118                                 mcu.close();\r
119                                 }\r
120                         });\r
121                 },\r
122                 onClose:function(){\r
123                         log("[PASS]onClose");\r
124                 },\r
125                 onError:function(){\r
126                         alert("Error");\r
127                 }\r
128         });\r
129 }\r
130 function dispose3()\r
131 {\r
132         log();\r
133         log("d3");\r
134         var mcu=new mbedJS.Mcu("192.168.128.39",\r
135         {\r
136                 onNew:function(){\r
137                         log("[PASS]onNew");\r
138                         var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
139                                 onNew:function(){\r
140                                         log("[PASS]onNew:");\r
141                                         pin.dispose();\r
142                                         mcu.close();\r
143                                 }\r
144                         });\r
145                 },\r
146                 onClose:function(){\r
147                         log("[PASS]onClose");\r
148                 },\r
149                 onError:function(){\r
150                         alert("Error");\r
151                 }\r
152         });\r
153 }\r
154 function dispose4()\r
155 {\r
156         var g=function*(){\r
157         try{\r
158                 log();\r
159                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
160                 log(2);\r
161                 var v;\r
162                 yield mcu.waitForNew();\r
163                 var pin= new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,g);\r
164                 yield pin.waitForNew();\r
165                 v=yield pin.dispose();\r
166                 log("[PASS]dispose:"+v);\r
167                 yield mcu.close();\r
168                 log("[PASS]close");\r
169         }catch(e){\r
170                 alert(e);\r
171                 mcu.shutdown();\r
172         }\r
173         }();\r
174         g.next();\r
175 }\r
176 /**\r
177  * 誤った使用方法でExceptionが出た場合にシャットダウンできるかのテスト\r
178  */\r
179 function sync()\r
180 {\r
181         var g=function*(){\r
182 try{\r
183 log();\r
184                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
185 log(2);\r
186 var v;\r
187                 yield mcu.waitForNew();\r
188                 v=yield mcu.disposeObject(0);\r
189                 log(v);\r
190                 v=yield mcu.getInfo();\r
191                 log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
192                 yield mcu.close();\r
193 log(3);\r
194 }catch(e){\r
195         alert(e);\r
196         mcu.shutdown();\r
197 }\r
198         }();\r
199         g.next();\r
200         return;\r
201 \r
202 }\r
203 \r
204 \r
205 </script>\r
206 </head>\r
207 <body>\r
208 <h1>MCU test</h1>\r
209 <hr/>\r
210 <button onclick="async();">ASYNC</button>\r
211 <button onclick="async2();">ASYNC2</button>\r
212 <button onclick="sync();">SYNC</button>\r
213 <button onclick="dispose1();">D1</button>\r
214 <button onclick="dispose2();">D2</button>\r
215 <button onclick="dispose3();">D3</button>\r
216 <button onclick="dispose4();">D4</button>\r
217 <textarea id="console" rows="15" cols="80"></textarea>\r
218 </body>