123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- 'use strict';
- goog.provide('Blockly.Blocks.stepper');
- goog.require('Blockly.Blocks');
- goog.require('Blockly.Types');
- Blockly.Blocks.stepper.HUE = 80;
- Blockly.Blocks['stepper_config'] = {
-
- init: function() {
- this.setHelpUrl('http://arduino.cc/en/Reference/StepperConstructor');
- this.setColour(Blockly.Blocks.stepper.HUE);
- this.appendDummyInput()
- .appendField(Blockly.Msg.ARD_STEPPER_SETUP)
- .appendField(
- new Blockly.FieldInstance('Stepper',
- Blockly.Msg.ARD_STEPPER_DEFAULT_NAME,
- true, true, false),
- 'STEPPER_NAME')
- .appendField(Blockly.Msg.ARD_STEPPER_MOTOR);
- this.appendDummyInput()
- .setAlign(Blockly.ALIGN_RIGHT)
- .appendField(Blockly.Msg.ARD_STEPPER_PIN1)
- .appendField(new Blockly.FieldDropdown(
- Blockly.Python.Boards.selected.digitalPins), 'STEPPER_PIN1')
- .appendField(Blockly.Msg.ARD_STEPPER_PIN2)
- .appendField(new Blockly.FieldDropdown(
- Blockly.Python.Boards.selected.digitalPins), 'STEPPER_PIN2');
- this.appendValueInput('STEPPER_STEPS')
- .setCheck(Blockly.Types.NUMBER.checkList)
- .setAlign(Blockly.ALIGN_RIGHT)
- .appendField(Blockly.Msg.ARD_STEPPER_REVOLVS);
- this.appendValueInput('STEPPER_SPEED')
- .setCheck(Blockly.Types.NUMBER.checkList)
- .setAlign(Blockly.ALIGN_RIGHT)
- .appendField(Blockly.Msg.ARD_STEPPER_SPEED);
- this.setTooltip(Blockly.Msg.ARD_STEPPER_SETUP_TIP);
- },
-
- updateFields: function() {
- Blockly.Boards.refreshBlockFieldDropdown(
- this, 'STEPPER_PIN1', 'digitalPins');
- Blockly.Boards.refreshBlockFieldDropdown(
- this, 'STEPPER_PIN2', 'digitalPins');
- }
- };
- Blockly.Blocks['stepper_step'] = {
-
- init: function() {
- this.setHelpUrl('http://arduino.cc/en/Reference/StepperStep');
- this.setColour(Blockly.Blocks.stepper.HUE);
- this.appendDummyInput()
- .appendField(Blockly.Msg.ARD_STEPPER_STEP)
- .appendField(
- new Blockly.FieldInstance('Stepper',
- Blockly.Msg.ARD_STEPPER_DEFAULT_NAME,
- false, true, false),
- 'STEPPER_NAME');
- this.appendValueInput('STEPPER_STEPS')
- .setCheck(Blockly.Types.NUMBER.checkList);
- this.appendDummyInput()
- .appendField(Blockly.Msg.ARD_STEPPER_STEPS);
- this.setPreviousStatement(true);
- this.setNextStatement(true);
- this.setTooltip(Blockly.Msg.ARD_STEPPER_STEP_TIP);
- },
-
- onchange: function() {
- if (!this.workspace) return;
- var instanceName = this.getFieldValue('STEPPER_NAME')
- if (Blockly.Instances.isInstancePresent(instanceName, 'Stepper', this)) {
- this.setWarningText(null);
- } else {
-
- this.setWarningText(
- Blockly.Msg.ARD_COMPONENT_WARN1.replace(
- '%1', Blockly.Msg.ARD_STEPPER_COMPONENT).replace(
- '%2', instanceName));
- }
- }
- };
|