OSDN Git Service

2.0.2
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.BusIn.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.BusIn(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],{\r
42                         onNew:function(){\r
43                                 log("[PASS]onNew");\r
44                                 pin.read();\r
45                         },\r
46                         onRead:function(v)\r
47                         {\r
48                                 log("[PASS]onread:"+v);\r
49                                 pin.mode(mbedJS.PinMode.PullDown);\r
50                         },\r
51                         onMode:function(v){\r
52                                 log("[PASS]onMode:");\r
53                                 mcu.close();\r
54                         }});\r
55                 },\r
56                 onClose:function(){\r
57                         log("[PASS]onClose");\r
58                 },\r
59                 onError:function(){\r
60                         alert("Error");\r
61                 }\r
62         });\r
63 }\r
64 function async2()\r
65 {\r
66         log();\r
67         log("ASYNC2");\r
68         var mcu=new mbedJS.Mcu("192.168.128.39",\r
69         {\r
70                 onNew:function(){\r
71                         var pin=new mbedJS.BusIn(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],function(){\r
72                                 log("[PASS]onNew");\r
73                                 pin.read(function(v)\r
74                                 {\r
75                                         log("[PASS]onread:"+v);\r
76                                         pin.mode(mbedJS.PinMode.PullDown,function(v){\r
77                                                 log("[PASS]onMode:");\r
78                                                 mcu.close();\r
79                                         });\r
80                                 });\r
81                         });\r
82                 },\r
83                 onClose:function(){\r
84                         log("[PASS]onClose");\r
85                 },\r
86                 onError:function(){\r
87                         alert("Error");\r
88                 }\r
89         });\r
90 }\r
91 \r
92 /**\r
93  * 誤った使用方法でExceptionが出た場合にシャットダウンできるかのテスト\r
94  */\r
95 function sync()\r
96 {\r
97         log();\r
98         var g=function*(){\r
99         try{\r
100                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
101                 yield mcu.waitForNew();\r
102                 var bus=new mbedJS.BusIn(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],g);\r
103                 log("new");\r
104                 yield bus.waitForNew();\r
105                 log("waitfor");\r
106                 var v=yield bus.read();\r
107                 log("read:"+v);\r
108                 v=yield bus.mode(mbedJS.PinMode.PullUp);\r
109                 log("mode:");\r
110                 yield mcu.close();\r
111                 log("close");\r
112         }catch(e){\r
113                 mcu.shutdown();\r
114                 alert(e);\r
115                 throw e;\r
116         }\r
117         }();\r
118         g.next();\r
119         return;\r
120 \r
121 }\r
122 \r
123 \r
124 \r
125 </script>\r
126 </head>\r
127 <body>\r
128 <h1>BusIn test</h1>\r
129 <hr/>\r
130 <button onclick="async();">ASYNC</button>\r
131 <button onclick="async2();">ASYNC2</button>\r
132 <button onclick="sync();">SYNC</button>\r
133 <textarea id="console" rows="15" cols="80"></textarea>\r
134 </body>