删除S3灯颜色
统一S3和mini_g2 的rfid
增加 角度弧度转换 所有板
增加 S3根据气压获取海拔
This commit is contained in:
Irene-Maxine
2025-03-26 19:24:36 +08:00
parent 3f41008f21
commit f835dd2f64
25 changed files with 379 additions and 80 deletions

View File

@@ -822,7 +822,9 @@ export const mpython_pbm_image = {
["Water_level_0", "progres_picture.Water_level_0"],
["Water_level_1", "progres_picture.Water_level_1"],
["Water_level_2", "progres_picture.Water_level_2"],
["Water_level_3", "progres_picture.Water_level_3"]
["Water_level_3", "progres_picture.Water_level_3"],
["YES", "informatio_picture.YES"],
["NO", "informatio_picture.NO"]
]
};
@@ -1330,6 +1332,23 @@ export const draw_pointer = {
}
};
export const nova_draw_pointer = {
init: function () {
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.DRAW_POINTER)
.appendField(Blockly.Msg.DRAW_POINTER_ANGLE);
this.appendValueInput('angle');
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_DRAW_POINTER_DU);
this.appendValueInput('VAR')
.appendField(Blockly.Msg.HTML_COLOUR);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.DRAW_POINTER_TOOLTIP);
}
};
/**
* @deprecated To be removed in the future
*/

View File

@@ -896,6 +896,22 @@ export const sensor_ms5611_extern = {
}
};
export const sensor_ms5611_extern_altitude = {
init: function () {
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_Altitude + Blockly.Msg.MSG.catSensor + " MS5611")
.setCheck("var");
this.appendValueInput('VAR')
.appendField(Blockly.Msg.MIXLY_REF_TO_PRESSURE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_CAL_TO_ALTITUDE);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const sensor_QMC5883L_extern = {
init: function () {
this.setColour(SENSOR_EXTERN_HUE);

View File

@@ -934,9 +934,35 @@ export const onboard_tft_display_shape_circle = function (block, generator) {
export const draw_pointer = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
if (version == 'mixgo_nova'){
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT);
var code = "onboard_tft.pointern(angle=" + angle + ")\n";
}else{
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT);
var code = "onboard_matrix.pointern(angle=" + angle + ")\n";
}
return code;
}
export const nova_draw_pointer = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT);
var code = "onboard_matrix.pointern(angle=" + angle + ")\n";
var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
if (color.slice(0, 2) == "0x") {
var code = "onboard_tft.pointern(angle=" + angle + ","+ color +")\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.pointern(angle=" + angle + ', 0x' + rgb565.toString(16) + ")\n";
}
var code = "onboard_tft.pointern(angle=" + angle + ")\n";
return code;
}

View File

@@ -349,6 +349,14 @@ export const sensor_ms5611_extern = function (_, generator) {
return [code, generator.ORDER_ATOMIC];
}
export const sensor_ms5611_extern_altitude = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
generator.definitions_['import_ms5611'] = 'import ms5611';
var code = sub + '.altitude('+ v +')\n';
return code ;
}
export const sensor_ltr381_extern = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');

View File

@@ -268,16 +268,28 @@ export const sensor_get_temperature = function (_, generator) {
export const rfid_readid = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(0, x="id")';
if(version == 'mixgo_mini'){
generator.definitions_['import_mini_g2'] = 'import mini_g2';
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(0, x="id")';
}else{
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(0, x="id")';
}
return [code, generator.ORDER_ATOMIC];
}
export const rfid_readcontent = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(' + sector + ', x="content")';
if(version == 'mixgo_mini'){
generator.definitions_['import_mini_g2'] = 'import mini_g2';
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(' + sector + ')';
}else{
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(' + sector + ', x="content")';
}
return [code, generator.ORDER_ATOMIC];
}
@@ -285,8 +297,14 @@ export const rfid_write = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')\n';
if(version == 'mixgo_mini'){
generator.definitions_['import_mini_g2'] = 'import mini_g2';
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
}else{
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')\n';
}
return code;
}
@@ -294,8 +312,13 @@ export const rfid_write_return = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')';
if (version == "mixgo_mini") {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
} else {
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')';
}
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -178,16 +178,6 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr
background-size: 100% auto;
}
#catMINI_G2.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/sensor.png') no-repeat;
background-size: 100% auto;
}
#catMINI_G2.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/sensor2.png') no-repeat;
background-size: 100% auto;
}
#catExternSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/sensor_extern.png') no-repeat;
background-size: 100% auto;

View File

