删除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

@@ -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];
}