<!--
type="company" 
block="block/maker17.js"
generator="generator/maker17.js" 
media="media/maker17" 
lib="Maker17"
hardware="hardware/arduino" 
language="language/maker17/"
examples="examples/Maker17"
-->
<!-- 
Author :hznupeter
Date:2017-5-30
E-mail:qiujiongtao@163.com
-->
<script type="text/javascript" src="../../blocks/company/maker17.js"></script>
<script type="text/javascript" src="../../generators/arduino/company/maker17.js"></script>
<!--引用所有写好的模块-->
<category id="catMaker17" name="17Maker" colour="40">
	<category id="catMaker17Sensor"  name="传感器" colour="40">
		<block type="maker17_IICSCAN" name="IIC地址查找">
		</block>
		<block type="maker17_LM35temp" name="LM35温度传感器">
			<value name="PIN">
				<shadow type="pins_analog"></shadow>
			</value>
		</block>
		<block type="maker17_dht11" name="DHT11温湿度传感器">
			<value name="PIN">
				<shadow type="pins_digital"></shadow>
			</value>
		</block>
		<block type="maker17_dht22" name="DHT22温湿度传感器">
			<value name="PIN">
				<shadow type="pins_digital"></shadow>
			</value>
		</block>
		<block type="maker17_ADXL345" name="ADXL345三轴加速度计">
			<value name="PIN">
				<shadow type="pins_digital"></shadow>
			</value>
		</block> 
	</category>
	<category id="catMaker17Music" name="音乐" colour="40">
		<block type="maker17_tone"  name="蜂鸣器">
			<value name="PIN">
				<shadow type="pins_digital"></shadow>
			</value>
			<value name="FREQUENCY">
				<shadow type="maker17_tone_notes"  name="设置蜂鸣器频率选择"></shadow>
			</value>
			<value name="DURATION">
				<shadow type="math_number"></shadow>
			</value>
		</block>
		<block type="maker17_newNoTone" name="停止蜂鸣器">
			<value name="PIN">
				<shadow type="pins_digital"></shadow>
			</value>
			<value name="DELAY_TIME">
				<shadow type="math_number"></shadow>
			</value>
		</block>
		<block type=\"lists_create_with_text2\">
			<field name=\"TYPE\">float</field>
			<field name=\"VAR\">tonelist</field>
			<field name=\"TEXT\">1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5</field>
			<next><block type=\"lists_create_with_text2\" >
				<field name=\"TYPE\">long</field>
				<field name=\"VAR\">musiclist</field>
				<field name=\"TEXT\">1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1,5,6,5,4,3,1,2,5,1,2,5,1</field>
				<next>
					<block type=\"lists_create_with_text2\" >
						<field name=\"TYPE\">long</field>
						<field name=\"VAR\">highlist</field>
						<field name=\"TEXT\">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,-1,0</field>
						<next>
							<block type=\"lists_create_with_text2\" >
								<field name=\"TYPE\">long</field>
								<field name=\"VAR\">updownlist</field>
								<field name=\"TEXT\">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</field>
								<next>
									<block type=\"lists_create_with_text2\" >
										<field name=\"TYPE\">long</field>
										<field name=\"VAR\">rhythmlist</field>
										<field name=\"TEXT\">4,4,4,4,4,4,4,4,4,4,2,4,4,2,8,8,8,8,4,4,8,8,8,8,4,4,4,4,2,4,4,2</field>
										<next>
											<block type=\"variables_declare\" >
												<field name=\"VAR\">speed</field>
												<field name=\"TYPE\">float</field>
												<value name=\"VALUE\">
													<block type=\"math_number\" >
														<field name=\"NUM\">120</field>
													</block>
												</value>
												<next><block type=\"variables_declare\"  inline=\"false\">
													<field name=\"VAR\">tone</field>
													<field name=\"TYPE\">long</field>
													<value name=\"VALUE\">
														<block type=\"math_number\" >
															<field name=\"NUM\">0</field>
														</block>
													</value>
													<next>
														<block type=\"variables_declare\" >

															<field name=\"VAR\">freq1</field>
															<field name=\"TYPE\">int</field>
															<value name=\"VALUE\">
																<block type=\"math_number\" >
																	<field name=\"NUM\">0</field>
																</block>
															</value>
															<next>
																<block type=\"variables_declare\" >
																	<field name=\"VAR\">freq2</field>
																	<field name=\"TYPE\">int</field>
																	<value name=\"VALUE\">
																		<block type=\"math_number\" >
																			<field name=\"NUM\">0</field>
																		</block>
																	</value>
																	<next>
																		<block type=\"procedures_callnoreturn\">
																			<mutation name=\"playmusic\">
																			</mutation>
																		</block>
																	</next>
																</block>
															</next>
														</block>
													</next>
												</block>
											</next>
										</block>
									</next>
								</block>
							</next>
						</block>
					</next>
				</block>
			</next>
		</block>
	</next>
