Update(boards): 将arduino下函数和变量相关图形块定义移动到arduino目录下
This commit is contained in:
@@ -498,7 +498,7 @@ export const procedures_defreturn = {
|
||||
this.appendValueInput('RETURN')
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'])
|
||||
.appendField(new Blockly.FieldDropdown(Variables.DATA_TYPE), "TYPE");
|
||||
.appendField(new Blockly.FieldDropdown(Procedures.DATA_TYPE, this.adjustReturnInput.bind(this)), "TYPE");
|
||||
this.setMutator(new Blockly.icons.MutatorIcon(['procedures_mutatorarg'], this));
|
||||
if ((this.workspace.options.comments ||
|
||||
(this.workspace.options.parentWorkspace &&
|
||||
@@ -513,11 +513,45 @@ export const procedures_defreturn = {
|
||||
this.argumentVarModels_ = [];
|
||||
this.setStatements_(true);
|
||||
this.statementConnection_ = null;
|
||||
this.returnType = 'void';
|
||||
},
|
||||
adjustReturnInput: function (value) {
|
||||
const fieldName = 'RETRUN_TYPE';
|
||||
if (value === 'CUSTOM') {
|
||||
if (!this.getField(fieldName)) {
|
||||
this.getInput('RETURN').appendField(
|
||||
new Blockly.FieldTextInput(this.returnType ?? ''),
|
||||
fieldName,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (this.getField('RETRUN_TYPE')) {
|
||||
this.returnType = this.getFieldValue('RETRUN_TYPE') || 'void';
|
||||
}
|
||||
this.getInput('RETURN').removeField(fieldName, true);
|
||||
}
|
||||
},
|
||||
setStatements_: procedures_defnoreturn.setStatements_,
|
||||
updateParams_: procedures_defnoreturn.updateParams_,
|
||||
mutationToDom: procedures_defnoreturn.mutationToDom,
|
||||
domToMutation: procedures_defnoreturn.domToMutation,
|
||||
saveExtraState: function () {
|
||||
const output = procedures_defnoreturn.saveExtraState.call(this) ?? {};
|
||||
if (this.getField('RETRUN_TYPE')) {
|
||||
output['returnType'] = this.getFieldValue('RETRUN_TYPE');
|
||||
}
|
||||
return output;
|
||||
},
|
||||
loadExtraState: function (state) {
|
||||
this.returnType = state?.returnType;
|
||||
if (!this.getField('RETRUN_TYPE')) {
|
||||
this.getInput('RETURN').appendField(
|
||||
new Blockly.FieldTextInput(this.returnType ?? ''),
|
||||
'RETRUN_TYPE',
|
||||
);
|
||||
}
|
||||
procedures_defnoreturn.loadExtraState.call(this, state);
|
||||
},
|
||||
decompose: procedures_defnoreturn.decompose,
|
||||
compose: procedures_defnoreturn.compose,
|
||||
/**
|
||||
@@ -1096,6 +1130,8 @@ export const procedures_callreturn = {
|
||||
updateShape_: procedures_callnoreturn.updateShape_,
|
||||
mutationToDom: procedures_callnoreturn.mutationToDom,
|
||||
domToMutation: procedures_callnoreturn.domToMutation,
|
||||
saveExtraState: procedures_callnoreturn.saveExtraState,
|
||||
loadExtraState: procedures_callnoreturn.loadExtraState,
|
||||
renameVar: procedures_callnoreturn.renameVar,
|
||||
getVars: procedures_callnoreturn.getVars,
|
||||
getVarModels: procedures_callnoreturn.getVarModels,
|
||||
@@ -1,7 +1,11 @@
|
||||
import * as ArduinoEthernetBlocks from './blocks/ethernet';
|
||||
import * as ArduinoProceduresBlocks from './blocks/procedures';
|
||||
import * as ArduinoTextBlocks from './blocks/text';
|
||||
import * as ArduinoVariablesBlocks from './blocks/variables';
|
||||
import * as ArduinoProceduresGenerators from './generators/procedures';
|
||||
import * as ArduinoEthernetGenerators from './generators/ethernet';
|
||||
import * as ArduinoTextGenerators from './generators/text';
|
||||
import * as ArduinoVariablesGenerators from './generators/variables';
|
||||
import Names from './others/names';
|
||||
import Procedures from './others/procedures';
|
||||
import Variables from './others/variables';
|
||||
@@ -9,9 +13,13 @@ import { ArduinoGenerator, Arduino } from './arduino_generator';
|
||||
|
||||
export {
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
Names,
|
||||
Procedures,
|
||||
Variables,
|
||||
|
||||
@@ -12,6 +12,13 @@ export const procedures_defreturn = function (_, generator) {
|
||||
var returnValue = generator.valueToCode(this, 'RETURN',
|
||||
generator.ORDER_NONE) || '';
|
||||
var type = this.getFieldValue('TYPE');
|
||||
if (type === 'CUSTOM') {
|
||||
if (this.getField('RETRUN_TYPE')) {
|
||||
type = this.getFieldValue('RETRUN_TYPE');
|
||||
} else {
|
||||
type = 'void';
|
||||
}
|
||||
}
|
||||
if (returnValue) {
|
||||
returnValue = ' return ' + returnValue + ';\n';
|
||||
}
|
||||
@@ -25,9 +25,15 @@
|
||||
* @namespace
|
||||
*/
|
||||
import * as Blockly from 'blockly/core';
|
||||
import Variables from './variables';
|
||||
|
||||
const Procedures = {};
|
||||
|
||||
Procedures.DATA_TYPE = [
|
||||
...Variables.DATA_TYPE,
|
||||
[Blockly.Msg.MIXLY_OTHER, 'CUSTOM']
|
||||
];
|
||||
|
||||
/**
|
||||
* Constant to separate procedure names from variables and generated functions
|
||||
* when running generators.
|
||||
|
||||
@@ -13,14 +13,12 @@ import * as ArduinoAVRLogicBlocks from './blocks/logic';
|
||||
import * as ArduinoAVRMathBlocks from './blocks/math';
|
||||
import * as ArduinoAVRPinoutBlocks from './blocks/pinout';
|
||||
import * as ArduinoAVRPinsBlocks from './blocks/pins';
|
||||
import * as ArduinoAVRProceduresBlocks from './blocks/procedures';
|
||||
import * as ArduinoAVRScoopBlocks from './blocks/scoop';
|
||||
import * as ArduinoAVRSensorBlocks from './blocks/sensor';
|
||||
import * as ArduinoAVRSerialBlocks from './blocks/serial';
|
||||
import * as ArduinoAVRStorageBlocks from './blocks/storage';
|
||||
import * as ArduinoAVRTextBlocks from './blocks/text';
|
||||
import * as ArduinoAVRToolsBlocks from './blocks/tools';
|
||||
import * as ArduinoAVRVariablesBlocks from './blocks/variables';
|
||||
|
||||
import * as ArduinoAVRActuatorGenerators from './generators/actuator';
|
||||
import * as ArduinoAVRBlynkGenerators from './generators/blynk';
|
||||
@@ -35,14 +33,12 @@ import * as ArduinoAVRLogicGenerators from './generators/logic';
|
||||
import * as ArduinoAVRMathGenerators from './generators/math';
|
||||
import * as ArduinoAVRPinoutGenerators from './generators/pinout';
|
||||
import * as ArduinoAVRPinsGenerators from './generators/pins';
|
||||
import * as ArduinoAVRProceduresGenerators from './generators/procedures';
|
||||
import * as ArduinoAVRScoopGenerators from './generators/scoop';
|
||||
import * as ArduinoAVRSensorGenerators from './generators/sensor';
|
||||
import * as ArduinoAVRSerialGenerators from './generators/serial';
|
||||
import * as ArduinoAVRStorageGenerators from './generators/storage';
|
||||
import * as ArduinoAVRTextGenerators from './generators/text';
|
||||
import * as ArduinoAVRToolsGenerators from './generators/tools';
|
||||
import * as ArduinoAVRVariablesGenerators from './generators/variables';
|
||||
|
||||
export {
|
||||
ArduinoAVRPins,
|
||||
@@ -59,14 +55,12 @@ export {
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinoutBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRScoopBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -80,12 +74,10 @@ export {
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinoutGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRScoopGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators
|
||||
ArduinoAVRToolsGenerators
|
||||
};
|
||||
@@ -3,9 +3,13 @@ import { Profile } from 'mixly';
|
||||
|
||||
import {
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
Procedures,
|
||||
Variables,
|
||||
Arduino
|
||||
@@ -26,14 +30,12 @@ import {
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinoutBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRScoopBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -47,14 +49,12 @@ import {
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinoutGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRScoopGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators
|
||||
ArduinoAVRToolsGenerators
|
||||
} from './';
|
||||
|
||||
import './css/color.css';
|
||||
@@ -72,7 +72,9 @@ Object.assign(Profile.default, ArduinoAVRPins.arduino_standard);
|
||||
Object.assign(
|
||||
Blockly.Blocks,
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoAVRActuatorBlocks,
|
||||
ArduinoAVRBlynkBlocks,
|
||||
ArduinoAVRCommunicateBlocks,
|
||||
@@ -86,20 +88,20 @@ Object.assign(
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinoutBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRScoopBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks
|
||||
ArduinoAVRToolsBlocks
|
||||
);
|
||||
|
||||
Object.assign(
|
||||
Blockly.Arduino.forBlock,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -113,12 +115,10 @@ Object.assign(
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinoutGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRScoopGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators
|
||||
ArduinoAVRToolsGenerators
|
||||
);
|
||||
@@ -3,9 +3,13 @@ import { Profile } from 'mixly';
|
||||
|
||||
import {
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
Procedures,
|
||||
Variables,
|
||||
Arduino
|
||||
@@ -24,13 +28,11 @@ import {
|
||||
ArduinoAVRLogicBlocks,
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -43,13 +45,11 @@ import {
|
||||
ArduinoAVRLogicGenerators,
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators
|
||||
ArduinoAVRToolsGenerators
|
||||
} from '@mixly/arduino-avr';
|
||||
|
||||
import {
|
||||
@@ -112,7 +112,9 @@ addBoardFSItem();
|
||||
Object.assign(
|
||||
Blockly.Blocks,
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoAVRActuatorBlocks,
|
||||
ArduinoAVRBlynkBlocks,
|
||||
ArduinoAVRCommunicateBlocks,
|
||||
@@ -125,13 +127,11 @@ Object.assign(
|
||||
ArduinoAVRLogicBlocks,
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoESP32ActuatorBlocks,
|
||||
ArduinoESP32CommunicateBlocks,
|
||||
ArduinoESP32ControlBlocks,
|
||||
@@ -152,7 +152,9 @@ Object.assign(
|
||||
Object.assign(
|
||||
Blockly.Arduino.forBlock,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -165,13 +167,11 @@ Object.assign(
|
||||
ArduinoAVRLogicGenerators,
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators,
|
||||
ArduinoESP32ActuatorGenerators,
|
||||
ArduinoESP32CommunicateGenerators,
|
||||
ArduinoESP32ControlGenerators,
|
||||
|
||||
@@ -3,9 +3,13 @@ import { Profile } from 'mixly';
|
||||
|
||||
import {
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
Procedures,
|
||||
Variables,
|
||||
Arduino
|
||||
@@ -24,13 +28,11 @@ import {
|
||||
ArduinoAVRLogicBlocks,
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -43,13 +45,11 @@ import {
|
||||
ArduinoAVRLogicGenerators,
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators
|
||||
ArduinoAVRToolsGenerators
|
||||
} from '@mixly/arduino-avr';
|
||||
|
||||
import {
|
||||
@@ -86,7 +86,9 @@ addBoardFSItem();
|
||||
Object.assign(
|
||||
Blockly.Blocks,
|
||||
ArduinoEthernetBlocks,
|
||||
ArduinoProceduresBlocks,
|
||||
ArduinoTextBlocks,
|
||||
ArduinoVariablesBlocks,
|
||||
ArduinoAVRActuatorBlocks,
|
||||
ArduinoAVRBlynkBlocks,
|
||||
ArduinoAVRCommunicateBlocks,
|
||||
@@ -99,13 +101,11 @@ Object.assign(
|
||||
ArduinoAVRLogicBlocks,
|
||||
ArduinoAVRMathBlocks,
|
||||
ArduinoAVRPinsBlocks,
|
||||
ArduinoAVRProceduresBlocks,
|
||||
ArduinoAVRSensorBlocks,
|
||||
ArduinoAVRSerialBlocks,
|
||||
ArduinoAVRStorageBlocks,
|
||||
ArduinoAVRTextBlocks,
|
||||
ArduinoAVRToolsBlocks,
|
||||
ArduinoAVRVariablesBlocks,
|
||||
ArduinoESP8266EthernetBlocks,
|
||||
ArduinoESP8266PinoutBlocks
|
||||
);
|
||||
@@ -113,7 +113,9 @@ Object.assign(
|
||||
Object.assign(
|
||||
Blockly.Arduino.forBlock,
|
||||
ArduinoEthernetGenerators,
|
||||
ArduinoProceduresGenerators,
|
||||
ArduinoTextGenerators,
|
||||
ArduinoVariablesGenerators,
|
||||
ArduinoAVRActuatorGenerators,
|
||||
ArduinoAVRBlynkGenerators,
|
||||
ArduinoAVRCommunicateGenerators,
|
||||
@@ -126,13 +128,11 @@ Object.assign(
|
||||
ArduinoAVRLogicGenerators,
|
||||
ArduinoAVRMathGenerators,
|
||||
ArduinoAVRPinsGenerators,
|
||||
ArduinoAVRProceduresGenerators,
|
||||
ArduinoAVRSensorGenerators,
|
||||
ArduinoAVRSerialGenerators,
|
||||
ArduinoAVRStorageGenerators,
|
||||
ArduinoAVRTextGenerators,
|
||||
ArduinoAVRToolsGenerators,
|
||||
ArduinoAVRVariablesGenerators,
|
||||
ArduinoESP8266EthernetGenerators,
|
||||
ArduinoESP8266PinoutGenerators
|
||||
);
|
||||
Reference in New Issue
Block a user