@@ -450,6 +450,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>
@@ -2183,41 +2197,6 @@
<block type="cc_g1_read_key"></block>
<block type="cc_g1_turnoff"></block>
</category>
<category id="catMINI_G2" colour="40" m-show='micropython:esp32c2:mixgo_mini'>
<block type="mini_g2_rfid_readcontent">
<value name="SECTOR">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="mini_g2_rfid_readid"></block>
<block type="mini_g2_rfid_write">
<value name="SECTOR">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="CONTENT">
<shadow type="text">
<field name="TEXT">Mixly</field>
</shadow>
</value>
</block>
<block type="mini_g2_rfid_write_outcome">
<value name="SECTOR">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="CONTENT">
<shadow type="text">
<field name="TEXT">Mixly</field>
</shadow>
</value>
</block>
<block type="mini_g2_rfid_status"></block>
</category>
<category id="catIot" colour="#2FAD7A">
<category id="catBlynk" colour="#2FAD7A">
<block type="iot_wifi_connect">

View File

@@ -474,6 +474,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -27,8 +27,10 @@ export const mini_g2_rfid_readid = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(0, x="id")';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
var code = 'mini_g2.ext_rc522.read_card(0, x="id")';
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
// var code = 'mini_g2.ext_rc522.read_card(0, x="id")';
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(0, x="id")';
}
return [code, generator.ORDER_ATOMIC];
}
@@ -40,8 +42,10 @@ export const mini_g2_rfid_readcontent = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(' + sector + ')';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
var code = 'mini_g2.ext_rc522.read_card(' + sector + ')';
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
// var code = 'mini_g2.ext_rc522.read_card(' + sector + ')';
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.read_card(' + sector + ', x="content")';
}
return [code, generator.ORDER_ATOMIC];
}
@@ -54,8 +58,10 @@ export const mini_g2_rfid_write = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')\n';
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
// var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')\n';
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')\n';
}
return code;
}
@@ -68,8 +74,10 @@ export const mini_g2_rfid_write_outcome = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')';
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
// var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')';
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.write_card(' + cnt + ', ' + sector + ')';
}
return [code, generator.ORDER_ATOMIC];
}
@@ -81,8 +89,10 @@ export const mini_g2_rfid_status = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.scan_card()==' + key;
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
var code = 'mini_g2.ext_rc522.scan_card()==' + key;
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
// var code = 'mini_g2.ext_rc522.scan_card()==' + key;
generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid";
var code = 'onboard_rfid.scan_card()==' + key;
}
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -448,6 +448,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>
@@ -1972,6 +1986,7 @@
<block type="cc_g1_turnoff"></block>
</category>
<category id="catMINI_G2" colour="40" m-show='micropython:esp32c2:mixgo_mini'>
<block type="mini_g2_rfid_readid"></block>
<block type="mini_g2_rfid_readcontent">
<value name="SECTOR">
<shadow type="math_number">
@@ -1979,7 +1994,6 @@
</shadow>
</value>
</block>
<block type="mini_g2_rfid_readid"></block>
<block type="mini_g2_rfid_write">
<value name="SECTOR">
<shadow type="math_number">

View File

@@ -448,6 +448,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -474,6 +474,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -129,7 +129,9 @@ pins["元控青春"] = {
["Water_level_0", "progres_picture.Water_level_0"],
["Water_level_1", "progres_picture.Water_level_1"],
["Water_level_2", "progres_picture.Water_level_2"],
["Water_level_3", "progres_picture.Water_level_3"]
["Water_level_3", "progres_picture.Water_level_3"],
["YES", "informatio_picture.YES"],
["NO", "informatio_picture.NO"]
],
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
imglist: [["ALL_CLOCKS", "matrix.Image.ALL_CLOCKS"], ["ALL_ARROWS", "matrix.Image.ALL_ARROWS"]],

View File

@@ -474,6 +474,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>
@@ -1576,16 +1590,6 @@
</shadow>
</value>
</block>
<block type="actuator_mixgo_zero_led_color" m-hide='micropython:esp32s3:mixgo_sant'>
<value name="led">
<shadow type="number">
</shadow>
</value>
<value name="colorvalue">
<shadow>
</shadow>
</value>
</block>
<block type="actuator_mixgo_nova_mic_set" m-hide='micropython:esp32s3:mixgo_sant'>
<value name="bright">
<shadow type="math_number">
@@ -2274,6 +2278,21 @@
</shadow>
</value>
</block>
<block type="nova_draw_pointer">
<value name="angle">
<shadow type="math_number">
<field name="NUM">0</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>
</block>
</category>
<category id="catSANT_G2" colour="40" m-show='micropython:esp32s3:mixgo_sant'>
<block type="mini_g2_rfid_readcontent">
@@ -4009,6 +4028,18 @@
</shadow>
</value>
</block>
<block type="sensor_ms5611_extern_altitude" m-hide='micropython:esp32c3:mixgocar_c3'>
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">xsensor</field>
</shadow>
</value>
<value name="VAR">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="sensor_shtc3_extern">
<value name="SUB">
<shadow type="variables_get">