</block>



<block type=\"procedures_defnoreturn\"  x=\"0\" y=\"288\">
	<field name=\"NAME\">playmusic</field>
	<statement name=\"STACK\">
		<block type=\"controls_for\" >
			<field name=\"VAR\">i</field>
			<value name=\"FROM\">
				<block type=\"math_number\" >
					<field name=\"NUM\">1</field>
				</block>
			</value>
			<value name=\"TO\">
				<block type=\"math_number\" >
					<field name=\"NUM\">32</field>
				</block>
			</value>
			<value name=\"STEP\">
				<block type=\"math_number\" >
					<field name=\"NUM\">1</field>
				</block>
			</value><statement name=\"DO\">
			<block type=\"variables_set\" >
				<field name=\"VAR\">freq1</field>
				<value name=\"VALUE\">
					<block type=\"math_arithmetic\" >
						<field name=\"OP\">MULTIPLY</field>
						<value name=\"A\">
							<block type=\"lists_getIndex\" >
								<field name=\"VAR\">tonelist</field>
								<value name=\"AT\">
									<block type=\"lists_getIndex\">
										<field name=\"VAR\">musiclist</field>
										<value name=\"AT\">
											<block type=\"variables_get\" >
												<field name=\"VAR\">i</field>
											</block>
										</value>
									</block>
								</value>
							</block>
						</value>
						<value name=\"B\">
							<block type=\"math_arithmetic\" >
								<field name=\"OP\">POWER</field>
								<value name=\"A\">
									<block type=\"math_number\">
										<field name=\"NUM\">2</field>
									</block>
								</value>
								<value name=\"B\">
									<block type=\"lists_getIndex\" >
										<field name=\"VAR\">highlist</field>
										<value name=\"AT\">
											<block type=\"variables_get\" >
												<field name=\"VAR\">i</field>
											</block>
										</value>
									</block>
								</value>
							</block>
						</value>
					</block>
				</value>
				<next>
					<block type=\"variables_set\" >
						<field name=\"VAR\">freq2</field>
						<value name=\"VALUE\">
							<block type=\"math_arithmetic\" >
								<field name=\"OP\">POWER</field>
								<value name=\"A\">
									<block type=\"math_number\" >
										<field name=\"NUM\">2</field>
									</block>
								</value>
								<value name=\"B\">
									<block type=\"math_arithmetic\">
										<field name=\"OP\">DIVIDE</field>
										<value name=\"A\">
											<block type=\"math_arithmetic\" >
												<field name=\"OP\">ADD</field>
												<value name=\"A\">
													<block type=\"lists_getIndex\">
														<field name=\"VAR\">updownlist</field>
														<value name=\"AT\">
															<block type=\"variables_get\" >
																<field name=\"VAR\">i</field>
															</block>
														</value>
													</block>
												</value>
												<value name=\"B\">
													<block type=\"variables_get\">
														<field name=\"VAR\">tone</field>
													</block>
												</value>
											</block>
										</value>
										<value name=\"B\">
											<block type=\"math_number\">
												<field name=\"NUM\">12.0</field>
											</block>
										</value>
									</block>
								</value>
							</block>
						</value>
						<next>
							<block type=\"controls_tone\">
								<value name=\"PIN\">
									<block type=\"pins_digital\">
										<field name=\"PIN\">10</field>
									</block>
								</value>
								<value name=\"FREQUENCY\">
									<block type=\"math_arithmetic\">
										<field name=\"OP\">MULTIPLY</field>
										<value name=\"A\">
											<block type=\"variables_get\">
												<field name=\"VAR\">freq1</field>
											</block>
										</value>
										<value name=\"B\">
											<block type=\"variables_get\">
												<field name=\"VAR\">freq2</field>
											</block>
										</value>
									</block>
								</value>
								<next>
									<block type=\"base_delay\">
										<field name=\"UNIT\">delay</field>
										<value name=\"DELAY_TIME\">
											<block type=\"math_arithmetic\">
												<field name=\"OP\">DIVIDE</field>
												<value name=\"A\">
													<block type=\"math_arithmetic\">
														<field name=\"OP\">MULTIPLY</field>
														<value name=\"A\">
															<block type=\"math_number\">
																<field name=\"NUM\">4000</field>
															</block>
														</value>
														<value name=\"B\">
															<block type=\"math_arithmetic\">
																<field name=\"OP\">DIVIDE</field>
																<value name=\"A\">
																	<block type=\"math_number\">
																		<field name=\"NUM\">60</field>
																	</block>
																</value>
																<value name=\"B\">
																	<block type=\"variables_get\">
																		<field name=\"VAR\">speed</field>
																	</block>
																</value>
															</block>
														</value>
													</block>
												</value>
												<value name=\"B\">
													<block type=\"lists_getIndex\" >
														<field name=\"VAR\">rhythmlist</field>
														<value name=\"AT\">
															<block type=\"variables_get\">
																<field name=\"VAR\">i</field>
															</block>
														</value>
													</block>
												</value>
											</block>
										</value>
										<next>
											<block type=\"controls_notone\" >
												<value name=\"PIN\">
													<block type=\"pins_digital\" >
														<field name=\"PIN\">10</field>
													</block>
												</value>
												<next>
													<block type=\"base_delay\">
														<field name=\"UNIT\">delay</field>
														<value name=\"DELAY_TIME\">
															<block type=\"math_number\">
																<field name=\"NUM\">10</field>
															</block>
														</value>
													</block>
												</next>
											</block>
										</next>
									</block>
								</next>
							</block>
						</next>
					</block>
				</next>
			</block>
		</statement>
	</block>
