OSDN Git Service

58c38c2d377c32091a57ed71c8861f59f394cf4c
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / test.Memory.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.Memory.js"></script>\r
9 \r
10 <script type="text/javascript">\r
11 \r
12 \r
13 \r
14 function log(v)\r
15 {\r
16         if(v===undefined){\r
17                 document.getElementById("console").value='';\r
18         }else{\r
19                 document.getElementById("console").value+='['+(new Date())+']'+v+'\n';\r
20         }\r
21 }\r
22 \r
23 /**ASYNCAPIのテスト*/\r
24 function async()\r
25 {\r
26         var s=0;\r
27         log();\r
28         log("ASYNC");\r
29         var mcu=new mbedJS.Mcu("192.168.128.39",\r
30         {\r
31                 onNew:function(){\r
32                         var mem=new mbedJS.Memory(mcu,{\r
33                         onNew:function(){\r
34                                 s=0;\r
35                                 mem.write(0x20080000,1);\r
36                         },\r
37                         onWrite:function(){\r
38                                 log("[PASS]onWrite:"+s);\r
39                                 switch(s){\r
40                                 case 0:\r
41                                         mem.read(0x20080000,1);\r
42                                         break;\r
43                                 case 1:\r
44                                         mem.read(0x20080001,1);\r
45                                         break;\r
46                                 case 2:\r
47                                         mem.read(0x20080000,8);\r
48                                         break;\r
49                                 }\r
50                         },\r
51                         onRead:function(v){\r
52                                 log("[PASS]onRead:"+s);\r
53                                 switch(s){\r
54                                 case 0:\r
55                                         mem.write(0x20080001,[2]);\r
56                                         break;\r
57                                 case 1:\r
58                                         mem.write(0x20080004,[10,20,30]);\r
59                                         break;\r
60                                 case 2:\r
61                                         mem.write32(0x20080000,0xff);\r
62                                         s=-1;\r
63                                 }\r
64                                 s++;\r
65                         },\r
66                         onWrite32:function(){\r
67                                 log("[PASS]onWrite32:"+s);\r
68                                 switch(s){\r
69                                 case 0:\r
70                                         mem.read32(0x20080000);\r
71                                         break;\r
72                                 case 1:\r
73                                         mem.read32(0x20080004,4);\r
74                                         break;\r
75                                 case 2:\r
76                                         mem.read32(0x20080000,16);\r
77                                         break;\r
78                                 }\r
79                         },\r
80                         onRead32:function(v){\r
81                                 log("[PASS]onRead32:"+s);\r
82                                 switch(s){\r
83                                 case 0:\r
84                                         mem.write32(0x20080004,[2]);\r
85                                         break;\r
86                                 case 1:\r
87                                         mem.write32(0x20080004,[10,20,30]);\r
88                                         break;\r
89                                 case 2:\r
90                                         mcu.close();\r
91                                 }\r
92                                 s++;\r
93                         }                       \r
94                         \r
95                         \r
96                         \r
97                         });\r
98                 },\r
99                 onClose:function(){\r
100                         log("[PASS]onClose");\r
101                 },\r
102                 onError:function(){\r
103                         alert("Error");\r
104                 }\r
105         });\r
106 }\r
107 \r
108 function async2()\r
109 {\r
110         var s=0;\r
111         log();\r
112         log("ASYNC");\r
113         var mcu=new mbedJS.Mcu("192.168.128.39",\r
114         {\r
115                 onNew:function(){\r
116                         var mem=new mbedJS.Memory(mcu,function(){\r
117                                 mem.write(0x20080000,1,function(){\r
118                                         log("[PASS]onWrite:");\r
119                                         mem.read(0x20080000,1,function(v){\r
120                                                 log("[PASS]onRead:"+v);\r
121                                                 mem.read(0x20080001,1,function(v){\r
122                                                         log("[PASS]onRead:"+v);\r
123                                                         mem.read(0x20080000,8,function(v){\r
124                                                                 log("[PASS]onRead:"+v);\r
125                                                                 mem.write(0x20080001,[2],function(){\r
126                                                                         log("[PASS]onWrite:");\r
127                                                                         mem.write(0x20080004,[10,20,30],function(){\r
128                                                                                 log("[PASS]onWrite:");\r
129                                                                                 mem.write32(0x20080000,0xff,function(){\r
130                                                                                         log("[PASS]onWrite32:");\r
131                                                                                         mem.read32(0x20080000,function(v){\r
132                                                                                                 log("[PASS]onRead32:"+v);\r
133                                                                                                 mem.read32(0x20080004,4,function(v){\r
134                                                                                                         log("[PASS]onRead32:"+v);\r
135                                                                                                         mem.read32(0x20080000,16,function(v){\r
136                                                                                                         log("[PASS]onRead32:"+v);\r
137                                                                                                                 mem.write32(0x20080004,[2],function(){\r
138                                                                                                                         log("[PASS]onWrite32:"+s);\r
139                                                                                                                         mem.write32(0x20080004,[10,20,30],function(){\r
140                                                                                                                                 mcu.close();\r
141                                                                                                                         });\r
142                                                                                                                 });\r
143                                                                                                         });\r
144                                                                                                 });\r
145                                                                                         });\r
146                                                                                 });\r
147                                                                         });\r
148                                                                 });\r
149                                                         });\r
150                                                 });\r
151                                         });\r
152                                 });\r
153                         });\r
154                 },\r
155                 onClose:function(){\r
156                         log("[PASS]onClose");\r
157                 },\r
158                 onError:function(){\r
159                         alert("Error");\r
160                 }\r
161         });\r
162 }\r
163 function sync()\r
164 {\r
165         log();\r
166         var g=function*(){\r
167         try{\r
168                 var v;\r
169                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
170                 yield mcu.waitForNew();\r
171                 var mem=new mbedJS.Memory(mcu,g);\r
172                 yield mem.waitForNew();\r
173                 yield mem.write(0x20080000,1);\r
174                 log("[PASS]onWrite:");\r
175                 v=yield mem.read(0x20080000,1);\r
176                 log("[PASS]onRead:"+v);\r
177                 v=yield mem.read(0x20080001,1);\r
178                 log("[PASS]onRead:"+v);\r
179                 v=yield mem.read(0x20080000,8);\r
180                 log("[PASS]onRead:"+v);\r
181                 yield mem.write(0x20080001,[2]);\r
182                 log("[PASS]onWrite:");\r
183                 yield mem.write(0x20080004,[10,20,30]);\r
184                 log("[PASS]onWrite:");\r
185                 yield mem.write32(0x20080000,0xff);\r
186                 log("[PASS]onWrite32:");\r
187                 v=yield mem.read32(0x20080000);\r
188                 log("[PASS]onRead32:"+v);\r
189                 v=yield mem.read32(0x20080004,4);\r
190                 log("[PASS]onRead32:"+v);\r
191                 v=yield mem.read32(0x20080000,16);\r
192                 log("[PASS]onRead32:"+v);\r
193                 yield mem.write32(0x20080004,[2]);\r
194                 log("[PASS]onWrite32:");\r
195                 yield mem.write32(0x20080004,[10,20,30]);\r
196                 log("[PASS]onWrite32:");\r
197                 mcu.close();\r
198 \r
199         }catch(e){\r
200                 mcu.shutdown();\r
201                 alert(e);\r
202                 throw e;\r
203         }\r
204         }();\r
205         g.next();\r
206         return;\r
207 \r
208 }\r
209 \r
210 </script>\r
211 </head>\r
212 <body>\r
213 <h1>Memory test</h1>\r
214 <hr/>\r
215 <button onclick="async();">ASYNC</button>\r
216 <button onclick="async2();">ASYNC2</button>\r
217 <button onclick="sync();">SYNC</button>\r
218 <button onclick="sync2();">SYNC2</button>\r
219 <textarea id="console" rows="15" cols="80"></textarea>\r
220 </body>