修改块
This commit is contained in:
@@ -1838,3 +1838,16 @@ export const record_audio = {
|
|||||||
this.setInputsInline(true);
|
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);
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -195,6 +195,9 @@ export const network_ap_connect = {
|
|||||||
this.appendValueInput('essid')
|
this.appendValueInput('essid')
|
||||||
.setCheck(String)
|
.setCheck(String)
|
||||||
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_ESSID);
|
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_ESSID);
|
||||||
|
this.appendValueInput('password')
|
||||||
|
.setCheck(String)
|
||||||
|
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_ESSID);
|
||||||
this.appendValueInput('channel')
|
this.appendValueInput('channel')
|
||||||
.setCheck(Number)
|
.setCheck(Number)
|
||||||
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_CHANNEL);
|
.appendField(Blockly.Msg.MIXLY_NETWORK_WIFI_CHANNEL);
|
||||||
|
|||||||
@@ -133,6 +133,9 @@ export const timer = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated To be removed in the future
|
||||||
|
*/
|
||||||
export const system_timer = {
|
export const system_timer = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(SYSTEM_HUE);
|
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 = {
|
export const system_timer_init = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(SYSTEM_HUE);
|
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 = {
|
export const system_wdt_init = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(SYSTEM_HUE);
|
this.setColour(SYSTEM_HUE);
|
||||||
|
|||||||
@@ -790,4 +790,12 @@ export const record_audio = function (_,generator){
|
|||||||
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
||||||
var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
|
var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
|
||||||
return code;
|
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;
|
||||||
}
|
}
|
||||||
@@ -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';
|
// 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 varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
||||||
var essid = generator.valueToCode(this, 'essid', 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);
|
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) {
|
export const network_scan = function (_, generator) {
|
||||||
|
|||||||
@@ -135,6 +135,37 @@ export const timer = function (_, generator) {
|
|||||||
return code;
|
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) {
|
export const system_timer = function (_, generator) {
|
||||||
generator.definitions_['import_machine'] = 'import machine';
|
generator.definitions_['import_machine'] = 'import machine';
|
||||||
var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None";
|
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";
|
var code = v + ".init(period = " + period + ", mode=machine.Timer." + mode + ", callback=" + callback + ")\n";
|
||||||
return code;
|
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) {
|
export const system_wdt_init = function (_, generator) {
|
||||||
generator.definitions_['import_machine'] = 'import machine';
|
generator.definitions_['import_machine'] = 'import machine';
|
||||||
var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0";
|
var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0";
|
||||||
|
|||||||
@@ -6896,6 +6896,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -6939,6 +6944,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -398,4 +398,18 @@ export const pins_digital_dot = {
|
|||||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||||
this.setOutput(true, Number);
|
this.setOutput(true, Number);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const timer_id_pin = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(PINS_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","0"],
|
||||||
|
["1","1"],
|
||||||
|
["2","2"],
|
||||||
|
["3","3"]
|
||||||
|
]), 'PIN');
|
||||||
|
this.setOutput(true, Number);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -36,4 +36,5 @@ export const pins_tone_notes = pins_digital;
|
|||||||
export const pins_radio_power = pins_digital;
|
export const pins_radio_power = pins_digital;
|
||||||
export const pins_radio_datarate = pins_digital;
|
export const pins_radio_datarate = pins_digital;
|
||||||
export const pins_one_more = pins_digital;
|
export const pins_one_more = pins_digital;
|
||||||
export const pins_digital_dot = pins_digital;
|
export const pins_digital_dot = pins_digital;
|
||||||
|
export const timer_id_pin = pins_digital;
|
||||||
@@ -237,17 +237,14 @@
|
|||||||
</block>
|
</block>
|
||||||
</statement>
|
</statement>
|
||||||
</block>
|
</block>
|
||||||
<block type="system_timer_init">
|
<block type="set_system_timer">
|
||||||
<value name="SUB">
|
<value name="VAR">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">tim</field>
|
<field name="VAR">tim</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
<value name="PIN">
|
||||||
<block type="system_timer">
|
<shadow type="timer_id_pin">
|
||||||
<value name="VAR">
|
|
||||||
<shadow type="variables_get">
|
|
||||||
<field name="VAR">tim</field>
|
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
<value name="period">
|
<value name="period">
|
||||||
@@ -257,7 +254,7 @@
|
|||||||
</value>
|
</value>
|
||||||
<value name="callback">
|
<value name="callback">
|
||||||
<shadow type="factory_block_return">
|
<shadow type="factory_block_return">
|
||||||
<field name="VALUE">tim_callback</field>
|
<field name="VALUE">tim_6</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -265,7 +262,7 @@
|
|||||||
<mutation>
|
<mutation>
|
||||||
<arg name="tim"></arg>
|
<arg name="tim"></arg>
|
||||||
</mutation>
|
</mutation>
|
||||||
<field name="NAME">tim_callback</field>
|
<field name="NAME">tim_6</field>
|
||||||
<statement name="STACK">
|
<statement name="STACK">
|
||||||
<block type="system_print">
|
<block type="system_print">
|
||||||
<value name="VAR">
|
<value name="VAR">
|
||||||
@@ -1712,6 +1709,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
||||||
m-show="micropython:esp32:mixgo micropython:esp32:mixgo_pe">
|
m-show="micropython:esp32:mixgo micropython:esp32:mixgo_pe">
|
||||||
@@ -6768,6 +6772,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -6811,6 +6820,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -398,4 +398,15 @@ export const pins_digital_dot = {
|
|||||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||||
this.setOutput(true, Number);
|
this.setOutput(true, Number);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const timer_id_pin = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(PINS_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","0"]
|
||||||
|
]), 'PIN');
|
||||||
|
this.setOutput(true, Number);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -46,4 +46,5 @@ export const pins_tone_notes = pins_digital;
|
|||||||
export const pins_radio_power = pins_digital;
|
export const pins_radio_power = pins_digital;
|
||||||
export const pins_radio_datarate = pins_digital;
|
export const pins_radio_datarate = pins_digital;
|
||||||
export const pins_one_more = pins_digital;
|
export const pins_one_more = pins_digital;
|
||||||
export const pins_digital_dot = pins_digital;
|
export const pins_digital_dot = pins_digital;
|
||||||
|
export const timer_id_pin = pins_digital;
|
||||||
@@ -212,17 +212,14 @@
|
|||||||
</block>
|
</block>
|
||||||
</statement>
|
</statement>
|
||||||
</block>
|
</block>
|
||||||
<block type="system_timer_init">
|
<block type="set_system_timer">
|
||||||
<value name="SUB">
|
<value name="VAR">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">tim</field>
|
<field name="VAR">tim</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
<value name="PIN">
|
||||||
<block type="system_timer">
|
<shadow type="timer_id_pin">
|
||||||
<value name="VAR">
|
|
||||||
<shadow type="variables_get">
|
|
||||||
<field name="VAR">tim</field>
|
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
<value name="period">
|
<value name="period">
|
||||||
@@ -232,7 +229,7 @@
|
|||||||
</value>
|
</value>
|
||||||
<value name="callback">
|
<value name="callback">
|
||||||
<shadow type="factory_block_return">
|
<shadow type="factory_block_return">
|
||||||
<field name="VALUE">tim_callback</field>
|
<field name="VALUE">tim_6</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -1776,6 +1773,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
|
|
||||||
</category>
|
</category>
|
||||||
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
||||||
@@ -4651,6 +4655,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
</category>
|
</category>
|
||||||
<category id="catExternMonitor" colour='5BA5A5'>
|
<category id="catExternMonitor" colour='5BA5A5'>
|
||||||
@@ -6688,6 +6699,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -6731,6 +6747,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -398,4 +398,16 @@ export const pins_digital_dot = {
|
|||||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||||
this.setOutput(true, Number);
|
this.setOutput(true, Number);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const timer_id_pin = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(PINS_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","0"],
|
||||||
|
["1","1"]
|
||||||
|
]), 'PIN');
|
||||||
|
this.setOutput(true, Number);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -46,4 +46,5 @@ export const pins_tone_notes = pins_digital;
|
|||||||
export const pins_radio_power = pins_digital;
|
export const pins_radio_power = pins_digital;
|
||||||
export const pins_radio_datarate = pins_digital;
|
export const pins_radio_datarate = pins_digital;
|
||||||
export const pins_one_more = pins_digital;
|
export const pins_one_more = pins_digital;
|
||||||
export const pins_digital_dot = pins_digital;
|
export const pins_digital_dot = pins_digital;
|
||||||
|
export const timer_id_pin = pins_digital;
|
||||||
@@ -212,17 +212,14 @@
|
|||||||
</block>
|
</block>
|
||||||
</statement>
|
</statement>
|
||||||
</block>
|
</block>
|
||||||
<block type="system_timer_init">
|
<block type="set_system_timer">
|
||||||
<value name="SUB">
|
<value name="VAR">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">tim</field>
|
<field name="VAR">tim</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
<value name="PIN">
|
||||||
<block type="system_timer">
|
<shadow type="timer_id_pin">
|
||||||
<value name="VAR">
|
|
||||||
<shadow type="variables_get">
|
|
||||||
<field name="VAR">tim</field>
|
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
<value name="period">
|
<value name="period">
|
||||||
@@ -232,7 +229,7 @@
|
|||||||
</value>
|
</value>
|
||||||
<value name="callback">
|
<value name="callback">
|
||||||
<shadow type="factory_block_return">
|
<shadow type="factory_block_return">
|
||||||
<field name="VALUE">tim_callback</field>
|
<field name="VALUE">tim_6</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -1700,6 +1697,13 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="actuator_onboard_neopixel_write">
|
<block type="actuator_onboard_neopixel_write">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
||||||
m-hide='micropython:esp32c3:generic micropython:esp32c3:mixgocar_c3'>
|
m-hide='micropython:esp32c3:generic micropython:esp32c3:mixgocar_c3'>
|
||||||
@@ -1823,8 +1827,13 @@
|
|||||||
|
|
||||||
</block>
|
</block>
|
||||||
<block type="display_clear"></block>
|
<block type="display_clear"></block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
|
|
||||||
<category id="catME_GO" colour="100"
|
<category id="catME_GO" colour="100"
|
||||||
@@ -4537,6 +4546,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
</category>
|
</category>
|
||||||
<category id="catExternMonitor" colour='5BA5A5' m-hide='micropython:esp32c3:mixgocar_c3'>
|
<category id="catExternMonitor" colour='5BA5A5' m-hide='micropython:esp32c3:mixgocar_c3'>
|
||||||
@@ -6575,6 +6591,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -6618,6 +6639,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -398,4 +398,18 @@ export const pins_digital_dot = {
|
|||||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||||
this.setOutput(true, Number);
|
this.setOutput(true, Number);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const timer_id_pin = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(PINS_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","0"],
|
||||||
|
["1","1"],
|
||||||
|
["2","2"],
|
||||||
|
["3","3"]
|
||||||
|
]), 'PIN');
|
||||||
|
this.setOutput(true, Number);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -46,4 +46,5 @@ export const pins_tone_notes = pins_digital;
|
|||||||
export const pins_radio_power = pins_digital;
|
export const pins_radio_power = pins_digital;
|
||||||
export const pins_radio_datarate = pins_digital;
|
export const pins_radio_datarate = pins_digital;
|
||||||
export const pins_one_more = pins_digital;
|
export const pins_one_more = pins_digital;
|
||||||
export const pins_digital_dot = pins_digital;
|
export const pins_digital_dot = pins_digital;
|
||||||
|
export const timer_id_pin = pins_digital;
|
||||||
@@ -237,17 +237,14 @@
|
|||||||
</block>
|
</block>
|
||||||
</statement>
|
</statement>
|
||||||
</block>
|
</block>
|
||||||
<block type="system_timer_init">
|
<block type="set_system_timer">
|
||||||
<value name="SUB">
|
<value name="VAR">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">tim</field>
|
<field name="VAR">tim</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
<value name="PIN">
|
||||||
<block type="system_timer">
|
<shadow type="timer_id_pin">
|
||||||
<value name="VAR">
|
|
||||||
<shadow type="variables_get">
|
|
||||||
<field name="VAR">tim</field>
|
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
<value name="period">
|
<value name="period">
|
||||||
@@ -257,7 +254,7 @@
|
|||||||
</value>
|
</value>
|
||||||
<value name="callback">
|
<value name="callback">
|
||||||
<shadow type="factory_block_return">
|
<shadow type="factory_block_return">
|
||||||
<field name="VALUE">tim_callback</field>
|
<field name="VALUE">tim_6</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -1651,6 +1648,13 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="actuator_onboard_neopixel_write">
|
<block type="actuator_onboard_neopixel_write">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
|
||||||
m-hide='micropython:esp32s2:generic'>
|
m-hide='micropython:esp32s2:generic'>
|
||||||
@@ -4268,6 +4272,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
</category>
|
</category>
|
||||||
<category id="catExternMonitor" colour='5BA5A5'>
|
<category id="catExternMonitor" colour='5BA5A5'>
|
||||||
@@ -6304,6 +6315,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -6347,6 +6363,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -398,4 +398,18 @@ export const pins_digital_dot = {
|
|||||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||||
this.setOutput(true, Number);
|
this.setOutput(true, Number);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const timer_id_pin = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(PINS_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","0"],
|
||||||
|
["1","1"],
|
||||||
|
["2","2"],
|
||||||
|
["3","3"]
|
||||||
|
]), 'PIN');
|
||||||
|
this.setOutput(true, Number);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -46,6 +46,7 @@ export const pins_radio_power = pins_digital;
|
|||||||
export const pins_radio_datarate = pins_digital;
|
export const pins_radio_datarate = pins_digital;
|
||||||
export const pins_one_more = pins_digital;
|
export const pins_one_more = pins_digital;
|
||||||
export const pins_digital_dot = pins_digital;
|
export const pins_digital_dot = pins_digital;
|
||||||
|
export const timer_id_pin = pins_digital;
|
||||||
|
|
||||||
export const pins_builtinimg = function (_, generator) {
|
export const pins_builtinimg = function (_, generator) {
|
||||||
const PIN_VALUE = this.getFieldValue('PIN');
|
const PIN_VALUE = this.getFieldValue('PIN');
|
||||||
|
|||||||
@@ -237,17 +237,14 @@
|
|||||||
</block>
|
</block>
|
||||||
</statement>
|
</statement>
|
||||||
</block>
|
</block>
|
||||||
<block type="system_timer_init">
|
<block type="set_system_timer">
|
||||||
<value name="SUB">
|
<value name="VAR">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">tim</field>
|
<field name="VAR">tim</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
<value name="PIN">
|
||||||
<block type="system_timer">
|
<shadow type="timer_id_pin">
|
||||||
<value name="VAR">
|
|
||||||
<shadow type="variables_get">
|
|
||||||
<field name="VAR">tim</field>
|
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
<value name="period">
|
<value name="period">
|
||||||
@@ -257,7 +254,7 @@
|
|||||||
</value>
|
</value>
|
||||||
<value name="callback">
|
<value name="callback">
|
||||||
<shadow type="factory_block_return">
|
<shadow type="factory_block_return">
|
||||||
<field name="VALUE">tim_callback</field>
|
<field name="VALUE">tim_6</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -1826,6 +1823,13 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
<category id="catOnBoardDisplay" colour='#78B5B4' m-hide='micropython:esp32s3:generic'>
|
<category id="catOnBoardDisplay" colour='#78B5B4' m-hide='micropython:esp32s3:generic'>
|
||||||
<block type="display_image_builtins_all"></block>
|
<block type="display_image_builtins_all"></block>
|
||||||
@@ -4997,6 +5001,20 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
|
<block type="set_music_volume">
|
||||||
|
<value name="percent">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">100</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
</category>
|
</category>
|
||||||
</category>
|
</category>
|
||||||
<category id="catNova_G1" colour='100' m-show="micropython:esp32s3:mixgo_nova">
|
<category id="catNova_G1" colour='100' m-show="micropython:esp32s3:mixgo_nova">
|
||||||
@@ -7058,6 +7076,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -7101,6 +7124,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -5354,6 +5354,11 @@
|
|||||||
<field name="TEXT">127.16.0.8</field>
|
<field name="TEXT">127.16.0.8</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
@@ -5397,6 +5402,11 @@
|
|||||||
<field name="TEXT">SmallCabbage</field>
|
<field name="TEXT">SmallCabbage</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="password">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">123456</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="channel">
|
<value name="channel">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
<field name="NUM">1</field>
|
<field name="NUM">1</field>
|
||||||
|
|||||||
@@ -3973,4 +3973,5 @@ En.MIXLY_JPG_base64_CODE= "JPG's base64 code";
|
|||||||
En.MIXLY_IMAGE_OF_FILE = 'code data of image file';
|
En.MIXLY_IMAGE_OF_FILE = 'code data of image file';
|
||||||
En.MIXLY_ENABLE_STATUS = 'enable status';
|
En.MIXLY_ENABLE_STATUS = 'enable status';
|
||||||
En.MIXLY_MICROPHONE_AMPLIFICATION = 'microphone amplification';
|
En.MIXLY_MICROPHONE_AMPLIFICATION = 'microphone amplification';
|
||||||
|
En.MIXLY_MUSIC_VOLUME_SET = 'set music volume';
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -3691,7 +3691,7 @@ ZhHans.MIXBOT = '超霸大师';
|
|||||||
ZhHans.MICROPYTHON_BITBOT_SHUTDOWN_TOOLTIP = '仅电池供电下,将关机断电。USB供电下,只是关闭电机输出。';
|
ZhHans.MICROPYTHON_BITBOT_SHUTDOWN_TOOLTIP = '仅电池供电下,将关机断电。USB供电下,只是关闭电机输出。';
|
||||||
ZhHans.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0 = '绘制 %1 矩形 %2 x %3 y %4 宽 %5 高 %6 颜色 %7 实时刷新: %8';
|
ZhHans.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0 = '绘制 %1 矩形 %2 x %3 y %4 宽 %5 高 %6 颜色 %7 实时刷新: %8';
|
||||||
ZhHans.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0 = '绘制 %1 线 %2 x %3 y %4 长度%5 颜色 %6 实时刷新: %7';
|
ZhHans.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0 = '绘制 %1 线 %2 x %3 y %4 长度%5 颜色 %6 实时刷新: %7';
|
||||||
ZhHans.mpython_display_line_MESSAGE0 ='绘制 线条%1 x1%2 y1 %3 到 x2 %4 y2 %5 颜色 %6 实时刷新: %7';
|
ZhHans.mpython_display_line_MESSAGE0 ='绘制 线条%1 x1%2 y1 %3 到 x2 %4 y2 %5 颜色 %6';
|
||||||
ZhHans.MIXLY_TOUCH_SLIDE = "滑动触摸";
|
ZhHans.MIXLY_TOUCH_SLIDE = "滑动触摸";
|
||||||
ZhHans.MIXLY_TOUCH_SLIDE_TOOLTIP = "触摸值,默认接近0,往IO3方向触摸滑动值变大,往IO4方向触摸滑动值变小。";
|
ZhHans.MIXLY_TOUCH_SLIDE_TOOLTIP = "触摸值,默认接近0,往IO3方向触摸滑动值变大,往IO4方向触摸滑动值变小。";
|
||||||
ZhHans.MIXLY_EXTERN_SONAR = "超声波传感器";
|
ZhHans.MIXLY_EXTERN_SONAR = "超声波传感器";
|
||||||
@@ -4132,4 +4132,5 @@ ZhHans.MIXLY_JPG_base64_CODE= 'JPG的base64编码';
|
|||||||
ZhHans.MIXLY_IMAGE_OF_FILE = '图像文件编码数据';
|
ZhHans.MIXLY_IMAGE_OF_FILE = '图像文件编码数据';
|
||||||
ZhHans.MIXLY_ENABLE_STATUS = '使能状态';
|
ZhHans.MIXLY_ENABLE_STATUS = '使能状态';
|
||||||
ZhHans.MIXLY_MICROPHONE_AMPLIFICATION = '麦克风放大倍数';
|
ZhHans.MIXLY_MICROPHONE_AMPLIFICATION = '麦克风放大倍数';
|
||||||
|
ZhHans.MIXLY_MUSIC_VOLUME_SET = '音量调节';
|
||||||
})();
|
})();
|
||||||
@@ -4127,4 +4127,5 @@ ZhHant.MIXLY_JPG_base64_CODE= 'JPG的base64編碼';
|
|||||||
ZhHant.MIXLY_IMAGE_OF_FILE = '圖像文件編碼數據';
|
ZhHant.MIXLY_IMAGE_OF_FILE = '圖像文件編碼數據';
|
||||||
ZhHant.MIXLY_ENABLE_STATUS = '使能狀態';
|
ZhHant.MIXLY_ENABLE_STATUS = '使能狀態';
|
||||||
ZhHant.MIXLY_MICROPHONE_AMPLIFICATION = '麥克風放大倍數';
|
ZhHant.MIXLY_MICROPHONE_AMPLIFICATION = '麥克風放大倍數';
|
||||||
|
ZhHant.MIXLY_MUSIC_VOLUME_SET = '音量調節';
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user