source: EcnlProtoTool/trunk/webapp/webmrbc/Arduino/GrPeach.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.8 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: GrPeach.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 GrPeach : TargetBoard
44 {
45 public override FieldDropdown Pins()
46 {
47 return new FieldDropdown(new[] {
48 new [] { "LED1/RED ", "P6_13" },
49 new [] { "LED2/GREEN", "P6_14" },
50 new [] { "LED3/BLUE", "P6_15" },
51 new [] { "LED4/USER", "P6_12" },
52 new [] { "D0", "P2_15" },
53 new [] { "D1", "P2_14" },
54 new [] { "D2", "P4_7" },
55 new [] { "D3", "P4_6" },
56 new [] { "D4", "P4_5" },
57 new [] { "D5", "P4_4" },
58 new [] { "D6", "P8_13" },
59 new [] { "D7", "P8_11" },
60 new [] { "D8", "P8_15" },
61 new [] { "D9", "P8_14" },
62 new [] { "D10", "P10_13" },
63 new [] { "D11", "P10_14" },
64 new [] { "D12", "P10_15" },
65 new [] { "D13", "P10_12" },
66 new [] { "D14", "P1_3" },
67 new [] { "D15", "P1_2" },
68 new [] { "USER_BUTTON0", "P6_0" },
69 });
70 }
71 public override FieldDropdown AnalogPins()
72 {
73 return new FieldDropdown(new[] {
74 new [] { "A0", "P1_8" },
75 new [] { "A1", "P1_9" },
76 new [] { "A2", "P1_10" },
77 new [] { "A3", "P1_11" },
78 new [] { "A4", "P1_13" },
79 new [] { "A5", "P1_15" },
80 });
81 }
82
83 public override FieldDropdown PwmPins()
84 {
85 return new FieldDropdown(new[] {
86 new [] { "PWM0_PIN", "P4_4" },
87 new [] { "PWM1_PIN", "P3_2" },
88 new [] { "PWM2_PIN", "P4_6" },
89 new [] { "PWM3_PIN", "P4_7" },
90 new [] { "PWM4_PIN", "P8_14" },
91 new [] { "PWM5_PIN", "P8_15" },
92 new [] { "PWM6_PIN", "P8_13" },
93 new [] { "PWM7_PIN", "P8_11" },
94 new [] { "PWM8_PIN", "P8_8" },
95 new [] { "PWM9_PIN", "P10_0" },
96 new [] { "PWM10_PIN", "P8_12" },
97 new [] { "PWM11_PIN", "P8_9" },
98 new [] { "PWM12_PIN", "P8_10" },
99 new [] { "PWM13_PIN", "P4_5" },
100 });
101 }
102
103 public override int PinNameToNum(string name)
104 {
105 switch (name) {
106 case "P0_0": return 0;
107 case "P0_1": return 1;
108 case "P0_2": return 2;
109 case "P0_3": return 3;
110 case "P0_4": return 4;
111 case "P0_5": return 5;
112 case "_P0_6": return 6;
113 case "_P0_7": return 7;
114 case "_P0_8": return 8;
115 case "_P0_9": return 9;
116 case "_P0_10": return 10;
117 case "_P0_11": return 11;
118 case "_P0_12": return 12;
119 case "_P0_13": return 13;
120 case "_P0_14": return 14;
121 case "_P0_15": return 15;
122 case "P1_0": return 16;
123 case "P1_1": return 17;
124 case "P1_2": return 18;
125 case "P1_3": return 19;
126 case "P1_4": return 20;
127 case "P1_5": return 21;
128 case "P1_6": return 22;
129 case "P1_7": return 23;
130 case "P1_8": return 24;
131 case "P1_9": return 25;
132 case "P1_10": return 26;
133 case "P1_11": return 27;
134 case "P1_12": return 28;
135 case "P1_13": return 29;
136 case "P1_14": return 30;
137 case "P1_15": return 31;
138 case "P2_0": return 32;
139 case "P2_1": return 33;
140 case "P2_2": return 34;
141 case "P2_3": return 35;
142 case "P2_4": return 36;
143 case "P2_5": return 37;
144 case "P2_6": return 38;
145 case "P2_7": return 39;
146 case "P2_8": return 40;
147 case "P2_9": return 41;
148 case "P2_10": return 42;
149 case "P2_11": return 43;
150 case "P2_12": return 44;
151 case "P2_13": return 45;
152 case "P2_14": return 46;
153 case "P2_15": return 47;
154 case "P3_0": return 48;
155 case "P3_1": return 49;
156 case "P3_2": return 50;
157 case "P3_3": return 51;
158 case "P3_4": return 52;
159 case "P3_5": return 53;
160 case "P3_6": return 54;
161 case "P3_7": return 55;
162 case "P3_8": return 56;
163 case "P3_9": return 57;
164 case "P3_10": return 58;
165 case "P3_11": return 59;
166 case "P3_12": return 60;
167 case "P3_13": return 61;
168 case "P3_14": return 62;
169 case "P3_15": return 63;
170 case "P4_0": return 64;
171 case "P4_1": return 65;
172 case "P4_2": return 66;
173 case "P4_3": return 67;
174 case "P4_4": return 68;
175 case "P4_5": return 69;
176 case "P4_6": return 70;
177 case "P4_7": return 71;
178 case "P4_8": return 72;
179 case "P4_9": return 73;
180 case "P4_10": return 74;
181 case "P4_11": return 75;
182 case "P4_12": return 76;
183 case "P4_13": return 77;
184 case "P4_14": return 78;
185 case "P4_15": return 79;
186 case "P5_0": return 80;
187 case "P5_1": return 81;
188 case "P5_2": return 82;
189 case "P5_3": return 83;
190 case "P5_4": return 84;
191 case "P5_5": return 85;
192 case "P5_6": return 86;
193 case "P5_7": return 87;
194 case "P5_8": return 88;
195 case "P5_9": return 89;
196 case "P5_10": return 90;
197 case "P5_11": return 91;
198 case "P5_12": return 92;
199 case "P5_13": return 93;
200 case "P5_14": return 94;
201 case "P5_15": return 95;
202 case "P6_0": return 96;
203 case "P6_1": return 97;
204 case "P6_2": return 98;
205 case "P6_3": return 99;
206 case "P6_4": return 100;
207 case "P6_5": return 101;
208 case "P6_6": return 102;
209 case "P6_7": return 103;
210 case "P6_8": return 104;
211 case "P6_9": return 105;
212 case "P6_10": return 106;
213 case "P6_11": return 107;
214 case "P6_12": return 108;
215 case "P6_13": return 109;
216 case "P6_14": return 110;
217 case "P6_15": return 111;
218 case "P7_0": return 112;
219 case "P7_1": return 113;
220 case "P7_2": return 114;
221 case "P7_3": return 115;
222 case "P7_4": return 116;
223 case "P7_5": return 117;
224 case "P7_6": return 118;
225 case "P7_7": return 119;
226 case "P7_8": return 120;
227 case "P7_9": return 121;
228 case "P7_10": return 122;
229 case "P7_11": return 123;
230 case "P7_12": return 124;
231 case "P7_13": return 125;
232 case "P7_14": return 126;
233 case "P7_15": return 127;
234 case "P8_0": return 128;
235 case "P8_1": return 129;
236 case "P8_2": return 130;
237 case "P8_3": return 131;
238 case "P8_4": return 132;
239 case "P8_5": return 133;
240 case "P8_6": return 134;
241 case "P8_7": return 135;
242 case "P8_8": return 136;
243 case "P8_9": return 137;
244 case "P8_10": return 138;
245 case "P8_11": return 139;
246 case "P8_12": return 140;
247 case "P8_13": return 141;
248 case "P8_14": return 142;
249 case "P8_15": return 143;
250 case "P9_0": return 144;
251 case "P9_1": return 145;
252 case "P9_2": return 146;
253 case "P9_3": return 147;
254 case "P9_4": return 148;
255 case "P9_5": return 149;
256 case "P9_6": return 150;
257 case "P9_7": return 151;
258 case "P9_8": return 152;
259 case "P9_9": return 153;
260 case "P9_10": return 154;
261 case "P9_11": return 155;
262 case "P9_12": return 156;
263 case "P9_13": return 157;
264 case "P9_14": return 158;
265 case "P9_15": return 159;
266 case "P10_0": return 160;
267 case "P10_1": return 161;
268 case "P10_2": return 162;
269 case "P10_3": return 163;
270 case "P10_4": return 164;
271 case "P10_5": return 165;
272 case "P10_6": return 166;
273 case "P10_7": return 167;
274 case "P10_8": return 168;
275 case "P10_9": return 169;
276 case "P10_10": return 170;
277 case "P10_11": return 171;
278 case "P10_12": return 172;
279 case "P10_13": return 173;
280 case "P10_14": return 174;
281 case "P10_15": return 175;
282 case "P11_0": return 176;
283 case "P11_1": return 177;
284 case "P11_2": return 178;
285 case "P11_3": return 179;
286 case "P11_4": return 180;
287 case "P11_5": return 181;
288 case "P11_6": return 182;
289 case "P11_7": return 183;
290 case "P11_8": return 184;
291 case "P11_9": return 185;
292 case "P11_10": return 186;
293 case "P11_11": return 187;
294 case "P11_12": return 188;
295 case "P11_13": return 189;
296 case "P11_14": return 190;
297 case "P11_15": return 191;
298 default: return -1;
299 }
300 }
301
302 public override int PinModeNameToNum(string name)
303 {
304 switch (name) {
305 case "INPUT": return 0;
306 case "OUTPUT": return 1;
307 default: return -1;
308 }
309 }
310
311 public override int PinValueNameToNum(string name)
312 {
313 switch (name) {
314 case "LOW": return 0;
315 case "HIGH": return 1;
316 default: return -1;
317 }
318 }
319
320 public override int AnalogRefModeNameToNum(string name)
321 {
322 switch (name) {
323 case "DEFAULT": return 0;
324 case "INTERNAL": return 1;
325 case "EXTERNAL": return 2;
326 case "RAW12BIT": return 3;
327 default: return -1;
328 }
329 }
330
331 public override FieldDropdown I2CPorts()
332 {
333 return new FieldDropdown(new[] {
334 new[] { "SDA-D14/SCL-D15", "I2C0" },
335 });
336 }
337
338 public override string I2CPortNameToVariable(string name)
339 {
340 switch (name) {
341 case "I2C0": return "$i2c0";
342 case "I2C1": return "$i2c1";
343 case "I2C2": return "$i2c2";
344 case "I2C3": return "$i2c3";
345 default: return name;
346 }
347 }
348
349 public override int I2CPortNameToNum(string name)
350 {
351 switch (name) {
352 case "I2C0": return 0;
353 case "I2C1": return 1;
354 case "I2C2": return 2;
355 case "I2C3": return 3;
356 default: return -1;
357 }
358 }
359
360 public override FieldDropdown MemFileHandles()
361 {
362 return new FieldDropdown(new[] {
363 new[] { "MemFile0", "MEM_FILE0" },
364 new[] { "MemFile1", "MEM_FILE1" }
365 });
366 }
367
368 public override int MemFileHandlerNameToNum(string name)
369 {
370 switch (name) {
371 case "MEM_FILE0": return 0;
372 case "MEM_FILE1": return 1;
373 default: return -1;
374 }
375 }
376
377 public override int MemOpenModeNameToNum(string name)
378 {
379 switch (name) {
380 case "EEP_READ": return 0;
381 case "EEP_APPEND": return 1;
382 case "EEP_WRITE": return 2;
383 default: return -1;
384 }
385 }
386
387 public override int MemCpModeNameToNum(string name)
388 {
389 switch (name) {
390 case "NO_OVERWRITE": return 0;
391 case "OVERWRITE": return 1;
392 default: return -1;
393 }
394 }
395
396 public override FieldDropdown SdFileHandles()
397 {
398 return new FieldDropdown(new[] {
399 new[] { "SdFile0", "SD_FILE0" },
400 new[] { "SdFile1", "SD_FILE1" }
401 });
402 }
403
404 public override int SdFileHandlerNameToNum(string name)
405 {
406 switch (name) {
407 case "SD_FILE0": return 0;
408 case "SD_FILE1": return 1;
409 default: return -1;
410 }
411 }
412
413 public override int SdOpenModeNameToNum(string name)
414 {
415 switch (name) {
416 case "READ": return 0;
417 case "APPEND": return 1;
418 case "NEW_CREATE": return 2;
419 default: return -1;
420 }
421 }
422
423 public override FieldDropdown SerialPorts()
424 {
425 return new FieldDropdown(new[] {
426 new[] { "USB", "SERIAL0" },
427 new[] { "TX-0/RX-1", "SERIAL1" },
428 new[] { "TX-5/RX-6", "SERIAL2" },
429 new[] { "TX-7/RX-8", "SERIAL3" },
430 new[] { "TX-12/RX-11", "SERIAL4" },
431 new[] { "TX-9(26)/RX-3", "SERIAL5" }
432 });
433 }
434
435 public override int SerialPortNameToNum(string name)
436 {
437 switch (name) {
438 case "SERIAL0": return 0;
439 case "SERIAL1": return 1;
440 case "SERIAL2": return 2;
441 case "SERIAL3": return 3;
442 case "SERIAL4": return 4;
443 case "SERIAL5": return 5;
444 default: return -1;
445 }
446 }
447
448 public override string SerialPortNameToVariable(string name)
449 {
450 switch (name) {
451 case "SERIAL0": return "$Serial";
452 case "SERIAL1": return "$Serial1";
453 case "SERIAL2": return "$Serial2";
454 case "SERIAL3": return "$Serial3";
455 case "SERIAL4": return "$Serial4";
456 case "SERIAL5": return "$Serial5";
457 default: return name;
458 }
459 }
460 }
461}
Note: See TracBrowser for help on using the repository browser.