一些板载显示修改
This commit is contained in:
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user