/**
* @license
* Copyright 2012 Fred Lin
* SPDX-License-Identifier: GPL-3.0-or-later
*/

/**
 * @fileoverview Helper functions for generating seeeduino grove blocks.
 * @author gasolin@gmail.com (Fred Lin)
 * @author scanet@libreduc.cc (Sébastien CANET)
 */

var profile = {
	"none": [{
			"I2C": [],
			"PWM": [],
			"SPI": [],
			"_id": "none",
			"analog": [],
			"cpu": "",
			"description": "",
			"digital": [],
			"dropdownAnalog": [],
			"dropdownPWM": [],
			"interrupt": [],
			"picture": "./blocklyduino/media/boards/none.jpg",
			"serial": [],
			"serialList": [],
			"serialPin": [],
			"speed": "",
			"upload_arg": "none"
		}
	],
	"arduino_leonardo": [{
			"I2C": ["2", "3"],
			"PWM": ["3", "5", "6", "9", "10", "11", "13"],
			"SPI": ["connect"],
			"_id": "arduino_leonardo",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A6", "A7", "A8", "A9", "A10", "A11"],
			"cpu": "atmega32u4",
			"description": "Arduino Leonardo",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6(D4)", "4"], ["A7(D6)", "6"], ["A8(D8)", "8"], ["A9(D9)", "9"], ["A10(D10)", "10"], ["A11(D12)", "12"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"], ["13", "13"]],
			"interrupt": ["3", "2", "0", "1", "7"],
			"picture": "./blocklyduino/media/boards/arduino_leonardo.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:leonardo"
		}
	],
	"arduino_mega": [{
			"I2C": ["20", "21"],
			"PWM": ["2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "44", "45", "46"],
			"SPI": [["50 (SS)", "50"], ["51 (MOSI)", "51"], ["52 (MISO)", "52"], ["53 (SCK)", "53"]],
			"_id": "arduino_mega",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15"],
			"cpu": "atmega2560",
			"description": "Arduino Mega",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6", "A6"], ["A7", "A7"], ["A8", "A8"], ["A9", "A9"], ["A10", "A10"], ["A11", "A11"], ["A12", "A12"], ["A13", "A13"], ["A14", "A14"], ["A15", "A15"]],
			"dropdownDigital": [["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["23", "23"], ["24", "24"], ["25", "25"], ["26", "26"], ["27", "27"], ["28", "28"], ["29", "29"], ["30", "30"], ["31", "31"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"], ["40", "40"], ["41", "41"], ["42", "42"], ["43", "43"], ["44", "44"], ["45", "45"], ["46", "46"]],
			"dropdownPWM": [["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["44", "44"], ["45", "45"], ["46", "46"]],
			"interrupt": ["2", "3", "21", "20", "19", "18"],
			"picture": "./blocklyduino/media/boards/arduino_mega.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"], ["19 (Rx1) ; 18 (Tx1)", "19"], ["17 (Rx2) ; 16 (Tx2)", "17"], ["15 (Rx3) ; 14 (Tx3)", "15"]],
			"speed": "115200",
			"upload_arg": "arduino:avr:mega:cpu=atmega2560"
		}
	],
	"arduino_micro": [{
			"I2C": ["2", "3"],
			"PWM": ["3", "5", "6", "9", "10", "11", "13"],
			"SPI": ["connect"],
			"_id": "arduino_micro",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A6", "A7", "A8", "A9", "A10", "A11"],
			"cpu": "atmega32u4",
			"description": "Arduino Micro",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6(D4)", "4"], ["A7(D6)", "6"], ["A8(D8)", "8"], ["A9(D9)", "9"], ["A10(D10)", "10"], ["A11(D12)", "12"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"], ["13", "13"]],
			"interrupt": [["0(Rx)", "0"], ["1(Tx)", "1"], ["2", "2"], ["3", "3"], ["7", "7"]],
			"picture": "./blocklyduino/media/boards/arduino_micro.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:micro"
		}
	],
	"arduino_mini": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "arduino_mini",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"],
			"cpu": "atmega328p",
			"description": "Arduino Mini",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6", "A6"], ["A7", "A7"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": [["2", "2"], ["3", "3"]],
			"picture": "./blocklyduino/media/boards/arduino_mini.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "115200",
			"upload_arg": "arduino:avr:mini"
		}
	],
	"arduino_nano": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "arduino_nano",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"],
			"cpu": "atmega328p",
			"description": "Arduino Nano",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6", "A6"], ["A7", "A7"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": ["2", "3"],
			"picture": "./blocklyduino/media/boards/arduino_nano.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "115200",
			"upload_arg": "arduino:avr:nano:cpu=atmega328old"
		}
	],
	"arduino_pro8": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "arduino_pro8",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5"],
			"cpu": "atmega328p",
			"description": "Arduino Pro Mini 3.3V",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": [["2", "2"], ["3", "3"]],
			"picture": "./blocklyduino/media/boards/arduino_pro.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:pro:cpu=8MHzatmega328"
		}
	],
	"arduino_pro16": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "arduino_pro16",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5"],
			"cpu": "atmega328p",
			"description": "Arduino Pro Mini 5V",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": [["2", "2"], ["3", "3"]],
			"picture": "./blocklyduino/media/boards/arduino_pro.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:pro:cpu=16MHzatmega328"
		}
	],
	"arduino_uno": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "arduino_uno",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5"],
			"cpu": "atmega328p",
			"description": "Arduino Uno",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6", "A6"], ["A7", "A7"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": ["2", "3"],
			"picture": "./blocklyduino/media/boards/arduino_uno.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "115200",
			"upload_arg": "arduino:avr:uno"
		}
	],
	"arduino_yun": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11", "13"],
			"SPI": ["connect"],
			"_id": "arduino_yun",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A6", "A7", "A8", "A9", "A10", "A11"],
			"cpu": "atmega32u4",
			"description": "Arduino Yùn",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"], ["A6(D4)", "4"], ["A7(D6)", "6"], ["A8(D8)", "8"], ["A9(D9)", "9"], ["A10(D10)", "10"], ["A11(D12)", "12"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"], ["13", "13"]],
			"interrupt": ["3", "2", "0", "1", "7"],
			"picture": "./blocklyduino/media/boards/arduino_yun.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:yun"
		}
	],
	"lilypad": [{
			"I2C": ["A4", "A5"],
			"PWM": ["3", "5", "6", "9", "10", "11"],
			"SPI": [["10 (SS)", "10"], ["11 (MOSI)", "11"], ["12 (MISO)", "12"], ["13 (SCK)", "13"]],
			"_id": "lilypad",
			"analog": ["A0", "A1", "A2", "A3", "A4", "A5"],
			"cpu": "atmega328p",
			"description": "LilyPad",
			"digital": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
			"dropdownAnalog": [["A0", "A0"], ["A1", "A1"], ["A2", "A2"], ["A3", "A3"], ["A4", "A4"], ["A5", "A5"]],
			"dropdownDigital": [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"]],
			"dropdownPWM": [["3", "3"], ["5", "5"], ["6", "6"], ["9", "9"], ["10", "10"], ["11", "11"]],
			"interrupt": ["2", "3"],
			"picture": "./blocklyduino/media/boards/lilypad.jpg",
			"serial": [["300", "300"], ["600", "600"], ["1200", "1200"], ["2400", "2400"], ["4800", "4800"], ["9600", "9600"], ["14400", "14400"], ["19200", "19200"], ["28800", "28800"], ["31250", "31250"], ["38400", "38400"], ["57600", "57600"], ["115200", "115200"]],
			"serialList": ["300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "31250", "38400", "57600", "115200"],
			"serialPin": [["0 (Rx) ; 1 (Tx)", "0"]],
			"speed": "57600",
			"upload_arg": "arduino:avr:lilypad"
		}
	]
}
