feat(boards): 调整micropython_robot下 创建图像 图形块
This commit is contained in:
@@ -921,6 +921,24 @@ export const mixbot_display_image_create = {
|
||||
}
|
||||
};
|
||||
|
||||
export const mixbot_display_bitmap_create = {
|
||||
init: function () {
|
||||
this.appendDummyInput('')
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE)
|
||||
this.appendDummyInput('')
|
||||
.setAlign(Blockly.inputs.Align.CENTRE)
|
||||
.appendField(new Blockly.FieldBitmap(mixbot_display_bitmap_create.BITMAP, null, {
|
||||
filledColor: '#000',
|
||||
emptyColor: '#5ba5a5',
|
||||
bgColor: '#e5e7f1'
|
||||
}), 'BITMAP');
|
||||
this.setOutput(true);
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_Create_image1);
|
||||
},
|
||||
BITMAP: Array.from({ length: 5 }, () => new Array(5).fill(0))
|
||||
};
|
||||
|
||||
export const mixbot_display_get_screen_pixel = {
|
||||
init: function () {
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
@@ -992,6 +1010,24 @@ export const bitbot_display_image_create = {
|
||||
}
|
||||
};
|
||||
|
||||
export const bitbot_display_bitmap_create = {
|
||||
init: function () {
|
||||
this.appendDummyInput('')
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE)
|
||||
this.appendDummyInput('')
|
||||
.setAlign(Blockly.inputs.Align.CENTRE)
|
||||
.appendField(new Blockly.FieldBitmap(bitbot_display_bitmap_create.BITMAP, null, {
|
||||
filledColor: '#000',
|
||||
emptyColor: '#5ba5a5',
|
||||
bgColor: '#e5e7f1'
|
||||
}), 'BITMAP');
|
||||
this.setOutput(true);
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_Create_image1);
|
||||
},
|
||||
BITMAP: Array.from({ length: 12 }, () => new Array(12).fill(0))
|
||||
};
|
||||
|
||||
export const onboard_tft_show_image_xy = {
|
||||
init: function () {
|
||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||
|
||||
@@ -687,6 +687,27 @@ export const mixbot_display_image_create = function (block, generator) {
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mixbot_display_bitmap_create = function (block, generator) {
|
||||
const BITMAP = block.getFieldValue('BITMAP');
|
||||
const data = [];
|
||||
for (let i = 0; i < 5; i++) {
|
||||
let temp = 0;
|
||||
let str = '';
|
||||
for (let k = 0; k < 5; k++) {
|
||||
if (!BITMAP[i][k]) {
|
||||
continue;
|
||||
}
|
||||
temp |= BITMAP[i][k] << k;
|
||||
}
|
||||
str = temp.toString(16);
|
||||
if (str.length == 1) {
|
||||
str = '0' + str;
|
||||
}
|
||||
data.push('\\x' + str);
|
||||
}
|
||||
return [`bytearray(b'${data.join('')}')`, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mixbot_display_get_screen_pixel = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
|
||||
@@ -749,6 +770,40 @@ export const bitbot_display_image_create = function (block, generator) {
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const bitbot_display_bitmap_create = function (block, generator) {
|
||||
const BITMAP = block.getFieldValue('BITMAP');
|
||||
const data = [];
|
||||
for (let i = 0; i < 12; i++) {
|
||||
let temp = 0;
|
||||
let str = '';
|
||||
for (let k = 0; k < 8; k++) {
|
||||
if (!BITMAP[i][k]) {
|
||||
continue;
|
||||
}
|
||||
temp |= BITMAP[i][k] << k;
|
||||
}
|
||||
str = temp.toString(16);
|
||||
if (str.length == 1) {
|
||||
str = '0' + str;
|
||||
}
|
||||
data.push('\\x' + str);
|
||||
temp = 0;
|
||||
str = '';
|
||||
for (let k = 0; k < 4; k++) {
|
||||
if (!BITMAP[i][k]) {
|
||||
continue;
|
||||
}
|
||||
temp |= BITMAP[i][k + 8] << k;
|
||||
}
|
||||
str = temp.toString(16);
|
||||
if (str.length == 1) {
|
||||
str = '0' + str;
|
||||
}
|
||||
data.push('\\x' + str);
|
||||
}
|
||||
return [`bytearray(b'${data.join('')}')`, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const onboard_tft_show_image_xy = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||
|
||||
@@ -1771,8 +1771,8 @@
|
||||
</value>
|
||||
</block>
|
||||
|
||||
<block type="mixbot_display_image_create" m-show="micropython:esp32:mixbot"></block>
|
||||
<block type="bitbot_display_image_create" m-show="micropython:esp32c3:feiyi"></block>
|
||||
<block type="mixbot_display_bitmap_create" m-show="micropython:esp32:mixbot"></block>
|
||||
<block type="bitbot_display_bitmap_create" m-show="micropython:esp32c3:feiyi"></block>
|
||||
<block type="display_image_builtins_all"></block>
|
||||
<block type="image_arithmetic">
|
||||
<value name="A">
|
||||
|
||||
Reference in New Issue
Block a user