View File

@@ -426,6 +426,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">

View File

@@ -283,6 +283,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -209,6 +209,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -461,6 +461,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -675,3 +675,27 @@ export const generate_cartesian_product = {
}
}
}
export const math_radian_to_degree = {
init: function () {
this.setColour(MATH_HUE);
this.setOutput(true)
this.appendValueInput('VAR')
.appendField(Blockly.Msg.MIXLY_SET_RADIAN);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_TRANS_TO_ANGLE);
this.setInputsInline(true);
}
};
export const math_degree_to_radian = {
init: function () {
this.setColour(MATH_HUE);
this.setOutput(true)
this.appendValueInput('VAR')
.appendField(Blockly.Msg.MIXLY_SET_DEGREE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_TRANS_TO_RADIAN);
this.setInputsInline(true);
}
};

View File

@@ -322,3 +322,17 @@ export const generate_cartesian_product = function (_, generator) {
}
return [code, generator.ORDER_ATOMIC];
}
export const math_radian_to_degree = function (_, generator) {
generator.definitions_.import_math = "import math";
var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
var code = 'math.degrees('+ v + ')';
return [code, generator.ORDER_ATOMIC];
}
export const math_degree_to_radian = function (_, generator) {
generator.definitions_.import_math = "import math";
var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
var code = 'math.radians('+ v + ')';
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -396,6 +396,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -396,6 +396,20 @@
</shadow>
</value>
</block>
<block type="math_radian_to_degree">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="math_degree_to_radian">
<value name="VAR">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</category>
<category id="catLogic" colour="210">
<block type="logic_compare"></block>

View File

@@ -3918,4 +3918,10 @@ En.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM = 'Set Maximum Number of Historical
En.MIXLY_LLM_CHAT = 'Chat with Large Language Model';
En.MIXLY_LLM_CONTENT_CALLBACK = 'Result Output Callback';
En.MIXLY_EMPTY_HISTORY = 'Clear History';
En.MIXLY_SET_RADIAN = 'convert radians';
En.MIXLY_TRANS_TO_ANGLE = 'to angles';
En.MIXLY_SET_DEGREE = 'convert angles';
En.MIXLY_TRANS_TO_RADIAN = 'to radians';
En.MIXLY_REF_TO_PRESSURE = 'Reference pressure';
En.MIXLY_CAL_TO_ALTITUDE = 'Calculate the altitude';
})();

View File

@@ -4078,5 +4078,10 @@ ZhHans.MIXLY_LLM_CONTENT_CALLBACK = '结果输出回调';
// ZhHans.MIXLY_SELECT_MODEL = '选择模型';
// ZhHans.MIXLY_CLEAR_USER_HISTORY = '清除用户的历史记录';
ZhHans.MIXLY_EMPTY_HISTORY = '清空历史记录';
ZhHans.MIXLY_SET_RADIAN = '将弧度';
ZhHans.MIXLY_TRANS_TO_ANGLE = '转换为角度';
ZhHans.MIXLY_SET_DEGREE = '将角度';
ZhHans.MIXLY_TRANS_TO_RADIAN = '转换为弧度';
ZhHans.MIXLY_REF_TO_PRESSURE = '参考气压';
ZhHans.MIXLY_CAL_TO_ALTITUDE = '计算获取海拔';
})();

View File

@@ -4072,4 +4072,10 @@ ZhHant.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM = '設定歷史對話記錄最
ZhHant.MIXLY_LLM_CHAT = '與大語言模型進行對話';
ZhHant.MIXLY_LLM_CONTENT_CALLBACK = '結果輸出回調';
ZhHant.MIXLY_EMPTY_HISTORY = '清空歷史記錄';
ZhHant.MIXLY_SET_RADIAN = '將弧度';
ZhHant.MIXLY_TRANS_TO_ANGLE = '轉換為角度';
ZhHant.MIXLY_SET_DEGREE = '將角度';
ZhHant.MIXLY_TRANS_TO_RADIAN = '轉換為弧度';
ZhHant.MIXLY_REF_TO_PRESSURE = '參考氣壓';
ZhHant.MIXLY_CAL_TO_ALTITUDE = '計算獲取海拔';
})();