OSDN Git Service

mbed.jsの更新
[mimic/MiMicSDK.git] / misc / MiMicVM / mbed.js / test.PortIn.html
diff --git a/misc/MiMicVM/mbed.js/test.PortIn.html b/misc/MiMicVM/mbed.js/test.PortIn.html
new file mode 100644 (file)
index 0000000..76f5efc
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+<html>\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
+<script type="text/javascript" src="mimic/mbed.types.js"></script>\r
+<script type="text/javascript" src="mimic/MiMicCore.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.Mcu.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.DigitalOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.DigitalIn.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.AnalogOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.AnalogIn.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.BusOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.BusIn.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.BusInOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.PortOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.Portin.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.PwmOut.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.SPI.js"></script>\r
+<script type="text/javascript" src="mimic/mbed.SPISlave.js"></script>\r
+<script type="text/javascript">\r
+\r
+\r
+\r
+function log(v)\r
+{\r
+       if(v===undefined){\r
+               document.getElementById("console").value='';\r
+       }else{\r
+               document.getElementById("console").value+='['+(new Date())+']'+v+'\n';\r
+       }\r
+}\r
+\r
+/**ASYNCAPIのテスト*/\r
+function async()\r
+{\r
+       log();\r
+       log("ASYNC");\r
+       var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+       {\r
+               onNew:function(){\r
+                       var pin=new mbedJS.PortIn(mcu,[mbedJS.PortName.Port0,0xffffffff],{\r
+                       onNew:function(){\r
+                               log("[PASS]onNew");\r
+                               pin.read();\r
+                       },\r
+                       onRead:function(v)\r
+                       {\r
+                               log("[PASS]read:"+v);\r
+                               mcu.close();\r
+                       }});\r
+               },\r
+               onClose:function(){\r
+                       log("[PASS]onClose");\r
+               },\r
+               onError:function(){\r
+                       alert("Error");\r
+               }\r
+       });\r
+}\r
+\r
+/**\r
+ * Sync\r
+ */\r
+\r
+function sync()\r
+{\r
+       log();\r
+       var g=function*(){\r
+       try{\r
+               var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+               yield mcu.waitForNew();\r
+               var port=new mbedJS.PortIn(mcu,[mbedJS.PortName.Port0,0xffffffff],g);\r
+               log("new");\r
+               yield port.waitForNew();\r
+               log("waitfor");\r
+               var v=yield port.read();\r
+               log("read:"+v);\r
+               yield mcu.close();\r
+               log("close");\r
+       }catch(e){\r
+               mcu.shutdown();\r
+               alert(e);\r
+               throw e;\r
+       }\r
+       }();\r
+       g.next();\r
+       return;\r
+\r
+}\r
+\r
+\r
+\r
+</script>\r
+</head>\r
+<body>\r
+<h1>PortIn test</h1>\r
+<hr/>\r
+<button onclick="async();">ASYNC</button>\r
+<button onclick="sync();">SYNC</button>\r
+<textarea id="console" rows="15" cols="80"></textarea>\r
+</body>
\ No newline at end of file