feat: sync micropython esp32 family source configs
This commit is contained in:
109
mixly/boards/default_src/micropython_esp32s3/generators/inout.js
Normal file
109
mixly/boards/default_src/micropython_esp32s3/generators/inout.js
Normal file
@@ -0,0 +1,109 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
// ok
|
||||
export const inout_highlow = function (_, generator) {
|
||||
// Boolean values HIGH and LOW.
|
||||
var code = (this.getFieldValue('BOOL') == 'HIGH') ? '1' : '0';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_digital_write = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC);
|
||||
var code = "";
|
||||
code += dropdown_pin + '.value(' + dropdown_stat + ')\n'
|
||||
return code;
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_digital_read = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var code = "";
|
||||
code = dropdown_pin + '.value()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_analog_write = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
//var dropdown_stat = this.getFieldValue('STAT');
|
||||
var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC);
|
||||
//generator.setups_['setup_output'+dropdown_pin] = 'pinMode('+dropdown_pin+', OUTPUT);';
|
||||
var code = dropdown_pin + '.write(' + value_num + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_analog_write_set = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC);
|
||||
var key = this.getFieldValue('key');
|
||||
var code = dropdown_pin + '.set_analog_' + key + '(' + value_num + ')\n';
|
||||
//var code = 'pin' + dropdown_pin + '.set_analog_period(' + value_num + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_pin_pressed = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var pin = generator.valueToCode(this, 'pin', generator.ORDER_ATOMIC);
|
||||
var code = pin + '.read()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const inout_pin_attachInterrupt = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var dropdown_mode = this.getFieldValue('mode');
|
||||
var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC);
|
||||
var code = 'machine.Pin(' + dropdown_pin + ').irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n'
|
||||
//var funcName = 'attachInterrupt_func_' + dropdown_pin;
|
||||
//var branch = generator.statementToCode(this, 'DO') || generator.PASS;
|
||||
//var code2 = 'def' + ' ' + funcName + '(p):\n' + branch + '\n';
|
||||
//generator.setups_[funcName] = code2;
|
||||
return code;
|
||||
}
|
||||
|
||||
export const inout_digital_init = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var pin_obj = this.getFieldValue('PIN_OBJ') || 'pin#';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var dropdown_mode = this.getFieldValue('MODE');
|
||||
var varName = (pin_obj == 'pin#') ? 'pin' + dropdown_pin : generator.variableDB_.getName(pin_obj, Blockly.Variables.NAME_TYPE);
|
||||
var code = varName + ' = machine.Pin(' + dropdown_pin + ', ' + dropdown_mode + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_analog_write_init = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var pin_obj = this.getFieldValue('PIN_OBJ') || 'dac#';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var varName = (pin_obj == 'dac#') ? 'dac' + dropdown_pin : generator.variableDB_.getName(pin_obj, Blockly.Variables.NAME_TYPE);
|
||||
var code = varName + ' = machine.DAC(machine.Pin(' + dropdown_pin + '))\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const inout_analog_atten = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
//var dropdown_stat = this.getFieldValue('STAT');
|
||||
var value_atten = this.getFieldValue('atten')
|
||||
var code = dropdown_pin + '.atten(' + value_atten + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
// ok
|
||||
export const inout_pin_pressed_init = function (_, generator) {
|
||||
generator.definitions_['import_machine'] = 'import machine';
|
||||
var pin_obj = this.getFieldValue('PIN_OBJ') || 'tc#';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
var varName = (pin_obj == 'tc#') ? 'tc' + dropdown_pin : generator.variableDB_.getName(pin_obj, Blockly.Variables.NAME_TYPE);
|
||||
var code = varName + ' = machine.TouchPad(machine.Pin(' + dropdown_pin + '))\n';
|
||||
return code;
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
export const pins_digital = function (_, generator) {
|
||||
const code = this.getFieldValue('PIN');
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
export const pins_button = pins_digital;
|
||||
export const pins_buttonB = pins_digital;
|
||||
export const pins_digital_pin = pins_digital;
|
||||
export const pins_input_pin = pins_digital;
|
||||
export const pins_output_pin = pins_digital;
|
||||
export const pins_pwm_input = pins_digital;
|
||||
export const espnow_channel = pins_digital;
|
||||
export const haskylens_model = pins_digital;
|
||||
export const analog_input = pins_digital;
|
||||
export const pwm_output = pins_digital;
|
||||
export const analog_output = pins_digital;
|
||||
export const i2c_A_pin = pins_digital;
|
||||
export const i2c_B_pin = pins_digital;
|
||||
export const spi_A_pin = pins_digital;
|
||||
export const spi_B_pin = pins_digital;
|
||||
export const spi_C_pin = pins_digital;
|
||||
export const spi_D_pin = pins_digital;
|
||||
export const pins_analog_pin = pins_digital;
|
||||
export const pins_analog = pins_digital;
|
||||
export const pins_pwm_pin = pins_digital;
|
||||
export const pins_pwm = pins_digital;
|
||||
export const pins_dac_pin = pins_digital;
|
||||
export const pins_dac = pins_digital;
|
||||
export const pins_touch_pin = pins_digital;
|
||||
export const pins_touch = pins_digital;
|
||||
export const pins_interrupt = pins_digital;
|
||||
export const pins_serial = pins_digital;
|
||||
export const pins_builtinimg_extern = pins_digital;
|
||||
export const pins_imglist = pins_digital;
|
||||
export const pins_playlist = pins_digital;
|
||||
export const pins_playlist_extern = pins_digital;
|
||||
export const pins_axis = pins_digital;
|
||||
export const pins_exlcdh = pins_digital;
|
||||
export const pins_exlcdv = pins_digital;
|
||||
export const pins_brightness = pins_digital;
|
||||
export const pins_tts_voice = pins_digital;
|
||||
export const pins_tts_builtin_music = pins_digital;
|
||||
export const pins_tts_bgmusic = pins_digital;
|
||||
export const pins_tone_notes = pins_digital;
|
||||
export const pins_radio_power = pins_digital;
|
||||
export const pins_radio_datarate = pins_digital;
|
||||
export const pins_one_more = pins_digital;
|
||||
export const pins_digital_dot = pins_digital;
|
||||
export const timer_id_pin = pins_digital;
|
||||
|
||||
export const pins_builtinimg = function (_, generator) {
|
||||
const PIN_VALUE = this.getFieldValue('PIN');
|
||||
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]}`;
|
||||
return [data[1], generator.ORDER_ATOMIC];
|
||||
};
|
||||
@@ -0,0 +1,102 @@
|
||||
import { Boards } from 'mixly';
|
||||
|
||||
// export const mini_g2_aht11 = function (_, generator) {
|
||||
// var key = this.getFieldValue('key');
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.ext_ahtx0.' + key + '()';
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
// export const mini_g2_hp203 = function (_, generator) {
|
||||
// var key = this.getFieldValue('key');
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.ext_hp203x.' + key;
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
// export const mini_g2_varistor = function (_, generator) {
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.varistor()';
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
export const mini_g2_rfid_readid = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(0, x="id")';
|
||||
} else if(version == "mixgo_sant"){
|
||||
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(0, x="id")';
|
||||
}else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.read_card(0, x="id")';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_readcontent = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(' + sector + ')';
|
||||
}else if(version == "mixgo_sant"){
|
||||
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(' + sector + ')';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.read_card(' + sector + ')';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_write = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
|
||||
}else if(version == "mixgo_sant"){
|
||||
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')\n';
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_write_outcome = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
|
||||
}else if(version == "mixgo_sant"){
|
||||
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_status = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var key = this.getFieldValue('key');
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.scan_card()==' + key;
|
||||
}else if(version == "mixgo_sant"){
|
||||
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
|
||||
var code = 'ext_rfid.scan_card()==' + key;
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.scan_card()==' + key;
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
Reference in New Issue
Block a user