增加S3_generic 和键盘矩阵
This commit is contained in:
@@ -2299,4 +2299,99 @@ export const weigh_sensor_get_weight = {
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export const init_matrix_keyboard = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_Keypad)
|
||||
.setAlign(Blockly.ALIGN_RIGHT)
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR')
|
||||
.setAlign(Blockly.ALIGN_RIGHT)
|
||||
this.appendValueInput('VALUE1')
|
||||
.appendField(Blockly.Msg.MIXLY_line_tube_foot + '#')
|
||||
.setAlign(Blockly.ALIGN_RIGHT)
|
||||
this.appendValueInput('VALUE2')
|
||||
.appendField(Blockly.Msg.MIXLY_column_tube_foot + '#')
|
||||
.setAlign(Blockly.ALIGN_RIGHT)
|
||||
this.appendValueInput('VALUE3')
|
||||
.appendField(Blockly.Msg.MIXLY_DEFINE_KEYBOARDS)
|
||||
.setAlign(Blockly.ALIGN_RIGHT)
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(false);
|
||||
}
|
||||
}
|
||||
|
||||
export const line_tube_foot ={
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput('PIN1')
|
||||
.appendField('1#')
|
||||
this.appendValueInput('PIN2')
|
||||
.appendField('2#')
|
||||
this.appendValueInput('PIN3')
|
||||
.appendField('3#')
|
||||
this.appendValueInput('PIN4')
|
||||
.appendField('4#')
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const column_tube_foot = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput('PIN1')
|
||||
.appendField('1#')
|
||||
this.appendValueInput('PIN2')
|
||||
.appendField('2#')
|
||||
this.appendValueInput('PIN3')
|
||||
.appendField('3#')
|
||||
this.appendValueInput('PIN4')
|
||||
.appendField('4#')
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const define_keyboards = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR1')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR2')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR3')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR4')
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR5')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR6')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR7')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR8')
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR9')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR10')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR11')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR12')
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR13')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR14')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR15')
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR16')
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(false);
|
||||
}
|
||||
}
|
||||
|
||||
export const get_keboards_value = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldTextInput(''), 'VAR')
|
||||
.appendField(Blockly.Msg.MIXLY_Keypad_GETKEY)
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
@@ -1087,4 +1087,71 @@ export const weigh_sensor_get_weight = function (_, generator) {
|
||||
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
var code = v + ".read_weight(10)";
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const line_tube_foot = function (_, generator) {
|
||||
generator.definitions_['import_machine_Pin'] = "from machine import Pin";
|
||||
generator.definitions_['import_keypad_Keypad'] = "from keypad import Keypad";
|
||||
var pin1 = generator.valueToCode(this, 'PIN1', generator.ORDER_ATOMIC);
|
||||
var pin2 = generator.valueToCode(this, 'PIN2', generator.ORDER_ATOMIC);
|
||||
var pin3 = generator.valueToCode(this, 'PIN3', generator.ORDER_ATOMIC);
|
||||
var pin4 = generator.valueToCode(this, 'PIN4', generator.ORDER_ATOMIC);
|
||||
var code = '[Pin(' + pin1 +'),Pin(' + pin2 +'),Pin(' + pin3 +'),Pin(' + pin4 +')]';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const column_tube_foot = function (_, generator) {
|
||||
generator.definitions_['import_machine_Pin'] = "from machine import Pin";
|
||||
generator.definitions_['import_keypad_Keypad'] = "from keypad import Keypad";
|
||||
var pin1 = generator.valueToCode(this, 'PIN1', generator.ORDER_ATOMIC);
|
||||
var pin2 = generator.valueToCode(this, 'PIN2', generator.ORDER_ATOMIC);
|
||||
var pin3 = generator.valueToCode(this, 'PIN3', generator.ORDER_ATOMIC);
|
||||
var pin4 = generator.valueToCode(this, 'PIN4', generator.ORDER_ATOMIC);
|
||||
var code = '[Pin(' + pin1 +'),Pin(' + pin2 +'),Pin(' + pin3 +'),Pin(' + pin4 +')]';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const define_keyboards = function (_, generator) {
|
||||
generator.definitions_['import_machine_Pin'] = "from machine import Pin";
|
||||
generator.definitions_['import_keypad_Keypad'] = "from keypad import Keypad";
|
||||
var var1 = this.getFieldValue('VAR1');
|
||||
var var2 = this.getFieldValue('VAR2');
|
||||
var var3 = this.getFieldValue('VAR3');
|
||||
var var4 = this.getFieldValue('VAR4');
|
||||
var var5 = this.getFieldValue('VAR5');
|
||||
var var6 = this.getFieldValue('VAR6');
|
||||
var var7 = this.getFieldValue('VAR7');
|
||||
var var8 = this.getFieldValue('VAR8');
|
||||
var var9 = this.getFieldValue('VAR9');
|
||||
var var10 = this.getFieldValue('VAR10');
|
||||
var var11 = this.getFieldValue('VAR11');
|
||||
var var12 = this.getFieldValue('VAR12');
|
||||
var var13 = this.getFieldValue('VAR13');
|
||||
var var14 = this.getFieldValue('VAR14');
|
||||
var var15 = this.getFieldValue('VAR15');
|
||||
var var16 = this.getFieldValue('VAR16');
|
||||
var code = "[\n['"+var1+"','"+var2+"','"+var3+"','"+var4+"'],\n['"+var5+"','"+var6+"','"+var7+"','"+var8+"'],\n['"+var9+"','"+var10+"','"+var11+"','"+var12+"'],\n['"+var13+"','"+var14+"','"+var15+"','"+var16+"']]"
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const init_matrix_keyboard = function (_, generator) {
|
||||
generator.definitions_['import_machine_Pin'] = "from machine import Pin";
|
||||
generator.definitions_['import_keypad_Keypad'] = "from keypad import Keypad";
|
||||
var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
var argument1 = generator.valueToCode(this, 'VALUE1',
|
||||
generator.ORDER_ASSIGNMENT) || 'None';
|
||||
var argument2 = generator.valueToCode(this, 'VALUE2',
|
||||
generator.ORDER_ASSIGNMENT) || 'None';
|
||||
var argument3 = generator.valueToCode(this, 'VALUE3',
|
||||
generator.ORDER_ASSIGNMENT) || 'None';
|
||||
var code = varName +'= Keypad('+ argument1 +','+argument2+','+argument3+')'
|
||||
return code;
|
||||
}
|
||||
|
||||
export const get_keboards_value = function (_, generator) {
|
||||
generator.definitions_['import_machine_Pin'] = "from machine import Pin";
|
||||
generator.definitions_['import_keypad_Keypad'] = "from keypad import Keypad";
|
||||
var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
var code = varName + '.read_keypad()'
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"board": {
|
||||
"元控青春": "micropython:esp32s3:mixgo_nova",
|
||||
"元控自强": "micropython:esp32s3:mixgo_sant"
|
||||
"元控自强": "micropython:esp32s3:mixgo_sant",
|
||||
"S3_generic":"micropython:esp32s3:generic"
|
||||
},
|
||||
"language": "MicroPython",
|
||||
"burn": {
|
||||
|
||||
@@ -1380,10 +1380,8 @@
|
||||
<block type="serial_readstr"></block>
|
||||
<block type="serial_readline"></block>
|
||||
</category>
|
||||
<!--<category
|
||||
id="catOnBoard" name="catOnBoard" colour="65">-->
|
||||
<category id="catOnBoardSensor" name="catOnBoardSensor" colour="#947C54"
|
||||
m-hide='micropython:esp32s2:generic'>
|
||||
m-hide='micropython:esp32s3:generic'>
|
||||
<block type="sensor_mixgo_button_is_pressed">
|
||||
<value name="btn">
|
||||
<shadow type="pins_button">
|
||||
@@ -1542,7 +1540,7 @@
|
||||
|
||||
</category>
|
||||
<category id="catOnBoardActuator" name="catOnBoardActuator" colour="#6C9858"
|
||||
m-hide='micropython:esp32s2:generic'>
|
||||
m-hide='micropython:esp32s3:generic'>
|
||||
<block type="actuator_led_bright">
|
||||
<value name="led">
|
||||
<shadow type="number">
|
||||
@@ -1829,7 +1827,7 @@
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
<category id="catOnBoardDisplay" colour='#78B5B4'>
|
||||
<category id="catOnBoardDisplay" colour='#78B5B4' m-hide='micropython:esp32s3:generic'>
|
||||
<block type="display_image_builtins_all"></block>
|
||||
<block type="display_show_image">
|
||||
<value name="data">
|
||||
@@ -2587,7 +2585,7 @@
|
||||
</block>
|
||||
<block type="interaction_whether_to_interaction_SANT"></block>
|
||||
</category>
|
||||
<category id="catIot" colour="#2FAD7A">
|
||||
<category id="catIot" colour="#2FAD7A" m-hide='micropython:esp32s3:generic'>
|
||||
<category id="catMixIO" colour="#526FC3">
|
||||
<block type="iot_wifi_connect">
|
||||
<value name="WIFINAME">
|
||||
@@ -3104,7 +3102,7 @@
|
||||
</block>
|
||||
</category>
|
||||
</category>
|
||||
<category id="catGroup" colour="140">
|
||||
<category id="catGroup" colour="140" m-hide='micropython:esp32s3:generic'>
|
||||
<category id="catBLE" colour="140">
|
||||
<block type="communicate_bluetooth_central_init">
|
||||
<value name="VAR">
|
||||
@@ -3895,36 +3893,7 @@
|
||||
</block>
|
||||
</category>
|
||||
</category>
|
||||
<category id="catExternSensor" colour='#A58C5B'>
|
||||
<!--
|
||||
<block type="sensor_lm35">
|
||||
<value name="PIN">
|
||||
<shadow type="pins_analog_pin"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sensor_dht11">
|
||||
<value name="PIN">
|
||||
<shadow type="pins_digital_pin"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sensor_ds18x20">
|
||||
<value name="PIN">
|
||||
<shadow type="pins_digital_pin"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="HCSR04">
|
||||
<value name="PIN1">
|
||||
<shadow type="pins_digital_pin">
|
||||
<field name="PIN">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN2">
|
||||
<shadow type="pins_digital_pin">
|
||||
<field name="PIN">4</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
-->
|
||||
<category id="catExternSensor" colour='#A58C5B' m-hide='micropython:esp32s3:generic'>
|
||||
<block type="communicate_i2c_init">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
@@ -4522,8 +4491,75 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="init_matrix_keyboard">
|
||||
<field name ="VAR">KEYPAD_4_4</field>
|
||||
<value name="VALUE1">
|
||||
<block type="line_tube_foot">
|
||||
<value name="PIN1">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN2">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN3">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN4">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</value>
|
||||
<value name="VALUE2">
|
||||
<block type="column_tube_foot">
|
||||
<value name="PIN1">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN2">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN3">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN4">
|
||||
<shadow type="pins_digital_pin">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</value>
|
||||
<value name="VALUE3">
|
||||
<block type="define_keyboards">
|
||||
<field name ="VAR1">1</field>
|
||||
<field name ="VAR2">2</field>
|
||||
<field name ="VAR3">3</field>
|
||||
<field name ="VAR4">A</field>
|
||||
<field name ="VAR5">4</field>
|
||||
<field name ="VAR6">5</field>
|
||||
<field name ="VAR7">6</field>
|
||||
<field name ="VAR8">B</field>
|
||||
<field name ="VAR9">7</field>
|
||||
<field name ="VAR10">8</field>
|
||||
<field name ="VAR11">9</field>
|
||||
<field name ="VAR12">C</field>
|
||||
<field name ="VAR13">*</field>
|
||||
<field name ="VAR14">0</field>
|
||||
<field name ="VAR15">#</field>
|
||||
<field name ="VAR16">D</field>
|
||||
</block>
|
||||
</value>
|
||||
</block>
|
||||
<block type="get_keboards_value">
|
||||
<field name ="VAR">KEYPAD_4_4</field>
|
||||
</block>
|
||||
|
||||
</category>
|
||||
<category id="catExternActuator" colour='#74A55B'>
|
||||
<category id="catExternActuator" colour='#74A55B' m-hide='micropython:esp32s3:generic'>
|
||||
<block type="esp32_music_pitch_init">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
@@ -4958,7 +4994,7 @@
|
||||
</block>
|
||||
<block type="nova_g1_spk_en"></block>
|
||||
</category>
|
||||
<category id="catExternMonitor" colour='5BA5A5'>
|
||||
<category id="catExternMonitor" colour='5BA5A5' m-hide='micropython:esp32s3:generic'>
|
||||
<category id="catMatrix" colour='5BA5A5'>
|
||||
<block type="communicate_i2c_init">
|
||||
<value name="SUB">
|
||||
@@ -5967,7 +6003,7 @@
|
||||
</block>
|
||||
</category>
|
||||
</category>
|
||||
<category id="catAIsensor" colour="#90A244">
|
||||
<category id="catAIsensor" colour="#90A244" m-hide='micropython:esp32s3:generic'>
|
||||
<block type="serial_softserial_new">
|
||||
<value name="RX">
|
||||
<shadow type="pins_digital_pin">
|
||||
@@ -6386,7 +6422,7 @@
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
<category id="catAIsensor2" colour="#90A244">
|
||||
<category id="catAIsensor2" colour="#90A244" m-hide='micropython:esp32s3:generic'>
|
||||
<block type="serial_softserial_new">
|
||||
<value name="RX">
|
||||
<shadow type="pins_digital_pin">
|
||||
@@ -6751,43 +6787,8 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
|
||||
<!-- <block type="variables_set">
|
||||
<field name="VAR">info</field>
|
||||
<value name="VALUE">
|
||||
<block type="ai_sensor_yolo_recognize">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">ai_sensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="VAR1">
|
||||
<shadow type="tuple_create_with_text_return">
|
||||
<field name="TEXT">0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423,
|
||||
5.6823</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="VAR2">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">/sd/masks.kmodel</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="VAR4">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">外部模型加载</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</block>
|
||||
<block type="ai_sensor_yolo_recognize_result">
|
||||
<value name="VAR">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">objects</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block> -->
|
||||
</category>
|
||||
<category id="catFile" colour="0">
|
||||
<category id="catFile" colour="0" m-hide='micropython:esp32s3:generic'>
|
||||
<block type="sdcard_use_spi_init">
|
||||
<value name="SPISUB">
|
||||
<block type="communicate_spi_onboard"></block>
|
||||
@@ -6953,7 +6954,7 @@
|
||||
</block>
|
||||
</category>
|
||||
|
||||
<category id="catNetwork" colour="225">
|
||||
<category id="catNetwork" colour="225" m-hide='micropython:esp32s3:generic'>
|
||||
<block type="iot_wifi_connect">
|
||||
<value name="WIFINAME">
|
||||
<shadow type="text">
|
||||
@@ -7327,7 +7328,7 @@
|
||||
</block>
|
||||
<block type="urequests_response"></block> -->
|
||||
</category>
|
||||
<category id="catCommunicate" colour="#3288dd">
|
||||
<category id="catCommunicate" colour="#3288dd" m-hide='micropython:esp32s3:generic'>
|
||||
<block type="variables_set">
|
||||
<field name="VAR">response</field>
|
||||
<value name="VALUE">
|
||||
|
||||
@@ -3964,4 +3964,7 @@ En.MIXLY_synchronize = 'Synchronize';
|
||||
En.MIXLY_Display_long_text = 'Display long text';
|
||||
En.MIXLY_BROADCAST_SYSTEM_TIME = 'Broadcast system time';
|
||||
En.MIXLY_DETAILED = 'Detailed';
|
||||
En.MIXLY_line_tube_foot = 'line tube foot';
|
||||
En.MIXLY_column_tube_foot = 'column tube foot';
|
||||
En.MIXLY_DEFINE_KEYBOARDS= 'define the keyboard';
|
||||
})();
|
||||
|
||||
@@ -4123,4 +4123,7 @@ ZhHans.MIXLY_synchronize = '实时刷新';
|
||||
ZhHans.MIXLY_Display_long_text = '显示长文本';
|
||||
ZhHans.MIXLY_BROADCAST_SYSTEM_TIME = '播报系统时间';
|
||||
ZhHans.MIXLY_DETAILED = '详细地';
|
||||
ZhHans.MIXLY_line_tube_foot = '行管脚';
|
||||
ZhHans.MIXLY_column_tube_foot = '列管脚';
|
||||
ZhHans.MIXLY_DEFINE_KEYBOARDS= '定义键盘';
|
||||
})();
|
||||
@@ -4118,4 +4118,7 @@ ZhHant.MIXLY_synchronize = '實時刷新';
|
||||
ZhHant.MIXLY_Display_long_text = '顯示長文本';
|
||||
ZhHant.MIXLY_BROADCAST_SYSTEM_TIME = '播報系統時間';
|
||||
ZhHant.MIXLY_DETAILED = '詳細地';
|
||||
ZhHant.MIXLY_line_tube_foot = '行管腳';
|
||||
ZhHant.MIXLY_column_tube_foot = '列管腳';
|
||||
ZhHant.MIXLY_DEFINE_KEYBOARDS= '定義鍵盤';
|
||||
})();
|
||||
Reference in New Issue
Block a user