Blockly.Blocks['r_pin'] = { init: function() { this.appendStatementInput("1") .setCheck(null) .appendField("控制板致動器腳位設定"); } }; Blockly.cake['r_pin'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['s_pin'] = { init: function() { this.appendStatementInput("2") .setCheck(null) .appendField("控制板感測器腳位設定"); } }; Blockly.cake['s_pin'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['rf_pin'] = { init: function() { this.appendStatementInput("3") .setCheck(null) .appendField("控制板通訊介面設定"); } }; Blockly.cake['rf_pin'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['pin_set'] = { init: function() { this.appendDummyInput() .appendField(new Blockly.FieldDropdown([["relay1","relay1"], ["relay2","relay2"], ["relay3","relay3"], ["relay4","relay4"], ["relay5","relay5"], ["relay6","relay6"], ["relay7","relay7"], ["relay8","relay8"], ["relay9","relay9"], ["relay10","relay10"], ["relay11","relay11"], ["relay12","relay12"], ["relay13","relay13"], ["relay14","relay14"], ["relay15","relay15"], ["relay16","relay16"], ["relay17","relay17"], ["relay18","relay18"], ["relay19","relay19"], ["relay20","relay20"]]), "1") .appendField("設定為") .appendField(new Blockly.FieldDropdown([["真空吸料機","vacuum"], ["中水入水電磁閥","solenoid_reclaimed_in"], ["清水入水電磁閥","solenoid_water_in"], ["幫浦","pump_water_in"], ["排水廢水電磁閥","solenoid_water_out"], ["排水中水電磁閥","solenoid_reclaimed_out"], ["桶內消毒電磁閥","solenoidvalve_disinfect"], ["混合槽幫浦","pump_disinfect"], ["蝴蝶閥","diskvalve"], ["入水清洗槽幫浦","pump_reclaimed_out"], ["保溫夾層進水電磁閥","solenoid_outer_water"], ["逆洗幫浦","solenoid_tank_pump"], ["雙核隔膜泵","pump_sensor"], ["警示燈","warninglight"], ["噴嘴","nozzle"], ["攝影機","camera"], ["加熱器1","heater1"], ["加熱器2","heater2"], ["乾燥真空機","vacuum_pump"]]), "2"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(230); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['pin_set'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['ana'] = { init: function() { this.appendDummyInput() .appendField("類比腳位") .appendField("M4 設定為") .appendField(new Blockly.FieldDropdown([["",""],["PH","PH"], ["DO","DO"], ["ORP","ORP"]]), "1"); this.appendDummyInput() .appendField("類比腳位") .appendField("M5 設定為") .appendField(new Blockly.FieldDropdown([["",""],["PH","PH"], ["DO","DO"], ["ORP","ORP"]]), "2"); this.appendDummyInput() .appendField("類比腳位") .appendField("M7 設定為") .appendField(new Blockly.FieldDropdown([["",""],["PH","PH"], ["DO","DO"], ["ORP","ORP"]]), "3"); this.setInputsInline(false); this.setOutput(true, null); this.setColour(20); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['ana'] = function(block) { // TODO: Assemble JavaScript into code variable. var M4= block.getFieldValue('1'); var M5= block.getFieldValue('2'); var M7= block.getFieldValue('3'); var code ="" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['dig'] = { init: function() { this.appendDummyInput() .appendField("數位腳位") .appendField("M9 設定為") .appendField(new Blockly.FieldDropdown([["",""],["水位計","WATERLEVEL"], ["馬達編碼器","motorfeedback"], ["蝴蝶閥編碼器","butterflyvalvefeedback"]]), "1"); this.appendDummyInput() .appendField("數位腳位") .appendField("M12 設定為") .appendField(new Blockly.FieldDropdown([["",""],["水位計","WATERLEVEL"], ["馬達編碼器","motorfeedback"], ["蝴蝶閥編碼器","butterflyvalvefeedback"]]), "2"); this.appendDummyInput() .appendField("數位腳位") .appendField("M19 設定為") .appendField(new Blockly.FieldDropdown([["",""],["水位計","WATERLEVEL"], ["馬達編碼器","motorfeedback"], ["蝴蝶閥編碼器","butterflyvalvefeedback"]]), "3"); this.setInputsInline(false); this.setOutput(true, null); this.setColour(65); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['dig'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['pwm'] = { init: function() { this.appendDummyInput() .appendField("PWM") .appendField("M10 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["馬達","Motor"]]), "1"); this.appendDummyInput() .appendField("PWM") .appendField("M2 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["三通閥","Servo"]]), "2"); this.appendDummyInput() .appendField("PWM") .appendField("M3 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["三通閥","Servo"]]), "3"); this.setInputsInline(false); this.setOutput(true, null); this.setColour(120); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['pwm'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['con'] = { init: function() { this.appendValueInput("1") .setCheck(null); this.appendValueInput("2") .setCheck(null); this.appendValueInput("3") .setCheck(null); this.appendValueInput("4") .setCheck(null); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; Blockly.cake['con'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['uart'] = { init: function() { this.appendDummyInput() .appendField("uart") .appendField("M16 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["EC計","EC"], ["水溫計","DS18B20"], ["真空閥","Servo"]]), "1"); this.appendDummyInput() .appendField("uart") .appendField("M17 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["溫溼度","SHT11"], ["真空閥","Servo"]]), "2"); this.appendDummyInput() .appendField("uart") .appendField("M18 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["未定義",""]]), "3"); this.setOutput(true, null); this.setColour(160); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['uart'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['dig2'] = { init: function() { this.appendDummyInput() .appendField("數位腳位") .appendField("M14 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["溫溼度","SHT11"], ["水溫計","DS18B20"]]), "1"); this.appendDummyInput() .appendField("數位腳位") .appendField("M11 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["水位計","WATERLEVEL"], ["馬達編碼器","motorfeedback"], ["蝴蝶閥編碼器","butterflyvalvefeedback"]]), "2"); this.setOutput(true, null); this.setColour(210); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['dig2'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['i2c'] = { init: function() { this.appendDummyInput() .appendField("I2C") .appendField("M15 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["大氣壓力計","BMP280"]]), "1"); this.appendDummyInput() .appendField("485") .appendField("M8 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["土壤檢測計","Soil"]]), "2"); this.setOutput(true, null); this.setColour(230); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['i2c'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['ana2'] = { init: function() { this.appendDummyInput() .appendField("分壓類比") .appendField("M6 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["濁度計","SEN0189"]]), "1"); this.appendDummyInput() .appendField("分壓類比") .appendField("M13 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["濁度計","SEN0189"]]), "2"); this.appendDummyInput() .appendField("分壓類比") .appendField("M1 設定為") .appendField(new Blockly.FieldDropdown([["",""], ["超音波","SonicESMUS07"]]), "3"); this.setOutput(true, null); this.setColour(260); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['ana2'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code }; Blockly.Blocks['rf'] = { init: function() { this.appendDummyInput() .appendField("zigbee 設定為") .appendField(new Blockly.FieldDropdown([["off","off"], ["on","on"]]), "1"); this.appendDummyInput() .appendField("wifi 設定為") .appendField(new Blockly.FieldDropdown([["off","off"], ["on","on"]]), "2"); this.appendDummyInput() .appendField("eth 設定為") .appendField(new Blockly.FieldDropdown([["off","off"], ["on","on"]]), "3"); this.setInputsInline(false); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(0); this.setTooltip(""); this.setHelpUrl(""); } }; Blockly.cake['rf'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = "" // TODO: Change ORDER_NONE to the correct strength. return code };