OSDN Git Service

0f2497f84bc09a6812216d3ce12cea97f87e67f3
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.AnalogOut.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/mbed.types.js"></script>\r
6 <script type="text/javascript" src="mbedJS/MiMicCore.js"></script>\r
7 <script type="text/javascript" src="mbedJS/mbed.Mcu.js"></script>\r
8 <script type="text/javascript" src="mbedJS/mbed.DigitalOut.js"></script>\r
9 <script type="text/javascript" src="mbedJS/mbed.DigitalIn.js"></script>\r
10 <script type="text/javascript" src="mbedJS/mbed.AnalogOut.js"></script>\r
11 <script type="text/javascript" src="mbedJS/mbed.AnalogIn.js"></script>\r
12 <script type="text/javascript" src="mbedJS/mbed.BusOut.js"></script>\r
13 <script type="text/javascript" src="mbedJS/mbed.BusIn.js"></script>\r
14 <script type="text/javascript" src="mbedJS/mbed.BusInOut.js"></script>\r
15 <script type="text/javascript" src="mbedJS/mbed.PortOut.js"></script>\r
16 <script type="text/javascript" src="mbedJS/mbed.Portin.js"></script>\r
17 <script type="text/javascript" src="mbedJS/mbed.PwmOut.js"></script>\r
18 <script type="text/javascript" src="mbedJS/mbed.SPI.js"></script>\r
19 <script type="text/javascript" src="mbedJS/mbed.SPISlave.js"></script>\r
20 <script type="text/javascript">\r
21 \r
22 \r
23 \r
24 function log(v)\r
25 {\r
26         if(v===undefined){\r
27                 document.getElementById("console").value='';\r
28         }else{\r
29                 document.getElementById("console").value+='['+(new Date())+']'+v+'\n';\r
30         }\r
31 }\r
32 \r
33 /**ASYNCAPIのテスト*/\r
34 function async()\r
35 {\r
36         log();\r
37         log("ASYNC");\r
38         var mcu=new mbedJS.Mcu("192.168.128.39",\r
39         {\r
40                 onNew:function(){\r
41                         var pin=new mbedJS.AnalogOut(mcu,mbedJS.PinName.p18,{\r
42                         onNew:function(){\r
43                                 log("[PASS]onNew");\r
44                                 pin.write(0.5);\r
45                         },\r
46                         onWrite:function()\r
47                         {\r
48                                 log("[PASS]onWrite");\r
49                                 pin.read();\r
50                                 \r
51                         },\r
52                         onRead:function(v)\r
53                         {\r
54                                 log("[PASS]onread:"+v);\r
55                                 pin.write_u16(0);\r
56                         },\r
57                         onWrite_u16:function()\r
58                         {\r
59                                 log("[PASS]onWrite_u16:");\r
60                                 mcu.close();\r
61                         }\r
62                         });\r
63                 },\r
64                 onClose:function(){\r
65                         log("[PASS]onClose");\r
66                 },\r
67                 onError:function(){\r
68                         alert("Error");\r
69                 }\r
70         });\r
71 }\r
72 function async2()\r
73 {\r
74         log();\r
75         log("ASYNC");\r
76         var mcu=new mbedJS.Mcu("192.168.128.39",\r
77         {\r
78                 onNew:function(){\r
79                         var pin=new mbedJS.AnalogOut(mcu,mbedJS.PinName.p18,function(){\r
80                                 log("[PASS]onNew");\r
81                                 pin.write(0.5,function()\r
82                                 {\r
83                                         log("[PASS]onWrite");\r
84                                         pin.read(function(v)\r
85                                         {\r
86                                                 log("[PASS]onread:"+v);\r
87                                                 pin.write_u16(0,function()\r
88                                                 {\r
89                                                         log("[PASS]onWrite_u16:");\r
90                                                         mcu.close();\r
91                                                 });\r
92                                         });\r
93                                 });\r
94                         });\r
95                 },\r
96                 onClose:function(){\r
97                         log("[PASS]onClose");\r
98                 },\r
99                 onError:function(){\r
100                         alert("Error");\r
101                 }\r
102         });\r
103 }\r
104 /**\r
105  * 誤った使用方法でExceptionが出た場合にシャットダウンできるかのテスト\r
106  */\r
107 function sync()\r
108 {\r
109         log();\r
110         var g=function*(){\r
111         try{\r
112                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
113                 yield mcu.waitForNew();\r
114                 var pin=new mbedJS.AnalogOut(mcu,mbedJS.PinName.p18,g);\r
115                 log("new");\r
116                 yield pin.waitForNew();\r
117                 log("waitfor");\r
118                 v=yield pin.write(0.3);\r
119                 log("write");\r
120                 var v=yield pin.read();\r
121                 log("read:"+v);\r
122                 v=yield pin.write_u16(1000);\r
123                 log("write16");\r
124                 var v=yield pin.read();\r
125                 log("read:"+v);\r
126                 yield mcu.close();\r
127                 log("close");\r
128         }catch(e){\r
129                 mcu.shutdown();\r
130                 alert(e);\r
131                 throw e;\r
132         }\r
133         }();\r
134         g.next();\r
135         return;\r
136 \r
137 }\r
138 \r
139 \r
140 \r
141 </script>\r
142 </head>\r
143 <body>\r
144 <h1>Analogout test</h1>\r
145 <hr/>\r
146 <button onclick="async();">ASYNC</button>\r
147 <button onclick="async2();">ASYNC2</button>\r
148 <button onclick="sync();">SYNC</button>\r
149 <textarea id="console" rows="15" cols="80"></textarea>\r
150 </body>