修改块

This commit is contained in:
Irene-Maxine
2025-08-01 22:50:05 +08:00
parent f75141b3bb
commit a632268f60
26 changed files with 343 additions and 65 deletions

View File

@@ -1838,3 +1838,16 @@ export const record_audio = {
this.setInputsInline(true);
}
};
export const set_music_volume ={
init: function () {
this.setColour(ACTUATOR_ONBOARD_HUE);
this.appendValueInput('percent')
.appendField(Blockly.Msg.MIXLY_MUSIC_VOLUME_SET);
this.appendDummyInput()
.appendField('%');
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};

View File

@@ -195,6 +195,9 @@ export const network_ap_connect = {
this.appendValueInput('essid')
.setCheck(String)
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_ESSID);
this.appendValueInput('password')
.setCheck(String)
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_ESSID);
this.appendValueInput('channel')
.setCheck(Number)
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_CHANNEL);

View File

@@ -133,6 +133,9 @@ export const timer = {
}
};
/**
* @deprecated To be removed in the future
*/
export const system_timer = {
init: function () {
this.setColour(SYSTEM_HUE);
@@ -176,6 +179,9 @@ export const system_ticks_diff = {
}
};
/**
* @deprecated To be removed in the future
*/
export const system_timer_init = {
init: function () {
this.setColour(SYSTEM_HUE);
@@ -190,6 +196,35 @@ export const system_timer_init = {
}
};
export const set_system_timer = {
init: function () {
this.setColour(SYSTEM_HUE);
this.appendValueInput('VAR')
.appendField("Timer")
.setCheck("var")
.appendField(Blockly.Msg.MIXLY_SETUP);
this.appendValueInput("PIN")
.appendField("ID")
.setCheck(Number);
this.appendValueInput("period")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL)
.setCheck(Number);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_mSecond)
.appendField(Blockly.Msg.MIXLY_MODE)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_PYTHON_ONE_SHOT, "ONE_SHOT"],
[Blockly.Msg.MIXLY_PYTHON_PERIODIC, "PERIODIC"]
]), "mode");
this.appendValueInput('callback')
.appendField(Blockly.Msg.MIXLY_DO)
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setTooltip(Blockly.Msg.MIXLY_ESP32_SYSTEM_TIMER_TOOLTIP);
}
};
export const system_wdt_init = {
init: function () {
this.setColour(SYSTEM_HUE);

View File

@@ -790,4 +790,12 @@ export const record_audio = function (_,generator){
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
return code;
}
export const set_music_volume = function (_,generator){
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
var p = generator.valueToCode(this, 'percent', generator.ORDER_ATOMIC);
var code = 'onboard_music.volume('+p+')\n';
return code;
}

View File

@@ -77,8 +77,9 @@ export const network_ap_connect = function (_, generator) {
// generator.setups_['class_wlan'] ='ap = network.WLAN(network.AP_IF)\n'+'ap.active(True)\n';
var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
var essid = generator.valueToCode(this, 'essid', generator.ORDER_ATOMIC);
var pw = generator.valueToCode(this, 'password', generator.ORDER_ATOMIC);
var channel = generator.valueToCode(this, 'channel', generator.ORDER_ATOMIC);
return "" + varName + ".config(essid = " + essid + ", channel=" + channel + ")\n";
return "" + varName + ".config(essid = " + essid + ", channel=" + channel + ",password="+ pw +")\n";
}
export const network_scan = function (_, generator) {

View File

@@ -135,6 +135,37 @@ export const timer = function (_, generator) {
return code;
}
export const set_system_timer = function (_, generator) {
generator.definitions_['import_machine'] = 'import machine';
var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None";
var i = generator.valueToCode(this, "ID", generator.ORDER_NONE) || "None";
var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0";
var mode = this.getFieldValue('mode');
var callback = generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None";
var code = v + " = machine.Timer("+ i +",period = " + period + ", mode=machine.Timer." + mode + ", callback=" + callback + ")\n";
return code;
}
export const system_ticks_diff = function (_, generator) {
generator.definitions_['import_time'] = 'import time';
var end = generator.valueToCode(this, "END", generator.ORDER_NONE) || "0";
var start = generator.valueToCode(this, "START", generator.ORDER_NONE) || "0";
var code = "time.ticks_diff(" + end + ", " + start + ")";
return [code, generator.ORDER_ATOMIC];
}
/**
* @deprecated To be removed in the future
*/
export const system_timer_init = function (_, generator) {
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
generator.definitions_['import_machine'] = 'import machine';
var code = v + ' = machine.Timer(0)\n';
return code;
}
/**
* @deprecated To be removed in the future
*/
export const system_timer = function (_, generator) {
generator.definitions_['import_machine'] = 'import machine';
var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None";
@@ -147,22 +178,6 @@ export const system_timer = function (_, generator) {
var code = v + ".init(period = " + period + ", mode=machine.Timer." + mode + ", callback=" + callback + ")\n";
return code;
}
export const system_ticks_diff = function (_, generator) {
generator.definitions_['import_time'] = 'import time';
var end = generator.valueToCode(this, "END", generator.ORDER_NONE) || "0";
var start = generator.valueToCode(this, "START", generator.ORDER_NONE) || "0";
var code = "time.ticks_diff(" + end + ", " + start + ")";
return [code, generator.ORDER_ATOMIC];
}
export const system_timer_init = function (_, generator) {
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
generator.definitions_['import_machine'] = 'import machine';
var code = v + ' = machine.Timer(0)\n';
return code;
}
export const system_wdt_init = function (_, generator) {
generator.definitions_['import_machine'] = 'import machine';
var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0";