</statement>
</block>

</category>
<category id="catMaker17Motion" name="动作" colour="40">
	<block type="maker17_motor" name="电机转动">
		<value name="speed">
			<shadow type="math_number">
				<field name="NUM">0</field>
			</shadow>
		</value>
	</block>
	<block type="maker17_motor_stop"  name="电机停止"></block>
</category>
<category id="catMaker17Show" name="显示" colour="40">
	<category id="catMaker17MAX7219" name="MAX7219点阵" colour="40">
		<block type="MAX7219_init" name="LED点阵初始化">
			<value name="PIN1">
				<shadow type="pins_digital">
					<field name="PIN">8</field>
				</shadow>
			</value>
			<value name="PIN2">
				<shadow type="pins_digital">
					<field name="PIN">9</field>
				</shadow>
			</value>
			<value name="PIN3">
				<shadow type="pins_digital">
					<field name="PIN">10</field>
				</shadow>
			</value>
			<value name="NUM">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="Intensity">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
		</block>
		<block type="MAX7219_putString" name="max7219滚动字符串">
			<value name="String">
				<shadow type="text">
					<field name="TEXT">17maker</field>
				</shadow>
			</value>
			<value name="Speed">
				<shadow type="math_number">
					<field name="NUM">300</field>
				</shadow>
			</value>
		</block>

		<block type="MAX7219_DisplayChar" name="显示图案">
			<value name="Chars">
				<block type="LedArray"></block>
			</value>
		</block>

		<block type="Max7219_img" name="预设图案">
		</block>
	</category>
	<category id="catMaker17OLED" name="OLED" colour="40">
		<!--  OLED 类 -->
		<block type="maker17_oled_init" name="OLED初始化">
			<value name="CLK">
				<shadow type="pins_digital">
					<field name="PIN">10</field>
				</shadow>
			</value>
			<value name="DIN">
				<shadow type="pins_digital">  
					<field name="PIN">11</field>
				</shadow>
			</value>
			<value name="DC">
				<shadow type="pins_digital"> 
					<field name="PIN">12</field>
				</shadow>
			</value>
			<value name="CS1">
				<shadow type="pins_digital">  
					<field name="PIN">13</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_init2" name="OLED初始化(IIC)">
		</block>
		<block type="maker17_oled_page"></block>
		<block type="maker17_oled_getHeight_or_Width">
		</block>
		<block type="maker17_oled_define_bitmap_data"></block>
		<block type="maker17_oled_showBitmap" name="显示中文字符">
			<value name="START_X">
				<shadow type="math_number">
					<field name="NUM">0</field>
				</shadow>
			</value>
			<value name="START_Y">
				<shadow type="math_number">
					<field name="NUM">0</field>
				</shadow>
			</value>
			<value name="bitmap_name">
				<block type="text">
					<field name="TEXT">bitmap1</field>
				</block>
			</value>
		</block>
		<block type="maker17_oled_setFont" name="设置字体">
		</block>
		<block type="maker17_oled_drawStr" name="显示字符串">
			<value name="POS_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="POS_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="TEXT">
				<block type="text">
					<field name="TEXT">17Maker</field>
				</block>
			</value>
		</block>
		<block type="maker17_oled_draw4Str" name="显示多行字符串">
			<value name="Text_line1">
				<shadow type="text">
					<field name="TEXT">Hello,world!</field>
				</shadow>
			</value>
			<value name="Text_line2">
				<shadow type="text">
					<field name="TEXT">17maker</field>
				</shadow>
			</value>
			<value name="Text_line3">
				<shadow type="text">
					<field name="TEXT">Design By</field>
				</shadow>
			</value>
			<value name="Text_line4">
				<shadow type="text">
					<field name="TEXT">qiujiongtao</field>
				</shadow>
			</value>
		</block> 
		<block type="maker17_oled_print" name="显示字符串变量">
			<value name="POS_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="POS_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="TEXT">
				<shadow type="text">
					<field name="TEXT">1234</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawPixe" name="画点">
			<value name="POS_X">
				<shadow type="math_number">
					<field name="NUM">64</field>
				</shadow>
			</value>
			<value name="POS_Y">
				<shadow type="math_number">
					<field name="NUM">32</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawLine" name="画线">
			<value name="START_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="START_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="END_X">
				<shadow type="math_number">
					<field name="NUM">15</field>
				</shadow>
			</value>
			<value name="END_Y">
				<shadow type="math_number">
					<field name="NUM">20</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_draw_Str_Line" name="画直线">
			<value name="START_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="START_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="LENGTH">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawFrame" name="画矩形">
			<value name="D0_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="D0_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="WIDTH">
				<shadow type="math_number">
					<field name="NUM">10</field>
				</shadow>
			</value>
			<value name="HEIGHT">
				<shadow type="math_number">
					<field name="NUM">20</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawRFrame" name="画圆角矩形">
			<value name="D0_X">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="D0_Y">
				<shadow type="math_number">
					<field name="NUM">1</field>
				</shadow>
			</value>
			<value name="WIDTH">
				<shadow type="math_number">
					<field name="NUM">10</field>
				</shadow>
			</value>
			<value name="HEIGHT">
				<shadow type="math_number">
					<field name="NUM">20</field>
				</shadow>
			</value>
			<value name="RADIUS">
				<shadow type="math_number">
					<field name="NUM">3</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawCircle" name="画圆">
			<value name="D0_X">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>
			<value name="D0_Y">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>

			<value name="RADIUS">
				<shadow type="math_number">
					<field name="NUM">6</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawEllipse" name="画椭圆">
			<value name="D0_X">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>
			<value name="D0_Y">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>

			<value name="RADIUS_X">
				<shadow type="math_number">
					<field name="NUM">6</field>
				</shadow>
			</value>
			<value name="RADIUS_Y">
				<shadow type="math_number">
					<field name="NUM">15</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_oled_drawTriangle" name="画三角形">
			<value name="D0_X">
				<shadow type="math_number">
					<field name="NUM">14</field>
				</shadow>
			</value>
			<value name="D0_Y">
				<shadow type="math_number">
					<field name="NUM">55</field>
				</shadow>
			</value>
			<value name="D1_X">
				<shadow type="math_number">
					<field name="NUM">45</field>
				</shadow>
			</value>
			<value name="D1_Y">
				<shadow type="math_number">
					<field name="NUM">33</field>
				</shadow>
			</value>
			<value name="D2_X">
				<shadow type="math_number">
					<field name="NUM">8</field>
				</shadow>
			</value>
			<value name="D2_Y">
				<shadow type="math_number">
					<field name="NUM">43</field>
				</shadow>
			</value>
		</block>
	</category>
	<category id="catMaker17_TM1637" name="TM1637数码管" colour="40">
		<block type="Maker17_TM1637_init" name="TM1637初始化">
			<value name="PIN1">
				<shadow type="pins_digital">
					<field name="PIN">3</field>
				</shadow>
			</value>
			<value name="PIN2">
				<shadow type="pins_digital">
					<field name="PIN">2</field>
				</shadow>
			</value>
		</block>
		<block type="Maker17_TM1637_Brightness" name="设置亮度">
			<value name="bit">
			</value> 
		</block>
		<block type="maker17_TM1637_displayString" name="显示字符">
			<value name="VALUE">
				<shadow type="text">
					<field name="TEXT">012345</field>
				</shadow>
			</value>
			<value name="Speed">
				<shadow type="math_number">
					<field name="NUM">300</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_TM1637_displayTime" name="显示时间">
			<value name="hour">
				<shadow type="math_number">
					<field name="NUM">12</field>
				</shadow>
			</value>
			<value name="minute">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>
			<value name="second">
				<shadow type="math_number">
					<field name="NUM">30</field>
				</shadow>
			</value>
		</block>
		<block type="maker17_TM1637_Stopwatch" name="秒表">
		</block>
	</category> 
