1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 'use strict';
- goog.provide('Blockly.Python.stepper');
- goog.require('Blockly.Python');
- Blockly.Python['stepper_config'] = function(block) {
- var pin1 = block.getFieldValue('STEPPER_PIN1');
- var pin2 = block.getFieldValue('STEPPER_PIN2');
- var pinType = Blockly.Python.PinTypes.STEPPER;
- var stepperName = block.getFieldValue('STEPPER_NAME');
- var stepperSteps = Blockly.Python.valueToCode(block, 'STEPPER_STEPS',
- Blockly.Python.ORDER_ATOMIC) || '360';
- var stepperSpeed = Blockly.Python.valueToCode(block, 'STEPPER_SPEED',
- Blockly.Python.ORDER_ATOMIC) || '90';
-
-
- Blockly.Python.addVariable(stepperName,
- 'int ' + stepperName + '[2] = {' + pin1 + ', ' + pin2 + '};', true);
- stepperName = 'stepper_' + stepperName
- Blockly.Python.reservePin(block, pin1, pinType, 'Stepper');
- Blockly.Python.reservePin(block, pin2, pinType, 'Stepper');
- Blockly.Python.addInclude('stepper', '#include <Stepper.h>');
- var globalCode = 'Stepper ' + stepperName + '(' + stepperSteps + ', ' +
- pin1 + ', ' + pin2 + ');';
- Blockly.Python.addDeclaration(stepperName, globalCode);
- var setupCode = stepperName + '.setSpeed(' + stepperSpeed + ');';
- Blockly.Python.addSetup(stepperName, setupCode, true);
- return '';
- };
- Blockly.Python['stepper_step'] = function(block) {
- var stepperInstanceName = 'stepper_' + block.getFieldValue('STEPPER_NAME');
- var stepperSteps = Blockly.Python.valueToCode(block, 'STEPPER_STEPS',
- Blockly.Python.ORDER_ATOMIC) || '0';
- var code = stepperInstanceName + '.step(' + stepperSteps + ');\n';
- return code;
- };
|