source: EcnlProtoTool/trunk/webapp/webmrbc/Arduino/GrSakura.cs@ 287

Last change on this file since 287 was 287, checked in by coas-nagasima, 7 years ago

ファイルヘッダーコメントを追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-csharp
File size: 12.2 KB
Line 
1/*
2 * TOPPERS/ECNL Prototyping tool
3 *
4 * Copyright (C) 2017 Cores Co., Ltd. Japan
5 *
6 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
11 * スコード中に含まれていること.
12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
15 * の無保証規定を掲載すること.
16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
18 * と.
19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
20 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
22 * 報告すること.
23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
27 * 免責すること.
28 *
29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
33 * の責任を負わない.
34 *
35 * @(#) $Id: GrSakura.cs 287 2017-05-05 14:22:23Z coas-nagasima $
36 */
37using System;
38using System.Collections.Generic;
39using System.Linq;
40
41namespace WebMrbc
42{
43 public class GrSakura : TargetBoard
44 {
45 public override FieldDropdown Pins()
46 {
47 return new FieldDropdown(new[] {
48 new[] { "IO0", "PIN_IO0" },
49 new[] { "IO1", "PIN_IO1" },
50 new[] { "IO2", "PIN_IO2" },
51 new[] { "IO3", "PIN_IO3" },
52 new[] { "IO4", "PIN_IO4" },
53 new[] { "IO5", "PIN_IO5" },
54 new[] { "IO6", "PIN_IO6" },
55 new[] { "IO7", "PIN_IO7" },
56
57 // IO pins, header CN7.
58 new[] { "IO8", "PIN_IO8" },
59 new[] { "IO9", "PIN_IO9" },
60 new[] { "IO10", "PIN_IO10" },
61 new[] { "IO11", "PIN_IO11" },
62 new[] { "IO12", "PIN_IO12" },
63 new[] { "IO13", "PIN_IO13" },
64
65 // IO pins, header CN7.
66 new[] { "IO14", "PIN_IO14" },
67 new[] { "IO15", "PIN_IO15" },
68 new[] { "IO16", "PIN_IO16" },
69 new[] { "IO17", "PIN_IO17" },
70 new[] { "IO18", "PIN_IO18" },
71 new[] { "IO19", "PIN_IO19" },
72 new[] { "IO20", "PIN_IO20" },
73 new[] { "IO21", "PIN_IO21" },
74
75 // IO pins, header CN9.
76 new[] { "IO22", "PIN_IO22" },
77 new[] { "IO23", "PIN_IO23" },
78 new[] { "IO24", "PIN_IO24" },
79 new[] { "IO25", "PIN_IO25" },
80 new[] { "IO26", "PIN_IO26" },
81 new[] { "IO27", "PIN_IO27" },
82 new[] { "IO28", "PIN_IO28" },
83 new[] { "IO29", "PIN_IO29" },
84
85 // IO pins, header CN10.
86 new[] { "IO30", "PIN_IO30" },
87 new[] { "IO31", "PIN_IO31" },
88 new[] { "IO32", "PIN_IO32" },
89 new[] { "IO33", "PIN_IO33" },
90 new[] { "IO34", "PIN_IO34" },
91 new[] { "IO35", "PIN_IO35" },
92
93 // IO pins, header CN12.
94 new[] { "IO36", "PIN_IO36" },
95 new[] { "IO37", "PIN_IO37" },
96 new[] { "IO38", "PIN_IO38" },
97 new[] { "IO39", "PIN_IO39" },
98 new[] { "IO40", "PIN_IO40" },
99 new[] { "IO41", "PIN_IO41" },
100 new[] { "IO42", "PIN_IO42" },
101 new[] { "IO43", "PIN_IO43" },
102
103 // IO pins, header CN11.
104 new[] { "IO44", "PIN_IO44" },
105 new[] { "IO45", "PIN_IO45" },
106 new[] { "IO46", "PIN_IO46" },
107 new[] { "IO47", "PIN_IO47" },
108 new[] { "IO48", "PIN_IO48" },
109 new[] { "IO49", "PIN_IO49" },
110 new[] { "IO50", "PIN_IO50" },
111 new[] { "IO51", "PIN_IO51" },
112
113 // IO pins, header CN13.
114 new[] { "IO52", "PIN_IO52" },
115 new[] { "IO53", "PIN_IO53" },
116 new[] { "IO54", "PIN_IO54" },
117 new[] { "IO55", "PIN_IO55" },
118
119 // IO pins, header CN6.
120 new[] { "IO56", "PIN_IO56" },
121 new[] { "IO57", "PIN_IO57" },
122 new[] { "IO58", "PIN_IO58" },
123 new[] { "IO59", "PIN_IO59" },
124 new[] { "IO60", "PIN_IO60" },
125
126 // LEDs (D1-D4) and SW.
127 new[] { "LED0", "PIN_LED0" },
128 new[] { "LED1", "PIN_LED1" },
129 new[] { "LED2", "PIN_LED2" },
130 new[] { "LED3", "PIN_LED3" },
131 new[] { "SW", "PIN_SW" },
132 });
133 }
134 public override FieldDropdown AnalogPins()
135 {
136 return new FieldDropdown(new[] {
137 // Analog pins, header CN15.
138 new[] { "AN000", "PIN_AN000" },
139 new[] { "AN001", "PIN_AN001" },
140 new[] { "AN002", "PIN_AN002" },
141 new[] { "AN003", "PIN_AN003" },
142 new[] { "AN004", "PIN_AN004" },
143 new[] { "AN005", "PIN_AN005" },
144
145 // Analog pins, header CN13.
146 new[] { "AN006", "PIN_AN006" },
147 new[] { "AN007", "PIN_AN007" },
148
149 // Analog pins, header CN12.
150 new[] { "AN008", "PIN_AN008" },
151 new[] { "AN009", "PIN_AN009" },
152 new[] { "AN010", "PIN_AN010" },
153 new[] { "AN011", "PIN_AN011" },
154 new[] { "AN012", "PIN_AN012" },
155 new[] { "AN013", "PIN_AN013" },
156
157 // Analog input, RX63N internal
158 new[] { "ANINT", "PIN_ANINT" },
159 new[] { "ANTMP", "PIN_ANTMP" },
160 });
161 }
162
163 public override FieldDropdown PwmPins()
164 {
165 return new FieldDropdown(new[] {
166 new[] { "IO0", "PIN_IO0" },
167 new[] { "IO1", "PIN_IO1" },
168 new[] { "IO2", "PIN_IO2" },
169 new[] { "IO3", "PIN_IO3" },
170 new[] { "IO4", "PIN_IO4" },
171 new[] { "IO5", "PIN_IO5" },
172 new[] { "IO6", "PIN_IO6" },
173 new[] { "IO7", "PIN_IO7" },
174 new[] { "IO9", "PIN_IO9" },
175 new[] { "IO10", "PIN_IO10" },
176 });
177 }
178
179 public override int PinNameToNum(string name)
180 {
181 switch (name) {
182 case "PIN_IO0": return 0;
183 case "PIN_IO1": return 1;
184 case "PIN_IO2": return 2;
185 case "PIN_IO3": return 3;
186 case "PIN_IO4": return 4;
187 case "PIN_IO5": return 5;
188 case "PIN_IO6": return 6;
189 case "PIN_IO7": return 7;
190 case "PIN_IO8": return 8;
191 case "PIN_IO9": return 9;
192 case "PIN_IO10": return 10;
193 case "PIN_IO11": return 11;
194 case "PIN_IO12": return 12;
195 case "PIN_IO13": return 13;
196 case "PIN_IO14": return 14;
197 case "PIN_IO15": return 15;
198 case "PIN_IO16": return 16;
199 case "PIN_IO17": return 17;
200 case "PIN_IO18": return 18;
201 case "PIN_IO19": return 19;
202 case "PIN_IO20": return 20;
203 case "PIN_IO21": return 21;
204 case "PIN_IO22": return 22;
205 case "PIN_IO23": return 23;
206 case "PIN_IO24": return 24;
207 case "PIN_IO25": return 25;
208 case "PIN_IO26": return 26;
209 case "PIN_IO27": return 27;
210 case "PIN_IO28": return 28;
211 case "PIN_IO29": return 29;
212 case "PIN_IO30": return 30;
213 case "PIN_IO31": return 31;
214 case "PIN_IO32": return 32;
215 case "PIN_IO33": return 33;
216 case "PIN_IO34": return 34;
217 case "PIN_IO35": return 35;
218 case "PIN_IO36": return 36;
219 case "PIN_IO37": return 37;
220 case "PIN_IO38": return 38;
221 case "PIN_IO39": return 39;
222 case "PIN_IO40": return 40;
223 case "PIN_IO41": return 41;
224 case "PIN_IO42": return 42;
225 case "PIN_IO43": return 43;
226 case "PIN_IO44": return 44;
227 case "PIN_IO45": return 45;
228 case "PIN_IO46": return 46;
229 case "PIN_IO47": return 47;
230 case "PIN_IO48": return 48;
231 case "PIN_IO49": return 49;
232 case "PIN_IO50": return 50;
233 case "PIN_IO51": return 51;
234 case "PIN_IO52": return 52;
235 case "PIN_IO53": return 53;
236 case "PIN_IO54": return 54;
237 case "PIN_IO55": return 55;
238 case "PIN_IO56": return 56;
239 case "PIN_IO57": return 57;
240 case "PIN_IO58": return 58;
241 case "PIN_IO59": return 59;
242 case "PIN_IO60": return 60;
243 case "PIN_LED0": return 61;
244 case "PIN_LED1": return 62;
245 case "PIN_LED2": return 63;
246 case "PIN_LED3": return 64;
247 case "PIN_SW": return 65;
248 case "PIN_AN000": return 14;
249 case "PIN_AN001": return 15;
250 case "PIN_AN002": return 16;
251 case "PIN_AN003": return 17;
252 case "PIN_AN004": return 18;
253 case "PIN_AN005": return 19;
254 case "PIN_AN006": return 20;
255 case "PIN_AN007": return 21;
256 case "PIN_AN008": return 22;
257 case "PIN_AN009": return 23;
258 case "PIN_AN010": return 24;
259 case "PIN_AN011": return 25;
260 case "PIN_AN012": return 26;
261 case "PIN_AN013": return 27;
262 case "PIN_ANINT": return 28;
263 case "PIN_ANTMP": return 29;
264 default: return -1;
265 }
266 }
267
268 public override int PinModeNameToNum(string name)
269 {
270 switch (name) {
271 case "INPUT": return 0;
272 case "OUTPUT": return 1;
273 default: return -1;
274 }
275 }
276
277 public override int PinValueNameToNum(string name)
278 {
279 switch (name) {
280 case "LOW": return 0;
281 case "HIGH": return 1;
282 default: return -1;
283 }
284 }
285
286 public override int AnalogRefModeNameToNum(string name)
287 {
288 switch (name) {
289 case "DEFAULT": return 0;
290 case "INTERNAL": return 1;
291 case "EXTERNAL": return 2;
292 case "RAW12BIT": return 3;
293 default: return -1;
294 }
295 }
296
297 public override FieldDropdown I2CPorts()
298 {
299 return new FieldDropdown(new[] {
300 new[] { "SDA-0/SCL-1", "I2C0" },
301 new[] { "SDA-5/SCL-6", "I2C1" },
302 new[] { "SDA-7/SCL-8", "I2C2" },
303 new[] { "SDA-9(26)/SCL-3", "I2C3" }
304 });
305 }
306
307 public override string I2CPortNameToVariable(string name)
308 {
309 switch (name) {
310 case "I2C0": return "$i2c0";
311 case "I2C1": return "$i2c1";
312 case "I2C2": return "$i2c2";
313 case "I2C3": return "$i2c3";
314 default: return name;
315 }
316 }
317
318 public override int I2CPortNameToNum(string name)
319 {
320 switch (name) {
321 case "I2C0": return 0;
322 case "I2C1": return 1;
323 case "I2C2": return 2;
324 case "I2C3": return 3;
325 default: return -1;
326 }
327 }
328
329 public override FieldDropdown MemFileHandles()
330 {
331 return new FieldDropdown(new[] {
332 new[] { "MemFile0", "MEM_FILE0" },
333 new[] { "MemFile1", "MEM_FILE1" }
334 });
335 }
336
337 public override int MemFileHandlerNameToNum(string name)
338 {
339 switch (name) {
340 case "MEM_FILE0": return 0;
341 case "MEM_FILE1": return 1;
342 default: return -1;
343 }
344 }
345
346 public override int MemOpenModeNameToNum(string name)
347 {
348 switch (name) {
349 case "EEP_READ": return 0;
350 case "EEP_APPEND": return 1;
351 case "EEP_WRITE": return 2;
352 default: return -1;
353 }
354 }
355
356 public override int MemCpModeNameToNum(string name)
357 {
358 switch (name) {
359 case "NO_OVERWRITE": return 0;
360 case "OVERWRITE": return 1;
361 default: return -1;
362 }
363 }
364
365 public override FieldDropdown SdFileHandles()
366 {
367 return new FieldDropdown(new[] {
368 new[] { "SdFile0", "SD_FILE0" },
369 new[] { "SdFile1", "SD_FILE1" }
370 });
371 }
372
373 public override int SdFileHandlerNameToNum(string name)
374 {
375 switch (name) {
376 case "SD_FILE0": return 0;
377 case "SD_FILE1": return 1;
378 default: return -1;
379 }
380 }
381
382 public override int SdOpenModeNameToNum(string name)
383 {
384 switch (name) {
385 case "READ": return 0;
386 case "APPEND": return 1;
387 case "NEW_CREATE": return 2;
388 default: return -1;
389 }
390 }
391
392 public override FieldDropdown SerialPorts()
393 {
394 return new FieldDropdown(new[] {
395 new[] { "USB", "SERIAL0" },
396 new[] { "TX-0/RX-1", "SERIAL1" },
397 new[] { "TX-5/RX-6", "SERIAL2" },
398 new[] { "TX-7/RX-8", "SERIAL3" },
399 new[] { "TX-12/RX-11", "SERIAL4" },
400 new[] { "TX-9(26)/RX-3", "SERIAL5" }
401 });
402 }
403
404 public override int SerialPortNameToNum(string name)
405 {
406 switch (name) {
407 case "SERIAL0": return 0;
408 case "SERIAL1": return 1;
409 case "SERIAL2": return 2;
410 case "SERIAL3": return 3;
411 case "SERIAL4": return 4;
412 case "SERIAL5": return 5;
413 default: return -1;
414 }
415 }
416
417 public override string SerialPortNameToVariable(string name)
418 {
419 switch (name) {
420 case "SERIAL0": return "$Serial";
421 case "SERIAL1": return "$Serial1";
422 case "SERIAL2": return "$Serial2";
423 case "SERIAL3": return "$Serial3";
424 case "SERIAL4": return "$Serial4";
425 case "SERIAL5": return "$Serial5";
426 default: return name;
427 }
428 }
429 }
430}
Note: See TracBrowser for help on using the repository browser.