增加外接传感+调整显示内置图像

This commit is contained in:
Irene-Maxine
2025-03-24 19:10:24 +08:00
parent 5b48b2f5e5
commit 6b6ec621a3
5 changed files with 184 additions and 138 deletions

View File

@@ -143,9 +143,19 @@ export const display_image_builtins = function (block, generator) {
export const display_image_builtins_all = function (block, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
var dropdown_image = block.getFieldValue('image');
var code = 'onboard_matrix.' + dropdown_image;
if (version == 'mixgo_nova'){
const PIN_VALUE = block.getFieldValue('image');
const data = PIN_VALUE.split('.');
if (data.length !== 2) {
throw Error('pin value error');
}
generator.definitions_[`import_${data[0]}_${data[1]}`] = `from ${data[0]} import ${data[1]}`;
var code = data[1];
}else{
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
var dropdown_image = block.getFieldValue('image');
var code = 'onboard_matrix.' + dropdown_image;
}
return [code, generator.ORDER_ATOMIC];
}
@@ -439,19 +449,19 @@ export const mixgo_display_image_create_new = function (block, generator) {
//mpython
export const mpython_pbm_image = function (block, generator) {
var code = block.getFieldValue('path');
var sort = ['expression_picture', 'eye_picture', 'informatio_picture', 'object_picture', 'progres_picture']
var img = [["Angry", "Bored", "Confused", "Happy", "Heart", "Paper", "Rock", "Sad", "Scissors", "Silly", "Sleep", "Small_heart", "Small_paper", "Small_rock", "Small_scissors", "Smile", "Surprise", "Wonderful"], ["Eyes_Angry", "Awake", "Black_eye", "Bottom_left", "Bottom_right", "Crazy_1", "Crazy_2", "Disappointed", "Dizzy", "Down", "Hurt", "Evil", "Knocked_out", "Love", "Middle_left", "Middle_right", "Neutral", "Nuclear", "Pinch_left", "Pinch_middle", "Pinch_right", "Tear", "Tired_middle", "Tired_left", "Tired_right", "Toxic", "Up", "Winking"], ["Accept", "Backward", "Decline", "Forward", "Left", "No_go", "Question_mark", "Right", "Stop_1", "Stop_2", "Thumbs_down", "Thumbs_up", "Warning"], ["Bomb", "Boom", "Fire", "Flowers", "Forest", "Lightning", "Light_off", "Light_on", "Night", "Pirate", "Snow", "Target"], ["Bar_0", "Bar_1", "Bar_2", "Bar_3", "Bar_4", "Dial_0", "Dial_1", "Dial_2", "Dial_3", "Dial_4", "Dots_0", "Dots_1", "Dots_2", "Dots_3", "Hourglass_0", "Hourglass_1", "Hourglass_2", "Timer_0", "Timer_1", "Timer_2", "Timer_3", "Timer_4", "Water_level_0", "Water_level_1", "Water_level_2", "Water_level_3"]]
for (var i = 0; i < 5; i++) {
if (img[i].indexOf(code) != -1) {
var tag = i;
break;
}
}
generator.definitions_['import_' + sort[tag] + '_' + code] = "from " + sort[tag] + " import " + code;
return [code, generator.ORDER_ATOMIC];
}
// export const mpython_pbm_image = function (block, generator) {
// var code = block.getFieldValue('path');
// var sort = ['expression_picture', 'eye_picture', 'informatio_picture', 'object_picture', 'progres_picture']
// var img = [["Angry", "Bored", "Confused", "Happy", "Heart", "Paper", "Rock", "Sad", "Scissors", "Silly", "Sleep", "Small_heart", "Small_paper", "Small_rock", "Small_scissors", "Smile", "Surprise", "Wonderful"], ["Eyes_Angry", "Awake", "Black_eye", "Bottom_left", "Bottom_right", "Crazy_1", "Crazy_2", "Disappointed", "Dizzy", "Down", "Hurt", "Evil", "Knocked_out", "Love", "Middle_left", "Middle_right", "Neutral", "Nuclear", "Pinch_left", "Pinch_middle", "Pinch_right", "Tear", "Tired_middle", "Tired_left", "Tired_right", "Toxic", "Up", "Winking"], ["Accept", "Backward", "Decline", "Forward", "Left", "No_go", "Question_mark", "Right", "Stop_1", "Stop_2", "Thumbs_down", "Thumbs_up", "Warning"], ["Bomb", "Boom", "Fire", "Flowers", "Forest", "Lightning", "Light_off", "Light_on", "Night", "Pirate", "Snow", "Target"], ["Bar_0", "Bar_1", "Bar_2", "Bar_3", "Bar_4", "Dial_0", "Dial_1", "Dial_2", "Dial_3", "Dial_4", "Dots_0", "Dots_1", "Dots_2", "Dots_3", "Hourglass_0", "Hourglass_1", "Hourglass_2", "Timer_0", "Timer_1", "Timer_2", "Timer_3", "Timer_4", "Water_level_0", "Water_level_1", "Water_level_2", "Water_level_3"]]
// for (var i = 0; i < 5; i++) {
// if (img[i].indexOf(code) != -1) {
// var tag = i;
// break;
// }
// }
// generator.definitions_['import_' + sort[tag] + '_' + code] = "from " + sort[tag] + " import " + code;
// return [code, generator.ORDER_ATOMIC];
// }
export const onboard_oled_show_image = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]

View File

@@ -218,6 +218,9 @@ export const sensor_use_i2c_init = function (_, generator) {
} else if (key == 'CI130X') {
generator.definitions_['import_ci130x'] = 'import ci130x';
code = v + ' = ci130x.' + key + "(" + iv + ')\n';
} else if (key == 'MS5611'){
generator.definitions_['import_ms5611'] = 'import ms5611';
code = v + ' = ms5611.MS5611(' + iv + ')\n';
}
return code;
}
@@ -338,6 +341,14 @@ export const sensor_spl06_001_extern = function (_, generator) {
return [code, generator.ORDER_ATOMIC];
}
export const sensor_ms5611_extern = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
generator.definitions_['import_ms5611'] = 'import ms5611';
var code = sub + '.' + key;
return [code, generator.ORDER_ATOMIC];
}
export const sensor_ltr381_extern = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');