fix(boards): 修复micropython下 绘制指针 图形块代码生成异常

This commit is contained in:
王立帮
2026-01-17 19:37:40 +08:00
parent 38a33c7b3a
commit ee0e8e87e2

View File

@@ -1146,7 +1146,7 @@ export const nova_draw_pointer = function (_, generator) {
var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT); var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT);
var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
if (color.slice(0, 2) == "0x") { if (color.slice(0, 2) == "0x") {
var code = "onboard_tft.pointern(angle=" + angle + ","+ color +")\n"; var code = "onboard_tft.pointern(angle=" + angle + ", color="+ color +")\n";
} else { } else {
const rgbValues = color.match(/\d+/g); const rgbValues = color.match(/\d+/g);
const r = parseInt(rgbValues[0]); const r = parseInt(rgbValues[0]);
@@ -1154,9 +1154,8 @@ export const nova_draw_pointer = function (_, generator) {
const b = parseInt(rgbValues[2]); const b = parseInt(rgbValues[2]);
var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); 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 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 + ', color=0x' + rgb565.toString(16) + ")\n";
} }
var code = "onboard_tft.pointern(angle=" + angle + ")\n";
return code; return code;
} }