mpy 外接传感增加旋转解码器
This commit is contained in:
@@ -2415,4 +2415,41 @@ export const get_keboards_value = {
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const init_init_rotary_encoder = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_SETUP)
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_AS + Blockly.Msg.MIXLY_ROTARY_ENCODER)
|
||||
this.appendValueInput('PIN1')
|
||||
.appendField('PINA#')
|
||||
this.appendValueInput('PIN2')
|
||||
.appendField('PINB#')
|
||||
this.appendValueInput('KEY')
|
||||
.appendField('KEY#')
|
||||
this.appendValueInput('METHOD')
|
||||
.appendField(Blockly.Msg.MIXLY_DO)
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const rotary_key = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_ROTARY_ENCODER)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.CLOCKWISE + Blockly.Msg.MIXLY_REVOLVE,"ROT_CW"],
|
||||
[Blockly.Msg.ANTI_CLOCKWISE + Blockly.Msg.MIXLY_REVOLVE,"ROT_CCW"],
|
||||
[Blockly.Msg.MIXLY_BUTTON2 + Blockly.Msg.MIXLY_BUTTON_PRESSED, "SW_PRESS"],
|
||||
[Blockly.Msg.MIXLY_BUTTON2 + Blockly.Msg.MIXLY_BUTTON_RELEASED,"SW_RELEASE"]
|
||||
]),"key")
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
@@ -1168,4 +1168,22 @@ export const get_keboards_value = function (_, generator) {
|
||||
var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE);
|
||||
var code = varName + '.read_keypad()'
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const init_init_rotary_encoder = function (_, generator) {
|
||||
generator.definitions_['import_rotary'] = 'import rotary';
|
||||
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
var p1 = generator.valueToCode(this, 'PIN1', generator.ORDER_ATOMIC);
|
||||
var p2 = generator.valueToCode(this, 'PIN2', generator.ORDER_ATOMIC);
|
||||
var key = generator.valueToCode(this, 'KEY', generator.ORDER_ATOMIC);
|
||||
var m = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC);
|
||||
var code = v + " = rotary.Encoder("+ p1 +","+ p2 +","+ key +","+ m +")\n";
|
||||
return code;
|
||||
}
|
||||
|
||||
export const rotary_key = function (_, generator) {
|
||||
generator.definitions_['import_rotary'] = 'import rotary';
|
||||
var key = this.getFieldValue("key");
|
||||
var code = 'rotary.'+ key ;
|
||||
return [code,generator.ORDER_ATOMIC];
|
||||
}
|
||||
Reference in New Issue
Block a user