</category>
<category id="catMaker17Time" name="DS1307时间模块" colour="40">
	<block type="DS1307_start_get_time" name="开始获取时间">
	</block>
	<block type="DS1307_get_time" name="获取时间">
	</block>
	<block type="DS1307_set_time" name="设置时间">
		<value name="hour">
			<shadow type="math_number">
				<field name="NUM">12</field>
			</shadow>
		</value>
		<value name="minute">
			<shadow type="math_number">
				<field name="NUM">1</field>
			</shadow>
		</value>
		<value name="second">
			<shadow type="math_number">
				<field name="NUM">10</field>
			</shadow>
		</value>
	</block>
	<block type="DS1307_set_date" name="设置日期">
		<value name="year">
			<shadow type="math_number">
				<field name="NUM">2017</field>
			</shadow>
		</value>
		<value name="month">
			<shadow type="math_number">
				<field name="NUM">1</field>
			</shadow>
		</value>
		<value name="day">
			<shadow type="math_number">
				<field name="NUM">10</field>
			</shadow>
		</value>
	</block>
</category>
<category id="catMaker17TimeDS3231" name="DS3231时间模块" colour="40">
	<block type="DS3231_get_time" name="获取时间">
	</block>
	<block type="DS3231_set_datetime" name="设置日期时间">
		<value name="year">
			<shadow type="math_number">
				<field name="NUM">2017</field>
			</shadow>
		</value>
		<value name="month">
			<shadow type="math_number">
				<field name="NUM">1</field>
			</shadow>
		</value>
		<value name="day">
			<shadow type="math_number">
				<field name="NUM">10</field>
			</shadow>
		</value>
		<value name="dayOfWeek">
			<shadow type="math_number">
				<field name="NUM">1</field>
			</shadow>
		</value>
		<value name="hour">
			<shadow type="math_number">
				<field name="NUM">12</field>
			</shadow>
		</value>
		<value name="minute">
			<shadow type="math_number">
				<field name="NUM">1</field>
			</shadow>
		</value>
		<value name="second">
			<shadow type="math_number">
				<field name="NUM">10</field>
			</shadow>
		</value>
	</block>
</category>
</category>
</category>