<source file="${SRC_ROOT}\mbed.SPISlave.js" />\r
<source file="${SRC_ROOT}\mbed.types.js" />\r
<source file="${SRC_ROOT}\MiMicCore.js" /> \r
+ <source file="${SRC_ROOT}\mbed.Memory.js" /> \r
+ <source file="${SRC_ROOT}\mbed.Serial.js" /> \r
+ <source file="${SRC_ROOT}\mbed.I2C.js" />\r
+ <source file="${SRC_ROOT}\mbed.I2CSlave.js" />\r
</jsdoctoolkit>\r
</target>\r
</project>\r
* 配列要素、又は値がすべてInt値でない場合に例外を起こします。\r
* @name MiMicJS.assertInt\r
* @function\r
- * @params {[array]} v\r
+ * @param {[array]} v\r
* テストする配列\r
*/\r
NS.assertInt=function assertInt(v){\r
* 配列要素、、又は値がすべて数値でない場合に例外を起こします。\r
* @name MiMicJS.assertNumber\r
* @function\r
- * @params {[array]} v\r
+ * @param {[array]} v\r
* テストする配列\r
*/\r
NS.assertNumber=function assertNumber(v){\r
};\r
/**\r
* ByteArrayをBinarayStringに変換します。\r
+ * @name MiMicJS.byteArray2bstr\r
+ * @function\r
* @param v\r
* @return {String}\r
*/\r
/**\r
* UInt32ArrayをBinarayStringに変換します。\r
* 出力はLittleEndianの配列です。\r
+ * @name MiMicJS.uintArray2bstr\r
+ * @function\r
* @param v\r
* UInt32の配列\r
* @return {String}\r
* <p>\r
* @return {mbedJS.I2C}\r
* @example //Callback\r
+ * var st=0;\r
* var mcu=new mbedJS.Mcu("192.168.128.39",\r
* {\r
* onNew:function(){\r
- * var pin=new mbedJS.I2C(mcu,mbedJS.PinName.A0,{\r
+ * var i2c=new mbedJS.I2C(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],{\r
* onNew:function(){\r
- * pin.read();\r
+ * i2c.frequency(100000);\r
* },\r
- * onRead:function(v)\r
+ * onFrequency:function()\r
* {\r
- * pin.read_u16();\r
+ * i2c.start();\r
* },\r
- * onRead_u16:function(v){\r
+ * onStart:function(){\r
+ * st=0;\r
+ * i2c.write(1);\r
+ * },\r
+ * onWrite:function(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
+ * i2c.read(1,2,false);\r
+ * st++;\r
+ * }else{\r
+ * i2c.stop();\r
+ * }\r
+ * },\r
+ * onStop:function(){\r
* mcu.close();\r
- * }});\r
+ * }\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
* },\r
- * onClose:function(){},\r
- * onError:function(){}\r
+ * onError:function(){\r
+ * alert("Error");\r
+ * }\r
* });\r
* @example //Generator\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 pin=new mbedJS.I2C(mcu,mbedJS.PinName.A0,g);\r
- * yield pin.waitForNew();\r
- * var v=yield pin.read();\r
- * v=yield pin.read_u16();\r
+ * var i2c=new mbedJS.I2C(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],g);\r
+ * yield i2c.waitForNew();\r
+ * yield i2c.frequency(100000);\r
+ * yield i2c.start();\r
+ * yield i2c.write(1);\r
+ * yield i2c.write(0,[1,2,3],false);\r
+ * yield i2c.read(1);\r
+ * yield i2c.read(1,2,false);\r
+ * yield i2c.stop();\r
* yield mcu.close();\r
* }catch(e){\r
* mcu.shutdown();\r
- * }}();\r
+ * alert(e);\r
+ * throw e;\r
+ * }\r
+ * }();\r
* g.next();\r
*/\r
var CLASS=function I2C(i_mcu,i_params,i_handler)\r
* var mcu=new mbedJS.Mcu("192.168.128.39",\r
* {\r
* onNew:function(){\r
- * var pin=new mbedJS.I2CSlave(mcu,mbedJS.PinName.A0,{\r
+ * var i2c=new mbedJS.I2CSlave(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],{\r
* onNew:function(){\r
- * pin.read();\r
+ * i2c.frequency(100000);\r
* },\r
- * onRead:function(v)\r
+ * onFrequency:function()\r
* {\r
- * pin.read_u16();\r
+ * i2c.address(1);\r
* },\r
- * onRead_u16:function(v){\r
+ * onAddress:function()\r
+ * {\r
+ * i2c.receive();\r
+ * },\r
+ * onReceive:function(){\r
+ * st=0;\r
+ * i2c.write(1);\r
+ * },\r
+ * onWrite:function(v){\r
+ * if(st==0){\r
+ * i2c.write([1,2,3]);\r
+ * st++;\r
+ * }else{\r
+ * i2c.read();\r
+ * st=0;\r
+ * }\r
+ * },\r
+ * onRead:function(v){\r
+ * if(st==0){\r
+ * i2c.read(2,false);\r
+ * st++;\r
+ * }else{\r
+ * log("[PASS]onRead:"+v.ret+":"+v.data);\r
+ * i2c.stop();\r
+ * }\r
+ * },\r
+ * onStop:function(){\r
* mcu.close();\r
- * }});\r
+ * }\r
+ * });\r
* },\r
- * onClose:function(){},\r
- * onError:function(){}\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * alert("Error");\r
+ * }\r
* });\r
* @example //Generator\r
* var g=function*(){\r
* try{\r
- * var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
- * yield mcu.waitForNew();\r
- * var pin=new mbedJS.I2CSlave(mcu,mbedJS.PinName.A0,g);\r
- * yield pin.waitForNew();\r
- * var v=yield pin.read();\r
- * v=yield pin.read_u16();\r
- * yield mcu.close();\r
+ * var v;\r
+ * var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
+ * yield mcu.waitForNew();\r
+ * var i2c=new mbedJS.I2CSlave(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],g);\r
+ * yield i2c.waitForNew();\r
+ * yield i2c.frequency(100000);\r
+ * yield i2c.address(1);\r
+ * v=yield i2c.receive();\r
+ * v=yield i2c.write(1);\r
+ * v=yield i2c.write([1,2,3]);\r
+ * v=yield i2c.read();\r
+ * v=yield i2c.read(2,false);\r
+ * log("[PASS]onRead:"+v.ret+":"+v.data);\r
+ * yield i2c.stop();\r
+ * yield mcu.close();\r
* }catch(e){\r
- * mcu.shutdown();\r
- * }}();\r
+ * mcu.shutdown();\r
+ * alert(e);\r
+ * throw e;\r
+ * }\r
+ * }();\r
* g.next();\r
+ * return;\r
*/\r
var CLASS=function I2CSlave(i_mcu,i_params,i_handler)\r
{\r
{\r
/** @private */\r
RPC_NS:"mbedJS:I2CSlave",\r
+ /**\r
+ * mbedJS.Serial#receiveの戻り値の種類です。\r
+ * NoData,ReadAddressed,WriteGeneral,WriteAddressedがあります。\r
+ * @name mbedJS.I2CSlave#RxStatus\r
+ */ \r
RxStatus:{\r
NoData:0,ReadAddressed:1,WriteGeneral:2,WriteAddressed:3},\r
/** @private 最後にコールしたAPIです。*/\r
* var mcu=new mbedJS.Mcu("192.168.128.39",\r
* {\r
* onNew:function(){\r
+ * mcu.getInfo();\r
+ * },\r
+ * onGetInfo:function(v){\r
+ * log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
+ * var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
+ * onNew:function(){\r
+ * mcu.disposeObject(pin._oid);\r
+ * }});\r
+ * },\r
+ * onDisposeObject:function(v){\r
+ * mcu.close();\r
* },\r
* onClose:function(){\r
* },\r
* onError:function(){\r
+ * alert("Error");\r
* }\r
* });\r
* @example //Generator\r
},\r
/**\r
* Mcuの情報を返します。\r
- * @name mbedJS.Mcu#rpc\r
+ * @name mbedJS.Mcu#getInfo\r
* @function\r
* @return {HashMap}\r
* 情報を格納した連想配列です。\r
* <p>\r
* @return {mbedJS.Memory}\r
* @example //Callback\r
+ * var s=0;\r
+ * var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ * {\r
+ * onNew:function(){\r
+ * var mem=new mbedJS.Memory(mcu,{\r
+ * onNew:function(){\r
+ * s=0;\r
+ * mem.write(0x20080000,1);\r
+ * },\r
+ * onWrite:function(){\r
+ * log("[PASS]onWrite:"+s);\r
+ * switch(s){\r
+ * case 0:\r
+ * mem.read(0x20080000,1);\r
+ * break;\r
+ * case 1:\r
+ * mem.read(0x20080001,1);\r
+ * break;\r
+ * case 2:\r
+ * mem.read(0x20080000,8);\r
+ * break;\r
+ * }\r
+ * },\r
+ * onRead:function(v){\r
+ * log("[PASS]onRead:"+s);\r
+ * switch(s){\r
+ * case 0:\r
+ * mem.write(0x20080001,[2]);\r
+ * break;\r
+ * case 1:\r
+ * mem.write(0x20080004,[10,20,30]);\r
+ * break;\r
+ * case 2:\r
+ * mem.write32(0x20080000,0xff);\r
+ * s=-1;\r
+ * }\r
+ * s++;\r
+ * },\r
+ * onWrite32:function(){\r
+ * log("[PASS]onWrite32:"+s);\r
+ * switch(s){\r
+ * case 0:\r
+ * mem.read32(0x20080000);\r
+ * break;\r
+ * case 1:\r
+ * mem.read32(0x20080004,4);\r
+ * break;\r
+ * case 2:\r
+ * mem.read32(0x20080000,16);\r
+ * break;\r
+ * }\r
+ * },\r
+ * onRead32:function(v){\r
+ * log("[PASS]onRead32:"+s);\r
+ * switch(s){\r
+ * case 0:\r
+ * mem.write32(0x20080004,[2]);\r
+ * break;\r
+ * case 1:\r
+ * mem.write32(0x20080004,[10,20,30]);\r
+ * break;\r
+ * case 2:\r
+ * mcu.close();\r
+ * }\r
+ * s++;\r
+ * } \r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * log("[PASS]onClose");\r
+ * },\r
+ * onError:function(){\r
+ * alert("Error");\r
+ * }\r
+ * });\r
* @example //Generator\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 mem=new mbedJS.Memory(mcu,g);\r
+ * yield mem.waitForNew();\r
+ * yield mem.write(0x20080000,1);\r
+ * log("[PASS]onWrite:");\r
+ * v=yield mem.read(0x20080000,1);\r
+ * log("[PASS]onRead:"+v);\r
+ * v=yield mem.read(0x20080001,1);\r
+ * log("[PASS]onRead:"+v);\r
+ * v=yield mem.read(0x20080000,8);\r
+ * log("[PASS]onRead:"+v);\r
+ * yield mem.write(0x20080001,[2]);\r
+ * log("[PASS]onWrite:");\r
+ * yield mem.write(0x20080004,[10,20,30]);\r
+ * log("[PASS]onWrite:");\r
+ * yield mem.write32(0x20080000,0xff);\r
+ * log("[PASS]onWrite32:");\r
+ * v=yield mem.read32(0x20080000);\r
+ * log("[PASS]onRead32:"+v);\r
+ * v=yield mem.read32(0x20080004,4);\r
+ * log("[PASS]onRead32:"+v);\r
+ * v=yield mem.read32(0x20080000,16);\r
+ * log("[PASS]onRead32:"+v);\r
+ * yield mem.write32(0x20080004,[2]);\r
+ * log("[PASS]onWrite32:");\r
+ * yield mem.write32(0x20080004,[10,20,30]);\r
+ * log("[PASS]onWrite32:");\r
+ * mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * alert(e);\r
+ * throw e;\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function Memory(i_mcu,i_handler)\r
{\r
* <p>\r
* @return {mbedJS.Serial}\r
* @example //Callback\r
+ * var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ * {\r
+ * onNew:function(){\r
+ * var uart=new mbedJS.Serial(mcu,[mbedJS.PinName.p9,mbedJS.PinName.p10],{\r
+ * onNew:function(){\r
+ * uart.baud(115200);\r
+ * },\r
+ * onBaud:function()\r
+ * {\r
+ * uart.send_break();\r
+ * },\r
+ * onSend_break:function(){\r
+ * uart.format(8,uart.Parity.None,1);\r
+ * },\r
+ * onFormat:function(){\r
+ * uart.readable();\r
+ * },\r
+ * onReadable:function(v){\r
+ * uart.writeable();\r
+ * },\r
+ * onWriteable:function(v){\r
+ * uart.putc(32);\r
+ * },\r
+ * onPutc:function(v){\r
+ * uart.getc();\r
+ * },\r
+ * onGetc:function(v){\r
+ * uart.puts("1234");\r
+ * },\r
+ * onPuts:function(v){\r
+ * uart.gets(5);\r
+ * },\r
+ * onGets:function(v){\r
+ * mcu.close();\r
+ * }\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * alert("Error");\r
+ * }\r
+ * });\r
* @example //Generator\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 uart=new mbedJS.Serial(mcu,[mbedJS.PinName.p9,mbedJS.PinName.p10],g);\r
+ * yield uart.waitForNew();\r
+ * yield uart.baud(115200);\r
+ * yield uart.send_break();\r
+ * yield uart.format(8,uart.Parity.None,1);\r
+ * v=yield uart.readable();\r
+ * v=yield uart.writeable();\r
+ * v=yield uart.putc(32);\r
+ * v=yield uart.getc();\r
+ * v=yield uart.puts("1234");\r
+ * v=yield uart.gets(5);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * alert(e);\r
+ * throw e;\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function Serial(i_mcu,i_params,i_handler)\r
{\r
/** @private */\r
RPC_NS:"mbedJS:Serial",\r
/**\r
- * @namespace\r
- * @name mbedJS.Serial#Parity\r
* mbedJS.Serial#format関数に指定する値の種類です。\r
* None,Odd,Even,Forced1,Forced0があります。\r
+ * @name mbedJS.Serial#Parity\r
+ * @field\r
*/\r
Parity:{\r
None:0,Odd:1,Even:2,Forced1:3,Forced0:4\r
{\r
var g=function*(){\r
try{\r
-log(1);\r
+log();\r
var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
log(2);\r
+var v;\r
yield mcu.waitForNew();\r
+ v=yield mcu.disposeObject(0);\r
+ log(v);\r
+ v=yield mcu.getInfo();\r
+ log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
yield mcu.close();\r
log(3);\r
}catch(e){\r