一些板载显示修改
This commit is contained in:
@@ -72,6 +72,20 @@ export const esp32_music_play_list = {
|
||||
}
|
||||
}
|
||||
|
||||
export const backstage_esp32_music_play_list = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
this.appendValueInput('LIST')
|
||||
.appendField(Blockly.Msg.MIXLY_BACKSTAGE + Blockly.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_BACKSTAGE + Blockly.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export const esp32_music_set_tempo_extern = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
|
||||
@@ -349,8 +349,13 @@ export const OPEN_IMAGE = {
|
||||
['180','180'],
|
||||
['270','270']
|
||||
]),'angle');
|
||||
this.appendValueInput("w")
|
||||
.appendField(Blockly.Msg.MIXLY_Enlarge_and_scale_to)
|
||||
this.appendValueInput("h")
|
||||
.appendField(Blockly.Msg.MIXLY_High_zoom_level_to)
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_OPEN_IMAGE_TOOLTIP);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1607,6 +1607,58 @@ export const onboard_tft_show_texts = {
|
||||
}
|
||||
};
|
||||
|
||||
export const onboard_tft_show_qrcode = {
|
||||
init: function () {
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
this.appendValueInput('direct')
|
||||
.appendField(Blockly.Msg.OLED_BITMAP)
|
||||
.appendField(Blockly.Msg.MIXLY_QR_CODE);
|
||||
if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
|
||||
this.appendValueInput('boolean')
|
||||
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||
}
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export const onboard_tft_show_qrcode_details = {
|
||||
init: function () {
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
this.appendValueInput('data')
|
||||
.appendField(Blockly.Msg.OLED_BITMAP)
|
||||
.appendField(Blockly.Msg.MIXLY_QR_CODE);
|
||||
this.appendValueInput("x")
|
||||
.setCheck(Number)
|
||||
.appendField('x');
|
||||
this.appendValueInput("y")
|
||||
.setCheck(Number)
|
||||
.appendField('y');
|
||||
this.appendValueInput("size")
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_NUMBER);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_ERROR_RATE)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["0","7%"],
|
||||
["1","15%"],
|
||||
["2","25%"],
|
||||
["3","30"]
|
||||
]),"correct");
|
||||
this.appendValueInput('VAR')
|
||||
.appendField(Blockly.Msg.HTML_COLOUR);
|
||||
if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
|
||||
this.appendValueInput('boolean')
|
||||
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||
}
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @deprecated To be removed in the future
|
||||
*/
|
||||
|
||||
@@ -139,6 +139,14 @@ export const esp32_music_play_list = function (_, generator) {
|
||||
return code;
|
||||
}
|
||||
|
||||
export const backstage_esp32_music_play_list = function (_, generator) {
|
||||
generator.definitions_['import_music'] = 'import music';
|
||||
var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT);
|
||||
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
var code = v + ".play_thread(" + v + '.' + lst + ")\n";
|
||||
return code;
|
||||
}
|
||||
|
||||
export const esp32_music_reset_extern = function (_, generator) {
|
||||
generator.definitions_['import_music'] = 'import music';
|
||||
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
|
||||
@@ -815,7 +815,7 @@ export const record_audio = function (_,generator){
|
||||
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
||||
var str = generator.valueToCode(this, 'str', 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.pcm_record('+str+','+ t +')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,20 +56,22 @@ export const llm_set_callback = function (_, generator) {
|
||||
var v1 = generator.valueToCode(this, "VAR1", generator.ORDER_NONE) || "None";
|
||||
var v2 = generator.valueToCode(this, "VAR2", generator.ORDER_NONE) || "None";
|
||||
var v3 = generator.valueToCode(this, "VAR3", generator.ORDER_NONE) || "None";
|
||||
var a0 = generator.valueToCode(this, "ADD0", generator.ORDER_NONE) || "None";
|
||||
// var a0 = generator.valueToCode(this, "ADD0", generator.ORDER_NONE) || "None";
|
||||
var callback = generator.variableDB_.getName(
|
||||
generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None",
|
||||
Blockly.Procedures.NAME_TYPE
|
||||
);
|
||||
var code = new Array(this.itemCount_);
|
||||
var default_value = '0';
|
||||
var default_value = "()";
|
||||
for (var n = 0; n < this.itemCount_; n++) {
|
||||
code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value;
|
||||
}
|
||||
if (this.itemCount_ > 1){
|
||||
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', (' + code.join(', ') +'))\n';
|
||||
}else{
|
||||
}else if(this.itemCount_ == 1){
|
||||
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', ' + code.join(', ') +')\n';
|
||||
}else{
|
||||
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 +')\n';
|
||||
}
|
||||
|
||||
return code;
|
||||
|
||||
@@ -158,7 +158,9 @@ export const OPEN_IMAGE = function (_, generator) {
|
||||
generator.definitions_['camera_import_Image'] = 'from camera import Image';
|
||||
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
||||
var a = this.getFieldValue('angle');
|
||||
var code = 'Image.open(path=' + direct +',rotation=' + a + ')';
|
||||
var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC);
|
||||
var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC);
|
||||
var code = 'Image.open(path=' + direct +',rotation=' + a + ',scale_width='+w+',scale_height='+h+')';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
|
||||
@@ -1183,6 +1183,39 @@ export const onboard_tft_show_texts = function (_, generator) {
|
||||
return code;
|
||||
}
|
||||
|
||||
export const onboard_tft_show_qrcode = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
||||
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC) || 'True';
|
||||
var code = 'onboard_tft.qrcode(' + direct + ',sync='+ bool + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const onboard_tft_show_qrcode_details = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||
var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT);
|
||||
var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT);
|
||||
var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT);
|
||||
var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT);
|
||||
var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
||||
var s = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC) || 'True';
|
||||
var correct = this.getFieldValue('correct');
|
||||
if (color.slice(0, 2) == "0x") {
|
||||
var code = "onboard_tft.qrcode(" + data + ',x=' + x + ',y=' + y + ',size=' + size + ',correct=' + correct+ ',color='+ color +",sync=" + s +")\n";
|
||||
} else {
|
||||
const rgbValues = color.match(/\d+/g);
|
||||
const r = parseInt(rgbValues[0]);
|
||||
const g = parseInt(rgbValues[1]);
|
||||
const b = parseInt(rgbValues[2]);
|
||||
var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0");
|
||||
var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3;
|
||||
var code = "onboard_tft.qrcode(" + data + ',x=' + x + ',y=' + y + ',size=' + size + ',correct=' + correct + ',color=0x' + rgb565.toString(16) + ",sync=" + s + ")\n";
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated To be removed in the future
|
||||
*/
|
||||
|
||||
@@ -1612,6 +1612,11 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_onboard_music_play_list" m-hide='micropython:esp32:rm_e1'>
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<!--<block
|
||||
type="esp32_mixgo_music_play_list_show">
|
||||
<value name="LIST">
|
||||
@@ -4510,6 +4515,16 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo_extern">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -2926,7 +2926,7 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="llm_set_callback">
|
||||
<block type="llm_set_callback">
|
||||
<value name="VAR1">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">llm</field>
|
||||
@@ -4631,6 +4631,16 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo_extern">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -1629,6 +1629,11 @@
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_onboard_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo">
|
||||
<value name="TICKS">
|
||||
<shadow type="math_number">
|
||||
@@ -4373,6 +4378,26 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list" m-hide='micropython:esp32c3:mixgocar_c3'>
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo_extern" m-hide='micropython:esp32c3:mixgocar_c3'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -1574,6 +1574,11 @@
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_onboard_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo">
|
||||
<value name="TICKS">
|
||||
<shadow type="math_number">
|
||||
@@ -4031,6 +4036,16 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo_extern">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -1689,6 +1689,11 @@
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_onboard_music_play_list" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="TICKS">
|
||||
<shadow type="math_number">
|
||||
@@ -1981,6 +1986,51 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="onboard_tft_show_qrcode">
|
||||
<value name="direct">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">mixly</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="boolean">
|
||||
<shadow type="logic_boolean">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="onboard_tft_show_qrcode_details">
|
||||
<value name="data">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="x">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="y">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="size">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="VAR">
|
||||
<block type="display_color_seclet">
|
||||
<field name="COLOR">#ffffff</field>
|
||||
</block>
|
||||
<shadow type="tuple_create_with_text_return">
|
||||
<field name="TEXT">255,255,0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="boolean">
|
||||
<shadow type="logic_boolean">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="display_scroll_string">
|
||||
<value name="data">
|
||||
<shadow type="text">
|
||||
@@ -2743,7 +2793,17 @@
|
||||
<shadow type="text">
|
||||
<field name="TEXT">mixly.jpg</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</value>
|
||||
<value name="w">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">240</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="h">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">240</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</value>
|
||||
</block>
|
||||
@@ -5310,6 +5370,16 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="backstage_esp32_music_play_list">
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist_extern"></shadow>
|
||||
</value>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">midi</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo_extern">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
|
||||
Reference in New Issue
Block a user