91 lines
3.9 KiB
JavaScript
91 lines
3.9 KiB
JavaScript
export const serial_print = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '""'
|
|
var code = "uart.write(str(" + content + "))\n";
|
|
return code;
|
|
}
|
|
|
|
export const serial_println = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '""'
|
|
var code = "uart.write(str(" + content + ")+'\\r\\n')\n";
|
|
return code;
|
|
}
|
|
|
|
export const serial_print_hex = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '0';
|
|
var code = "uart.write(str(hex(" + content + ")) + '\\r\\n')\n";
|
|
return code;
|
|
}
|
|
|
|
export const serial_receive_data_event = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var char_marker = generator.valueToCode(this, 'char_marker', generator.ORDER_ATOMIC) || ';';
|
|
var branch = generator.statementToCode(this, 'DO');
|
|
|
|
generator.definitions_['func_serial_receive_data_event_' + char_marker.charCodeAt(1)] = "serial.onDataReceived(" + char_marker + ", () => {\n" + branch + "}\n";
|
|
}
|
|
|
|
export const serial_any = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var code = "uart.any()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const serial_readstr = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var code = "uart.read()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const serial_readline = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var code = "uart.readline()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const serial_readstr_until = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var char_marker = this.getFieldValue('char_marker');
|
|
var code = "serial.readUntil(" + char_marker + ")";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const serial_softserial = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var dropdown_pin1 = generator.valueToCode(this, 'RX', generator.ORDER_ATOMIC);
|
|
var dropdown_pin2 = generator.valueToCode(this, 'TX', generator.ORDER_ATOMIC);
|
|
if (!isNaN(parseInt(dropdown_pin1)))
|
|
dropdown_pin1 = "pin" + dropdown_pin1;
|
|
if (!isNaN(parseInt(dropdown_pin2)))
|
|
dropdown_pin2 = "pin" + dropdown_pin2;
|
|
var baudrate = this.getFieldValue('baudrate');
|
|
return "uart.init(rx=" + dropdown_pin1 + ", tx=" + dropdown_pin2 + ", baudrate=" + baudrate + ")\n";
|
|
}
|
|
|
|
export const serial_begin = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var baudrate = this.getFieldValue('baudrate');
|
|
return "uart.init(baudrate=" + baudrate + ")\n";
|
|
}
|
|
|
|
export const IO_input = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""';
|
|
return ['input(' + str + ')', generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IO_print = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""';
|
|
var code = "print(" + str + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const IO_print_inline = function (_, generator) {
|
|
generator.definitions_['import_microbit_*'] = 'from microbit import *';
|
|
var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""';
|
|
var code = "print(" + str + ',end ="")\n';
|
|
return code;
|
|
} |