Files
2024-07-19 10:16:00 +08:00

65 lines
2.3 KiB
JavaScript

import * as Blockly from 'blockly/core';
const SERIAL_HUE = 40;
export const serial_open = {
init: function () {
var bps = [
["115200", '115200'], ["256000", '256000'], ["128000", '128000'], ["57600", '57600'], ["56000", '56000'],
["43000", '43000'], ["38400", '38400'], ["28800", '28800'], ["19200", '19200'], ["9600", '9600'],
["4800", '4800'], ["2400", '2400'], ["1200", '1200'], ["600", '600'], ["300", '300'], ["110", '110']
];
this.setColour(SERIAL_HUE);
this.appendDummyInput("")
.appendField(new Blockly.FieldLabel(Blockly.Msg.MIXPY_SERIAL_OPEN))
.appendField(new Blockly.FieldTextInput('ser'), 'SER')
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_SERIAL_BEGIN)
.appendField(new Blockly.FieldDropdown(bps), 'BPS')
this.appendValueInput('VAR')
.appendField(Blockly.Msg.MIXPY_SERIAL_OPEN_TIMEOUT);
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXPY_SERIAL_OPEN_TOOLTIP);
}
};
export const serial_write = {
init: function () {
this.setColour(SERIAL_HUE);
this.appendValueInput('SER')
this.appendValueInput('VAR')
.appendField(Blockly.Msg.MIXPY_SERIAL_WRITE);
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXPY_SERIAL_WRITE_TOOLTIP);
}
};
export const serial_read_b = {
init: function () {
this.setColour(SERIAL_HUE);
this.appendValueInput('SER')
this.appendValueInput('VAR')
.setCheck(Number)
.appendField(Blockly.Msg.MIXPY_SERIAL_READ);
this.setInputsInline(true);
this.setOutput(true, String);
this.setTooltip(Blockly.Msg.MIXPY_SERIAL_READ_TOOLTIP);
}
};
export const serial_close = {
init: function () {
this.setColour(SERIAL_HUE);
this.appendValueInput('SER')
this.appendDummyInput()
.appendField(Blockly.Msg.MIXPY_SERIAL_CLOSE);
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP);
}
};