OSDN Git Service

90ed48f5bb95c5799cb62ffbba91e9137dac8628
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.SPISlave.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.SPISlave(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7,mbedJS.PinName.p8],{\r
42                         onNew:function(){\r
43                                 log("[PASS]onNew");\r
44                                 pin.frequency(1000000);\r
45                         },\r
46                         onFrequency:function()\r
47                         {\r
48                                 log("[PASS]onFrequency:");\r
49                                 pin.format(8,3);\r
50                         },\r
51                         onFormat:function()\r
52                         {\r
53                                 log("[PASS]onFormat:");\r
54                                 pin.read();\r
55                         },\r
56                         onRead:function(v){\r
57                                 log("[PASS]onread:"+v);\r
58                                 pin.receive();\r
59                         },\r
60                         onReceive:function(v)\r
61                         {\r
62                                 log("[PASS]onReceive:"+v);\r
63                                 pin.reply(1);\r
64                         },\r
65                         onReply:function(){\r
66                                 log("[PASS]onReply:");\r
67                                 mcu.close();\r
68                         }\r
69                         \r
70                         });\r
71                 },\r
72                 onClose:function(){\r
73                         log("[PASS]onClose");\r
74                 },\r
75                 onError:function(){\r
76                         alert("Error");\r
77                 }\r
78         });\r
79 }\r
80 \r
81 /**\r
82  * \r
83  */\r
84 function sync()\r
85 {\r
86         log();\r
87         var g=function*(){\r
88         try{\r
89                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
90                 yield mcu.waitForNew();\r
91                 var pin=new mbedJS.SPISlave(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7,mbedJS.PinName.p8],g);\r
92                 yield pin.waitForNew();\r
93                 log("[PASS]New");\r
94                 yield pin.frequency(1000000);\r
95                 log("[PASS]Frequency:");\r
96                 yield pin.format(8,3);\r
97                 log("[PASS]Format:");\r
98                 var v=yield pin.read();\r
99                 log("[PASS]Read:"+v);\r
100                 v=yield pin.receive();\r
101                 log("[PASS]Receive:"+v);\r
102                 yield pin.reply(1);\r
103                 log("[PASS]Reply:");\r
104                 yield mcu.close();\r
105                 log("close");\r
106         }catch(e){\r
107                 mcu.shutdown();\r
108                 alert(e);\r
109                 throw e;\r
110         }\r
111         }();\r
112         g.next();\r
113         return;\r
114 \r
115 }\r
116 \r
117 \r
118 \r
119 </script>\r
120 </head>\r
121 <body>\r
122 <h1>SPISlave test</h1>\r
123 <hr/>\r
124 <button onclick="async();">ASYNC</button>\r
125 <button onclick="sync();">SYNC</button>\r
126 <textarea id="console" rows="15" cols="80"></textarea>\r
127 </body>