--- /dev/null
+\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