OSDN Git Service

JSAPIのSerial,I2C,Memoryクラスを追加
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.I2C.html
diff --git a/misc/mbedJS/mbddJS.API/test.I2C.html b/misc/mbedJS/mbddJS.API/test.I2C.html
new file mode 100644 (file)
index 0000000..124f324
--- /dev/null
@@ -0,0 +1,145 @@
+\r
+<html>\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
+<script type="text/javascript" src="mbedJS/mbed.types.js"></script>\r
+<script type="text/javascript" src="mbedJS/MiMicCore.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.Mcu.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.DigitalOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.DigitalIn.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.AnalogOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.AnalogIn.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.BusOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.BusIn.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.BusInOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.PortOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.Portin.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.PwmOut.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.SPI.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.SPISlave.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.Serial.js"></script>\r
+<script type="text/javascript" src="mbedJS/mbed.I2C.js"></script>\r
+<script type="text/javascript">\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 st=0;\r
+       var mcu=new mbedJS.Mcu("192.168.128.39",\r
+       {\r
+               onNew:function(){\r
+                       var i2c=new mbedJS.I2C(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],{\r
+                       onNew:function(){\r
+                               log("[PASS]onNew");\r
+                               i2c.frequency(100000);\r
+                       },\r
+                       onFrequency:function()\r
+                       {\r
+                               log("[PASS]onFrequency:");\r
+                               i2c.start();\r
+                       },\r
+                       onStart:function(){\r
+                               log("[PASS]onStart:");\r
+                               st=0;\r
+                               i2c.write(1);\r
+//                             i2c.write(1);\r
+                       },\r
+                       onWrite:function(v){\r
+                               log("[PASS]onWrite:"+v);\r
+                               if(st==0){\r
+                                       i2c.write(0,[1,2,3],false);\r
+                                       st++;\r
+                               }else{\r
+                                       i2c.read(1);\r
+                                       st=0;\r
+                               }\r
+                       },\r
+                       onRead:function(v){\r
+                               if(st==0){\r
+                                       log("[PASS]onRead:"+v);\r
+                                       i2c.read(1,2,false);\r
+                                       st++;\r
+                               }else{\r
+                                       log("[PASS]onRead:"+v.ret+":"+v.data);\r
+                                       i2c.stop();\r
+                               }\r
+\r
+                       },\r
+                       onStop:function(){\r
+                               log("[PASS]onStop:");\r
+                               mcu.close();\r
+                       }\r
+                       });\r
+               },\r
+               onClose:function(){\r
+                       log("[PASS]onClose");\r
+               },\r
+               onError:function(){\r
+                       alert("Error");\r
+               }\r
+       });\r
+}\r
+\r
+/**\r
+ * \r
+ */\r
+function sync()\r
+{\r
+       log();\r
+       var g=function*(){\r
+       try{\r
+               var v;\r
+               var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
+               yield mcu.waitForNew();\r
+               var i2c=new mbedJS.I2C(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],g);\r
+               yield i2c.waitForNew();\r
+               log("[PASS]onNew");\r
+               yield i2c.frequency(100000);\r
+               log("[PASS]onFrequency:");\r
+               yield i2c.start();\r
+               log("[PASS]onStart:");\r
+               yield i2c.write(1);\r
+               v=log("[PASS]onWrite:"+v);\r
+               yield i2c.write(0,[1,2,3],false);\r
+               v=log("[PASS]onWrite2:"+v);\r
+               yield i2c.read(1);\r
+               log("[PASS]onRead:"+v);\r
+               v=yield i2c.read(1,2,false);\r
+               log("[PASS]onRead:"+v.ret+":"+v.data);\r
+               yield i2c.stop();\r
+               log("[PASS]onStop:");\r
+               yield mcu.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>I2C 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