OSDN Git Service

71becd43d5bd6b4e5e92ed74dcdbbefe9ce78947
[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 function sync()\r
108 {\r
109         log();\r
110         var g=function*(){\r
111         try{\r
112                 var v;\r
113                 var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
114                 yield mcu.waitForNew();\r
115                 var mem=new mbedJS.Memory(mcu,g);\r
116                 yield mem.waitForNew();\r
117                 yield mem.write(0x20080000,1);\r
118                 log("[PASS]onWrite:");\r
119                 v=yield mem.read(0x20080000,1);\r
120                 log("[PASS]onRead:"+v);\r
121                 v=yield mem.read(0x20080001,1);\r
122                 log("[PASS]onRead:"+v);\r
123                 v=yield mem.read(0x20080000,8);\r
124                 log("[PASS]onRead:"+v);\r
125                 yield mem.write(0x20080001,[2]);\r
126                 log("[PASS]onWrite:");\r
127                 yield mem.write(0x20080004,[10,20,30]);\r
128                 log("[PASS]onWrite:");\r
129                 yield mem.write32(0x20080000,0xff);\r
130                 log("[PASS]onWrite32:");\r
131                 v=yield mem.read32(0x20080000);\r
132                 log("[PASS]onRead32:"+v);\r
133                 v=yield mem.read32(0x20080004,4);\r
134                 log("[PASS]onRead32:"+v);\r
135                 v=yield mem.read32(0x20080000,16);\r
136                 log("[PASS]onRead32:"+v);\r
137                 yield mem.write32(0x20080004,[2]);\r
138                 log("[PASS]onWrite32:");\r
139                 yield mem.write32(0x20080004,[10,20,30]);\r
140                 log("[PASS]onWrite32:");\r
141                 mcu.close();\r
142 \r
143         }catch(e){\r
144                 mcu.shutdown();\r
145                 alert(e);\r
146                 throw e;\r
147         }\r
148         }();\r
149         g.next();\r
150         return;\r
151 \r
152 }\r
153 \r
154 </script>\r
155 </head>\r
156 <body>\r
157 <h1>Memory test</h1>\r
158 <hr/>\r
159 <button onclick="async();">ASYNC</button>\r
160 <button onclick="sync();">SYNC</button>\r
161 <button onclick="sync2();">SYNC2</button>\r
162 <textarea id="console" rows="15" cols="80"></textarea>\r
163 </body>