822 lines
38 KiB
JavaScript
822 lines
38 KiB
JavaScript
import { Boards } from 'mixly';
|
|
|
|
export const esp32_music_set_tempo = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var bpm = generator.valueToCode(this, 'BPM', generator.ORDER_ASSIGNMENT);
|
|
var ticks = generator.valueToCode(this, 'TICKS', generator.ORDER_ASSIGNMENT);
|
|
var code = "onboard_music.set_tempo(" + ticks + ", " + bpm + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const esp32_music_get_tempo = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var code = "onboard_music.get_tempo()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const esp32_onboard_music_pitch = function (block, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC);
|
|
var code = 'onboard_music.pitch(' + number_pitch + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const esp32_onboard_music_pitch_with_time = function (block, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC);
|
|
var number_time = generator.valueToCode(block, 'time', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_spk_midi'] = "from mixgo_zero_voice import spk_midi";
|
|
var code = 'spk_midi.pitch_time(' + number_pitch + ', ' + number_time + ')\n';
|
|
} else if (version == 'mixgo_nova') {
|
|
generator.definitions_['import_mixgo_nova_voice_spk_midi'] = "from mixgo_nova_voice import spk_midi";
|
|
var code = 'spk_midi.pitch_time(' + number_pitch + ', ' + number_time + ')\n';
|
|
} else {
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var code = 'onboard_music.pitch_time(' + number_pitch + ', ' + number_time + ')\n';
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const esp32_onboard_music_stop = function (block, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var code = 'onboard_music.stop(' + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const esp32_onboard_music_play_list = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT);
|
|
if (version == 'mixgo_sant') {
|
|
generator.definitions_['import_mixgo_sant_onboard_music'] = "from mixgo_sant import onboard_music";
|
|
var code = "onboard_music.play(" + lst + ")\n";
|
|
} else if (version == 'mixgo_nova') {
|
|
generator.definitions_['import_mixgo_nova_voice_spk_midi'] = "from mixgo_nova_voice import spk_midi";
|
|
var code = "spk_midi.play(" + lst + ")\n";
|
|
} else if (version == 'mixgo_soar') {
|
|
generator.definitions_['import_mixgo_soar_voice_spk_midi'] = "from mixgo_soar_voice import spk_midi";
|
|
var code = "spk_midi.play(" + lst + ")\n";
|
|
} else {
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var code = "onboard_music.play(" + lst + ")\n";
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const esp32_music_reset = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
return "onboard_music.reset()\n";
|
|
}
|
|
|
|
export const number = function (_, generator) {
|
|
var code = this.getFieldValue('op');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ledswitch = function (_, generator) {
|
|
var code = this.getFieldValue('flag');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_led_bright = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo'){
|
|
if(op == 1){
|
|
generator.definitions_['import_' + version + 'led1'] = 'from ' + version + ' import led1';
|
|
var code = "led1.setonoff(" + bright + ")\n";
|
|
}else if (op == 2){
|
|
generator.definitions_['import_' + version + 'led2'] = 'from ' + version + ' import led2';
|
|
var code = "led2.setonoff("+ bright + ")\n";
|
|
}
|
|
}else{
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var code = "onboard_led.setonoff(" + op + "," + bright + ")\n";
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const actuator_get_led_bright = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo'){
|
|
if(op == 1){
|
|
generator.definitions_['import_' + version + 'led1'] = 'from ' + version + ' import led1';
|
|
var code = "led1.getbrightness()";
|
|
}else if (op == 2){
|
|
generator.definitions_['import_' + version + 'led2'] = 'from ' + version + ' import led2';
|
|
var code = "led2.getbrightness()";
|
|
}
|
|
}else{
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var code = "onboard_led.getbrightness(" + op + ")";
|
|
}
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_get_led_onoff = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo'){
|
|
if(op == 1){
|
|
generator.definitions_['import_' + version + 'led1'] = 'from ' + version + ' import led1';
|
|
var code = "led1.getonoff()";
|
|
}else if (op == 2){
|
|
generator.definitions_['import_' + version + 'led2'] = 'from ' + version + ' import led2';
|
|
var code = "led2.getonff()";
|
|
}
|
|
}else{
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var code = "onboard_led.getonoff(" + op + ")";
|
|
}
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_get_led_state = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo'){
|
|
if(op == 1){
|
|
generator.definitions_['import_' + version + 'led1'] = 'from ' + version + ' import led1';
|
|
var code = "led1.getonoff()";
|
|
}else if (op == 2){
|
|
generator.definitions_['import_' + version + 'led2'] = 'from ' + version + ' import led2';
|
|
var code = "led2.getonoff()";
|
|
}
|
|
}else{
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var code = "onboard_led.getonoff(" + op + ")";
|
|
}
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_led_brightness = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
if (version == 'mixgo'){
|
|
if(op == 1){
|
|
generator.definitions_['import_' + version + 'led1'] = 'from ' + version + ' import led1';
|
|
var code = "led1.setbrightness("+ flag + ")\n";
|
|
}else if (op == 2){
|
|
generator.definitions_['import_' + version + 'led2'] = 'from ' + version + ' import led2';
|
|
var code = "led2.setbrightness("+ flag + ")\n";
|
|
}
|
|
}else{
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var code = "onboard_led.setbrightness(" + op + ", " + flag + ")\n";
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_zero_led_color = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_' + version + '_onboard_led'] = 'from ' + version + ' import onboard_led';
|
|
var color = this.getFieldValue('colorvalue');
|
|
var code = "onboard_led.setcolor(" + op + ", " + color + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const cc_number = function (_, generator) {
|
|
var code = this.getFieldValue('op');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const rm_actuator_led_bright = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = this.getFieldValue('color');
|
|
generator.definitions_['import_' + version + '_' + op + 'led'] = 'from ' + version + ' import ' + op + 'led';
|
|
var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
var code = op + "led.setonoff(" + bright + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const rm_actuator_get_led_bright = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = this.getFieldValue('color');
|
|
generator.definitions_['import_' + version + '_' + op + 'led'] = 'from ' + version + ' import ' + op + 'led';
|
|
var code = op + "led.getbrightness()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const rm_actuator_get_led_state = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = this.getFieldValue('color');
|
|
generator.definitions_['import_' + version + '_' + op + 'led'] = 'from ' + version + ' import ' + op + 'led';
|
|
var code = op + "led.getonoff()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const rm_actuator_led_brightness = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var op = this.getFieldValue('color');
|
|
generator.definitions_['import_' + version + '_' + op + 'led'] = 'from ' + version + ' import ' + op + 'led';
|
|
var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
var code = op + "led.setbrightness(" + flag + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_onboard_neopixel_write = function (_, generator) {
|
|
const version = Boards.getSelectedBoardKey().split(':')[2];
|
|
generator.definitions_[`import_${version}_onboard_rgb`] = `from ${version} import onboard_rgb`;
|
|
const code = 'onboard_rgb.write()\n';
|
|
return code;
|
|
}
|
|
|
|
export const actuator_onboard_neopixel_rgb = function (_, generator) {
|
|
const version = Boards.getSelectedBoardKey().split(':')[2];
|
|
generator.definitions_[`import_${version}_onboard_rgb`] = `from ${version} import onboard_rgb`;
|
|
const value_led = generator.valueToCode(this, '_LED_', generator.ORDER_ATOMIC);
|
|
const value_rvalue = generator.valueToCode(this, 'RVALUE', generator.ORDER_ATOMIC);
|
|
const value_gvalue = generator.valueToCode(this, 'GVALUE', generator.ORDER_ATOMIC);
|
|
const value_bvalue = generator.valueToCode(this, 'BVALUE', generator.ORDER_ATOMIC);
|
|
const code = `onboard_rgb[${value_led}] = (${value_rvalue}, ${value_gvalue}, ${value_bvalue})\n`;
|
|
return code;
|
|
}
|
|
|
|
export const actuator_onboard_neopixel_rgb_all = function (_, generator) {
|
|
const version = Boards.getSelectedBoardKey().split(':')[2];
|
|
generator.definitions_[`import_${version}_onboard_rgb`] = `from ${version} import onboard_rgb`;
|
|
const value_rvalue = generator.valueToCode(this, 'RVALUE', generator.ORDER_ATOMIC);
|
|
const value_gvalue = generator.valueToCode(this, 'GVALUE', generator.ORDER_ATOMIC);
|
|
const value_bvalue = generator.valueToCode(this, 'BVALUE', generator.ORDER_ATOMIC);
|
|
const code = `onboard_rgb.fill((${value_rvalue}, ${value_gvalue}, ${value_bvalue}))\n`;
|
|
return code;
|
|
}
|
|
|
|
export const actuator_onboard_neopixel_rgb_show_all_chase = function (_, generator) {
|
|
const version = Boards.getSelectedBoardKey().split(':')[2];
|
|
generator.definitions_[`import_${version}_onboard_rgb`] = `from ${version} import onboard_rgb`;
|
|
const value_rvalue = generator.valueToCode(this, 'RVALUE', generator.ORDER_ATOMIC);
|
|
const value_gvalue = generator.valueToCode(this, 'GVALUE', generator.ORDER_ATOMIC);
|
|
const value_bvalue = generator.valueToCode(this, 'BVALUE', generator.ORDER_ATOMIC);
|
|
const number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
const code = `onboard_rgb.color_chase(${value_rvalue}, ${value_gvalue}, ${value_bvalue}, ${number_time})\n`;
|
|
return code;
|
|
}
|
|
|
|
export const actuator_onboard_neopixel_rgb_show_all_rainbow = function (_, generator) {
|
|
const version = Boards.getSelectedBoardKey().split(':')[2];
|
|
generator.definitions_[`import_${version}_onboard_rgb`] = `from ${version} import onboard_rgb`;
|
|
const number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
const code = `onboard_rgb.rainbow_cycle(${number_time})\n`;
|
|
return code;
|
|
}
|
|
|
|
export const rm_motor = function (_, generator) {
|
|
var wheel = this.getFieldValue('wheel');
|
|
generator.definitions_['import_rm_e1_motor' + wheel] = 'from rm_e1 import motor' + wheel;
|
|
var v = this.getFieldValue('direction');
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC);
|
|
var code = "motor" + wheel + '.motion("' + v + '",' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
//c3 motor onboard
|
|
export const actuator_stepper_keep = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
generator.definitions_['import_mixgocar_c3_car'] = 'from mixgocar_c3 import car';
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT);
|
|
var code = 'car.motor_move("' + v + '",' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_stepper_stop = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
generator.definitions_['import_mixgocar_c3_car'] = 'from mixgocar_c3 import car';
|
|
var code = 'car.motor_move("' + v + '"' + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_dc_motor = function (_, generator) {
|
|
var wheel = this.getFieldValue('wheel');
|
|
generator.definitions_['import_mixgocar_c3_car'] = 'from mixgocar_c3 import car';
|
|
var v = this.getFieldValue('direction');
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC);
|
|
var code = "car.motor(car.MOTO_" + wheel + ', "' + v + '", ' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_dc_motor_stop = function (_, generator) {
|
|
var wheel = this.getFieldValue('wheel');
|
|
generator.definitions_['import_mixgocar_c3_car'] = 'from mixgocar_c3 import car';
|
|
var v = this.getFieldValue('direction');
|
|
var code = "car.motor(car.MOTO_" + wheel + ', "' + v + '"' + ")\n";
|
|
return code;
|
|
}
|
|
|
|
//mixbot onboard_motor below:
|
|
|
|
export const mixbot_motor_status = function (_, generator) {
|
|
generator.definitions_['import_mixbot_motor'] = 'from mixbot import motor';
|
|
var code = 'motor.status()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const mixbot_move = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
var mode = this.getFieldValue('mode');
|
|
generator.definitions_['import_mixbot_motor'] = 'from mixbot import motor';
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT);
|
|
var code = 'motor.move("' + v + '", motor.' + mode + '_MODE,' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const mixbot_stop = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
generator.definitions_['import_mixbot_motor'] = 'from mixbot import motor';
|
|
if (v == 'N') {
|
|
var code = 'motor.move("N", motor.STOP_MODE)\n'
|
|
} else if (v == 'P') {
|
|
var code = 'motor.move("P", motor.BRAKE_MODE)\n'
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const mixbot_motor = function (_, generator) {
|
|
var wheel = this.getFieldValue('wheel');
|
|
generator.definitions_['import_mixbot_motor'] = 'from mixbot import motor';
|
|
var mode = this.getFieldValue('mode');
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC);
|
|
var code = 'motor.run(' + wheel + ', motor.' + mode + '_MODE, ' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixbot_buzzer_on_off = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_spk_en'] = 'from ' + version + ' import spk_en';
|
|
var op = this.getFieldValue('on_off');
|
|
var code = "spk_en.value(" + op + ")\n";
|
|
return code;
|
|
}
|
|
|
|
//bitbot onboard_motor below:
|
|
export const bitbot_move = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51';
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT);
|
|
var code = 'onboard_bot51.move("' + v + '", ' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const bitbot_stop = function (_, generator) {
|
|
var v = this.getFieldValue('VAR');
|
|
generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51';
|
|
var code = 'onboard_bot51.move("' + v + '"' + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const bitbot_motor = function (_, generator) {
|
|
var wheel = this.getFieldValue('wheel');
|
|
var direction = this.getFieldValue('direction');
|
|
generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51';
|
|
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC);
|
|
var code = 'onboard_bot51.motor(' + wheel + ', "' + direction + '", ' + speed + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_mic_set = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_ob_code'] = "from mixgo_zero_voice import ob_code";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_ob_code'] = "from mixgo_nova_voice import ob_code";
|
|
}
|
|
|
|
var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
var code = "ob_code.mic_volume(" + bright + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_mic_get = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_ob_code'] = "from mixgo_zero_voice import ob_code";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_ob_code'] = "from mixgo_nova_voice import ob_code";
|
|
}
|
|
var code = "ob_code.mic_volume()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_mixgo_nova_voice_set = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_ob_code'] = "from mixgo_zero_voice import ob_code";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_ob_code'] = "from mixgo_nova_voice import ob_code";
|
|
}
|
|
var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
|
|
var code = "ob_code.voice_volume(" + bright + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_voice_get = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_ob_code'] = "from mixgo_zero_voice import ob_code";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_ob_code'] = "from mixgo_nova_voice import ob_code";
|
|
}
|
|
var code = "ob_code.voice_volume()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const actuator_mixgo_nova_record_audio = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_record_audio'] = "from mixgo_zero_voice import record_audio";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_record_audio'] = "from mixgo_nova_voice import record_audio";
|
|
}
|
|
var path = generator.valueToCode(this, 'PATH', generator.ORDER_ASSIGNMENT);
|
|
var time = generator.valueToCode(this, 'TIME', generator.ORDER_ASSIGNMENT);
|
|
var code = "record_audio(" + path + ", " + time + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_play_audio = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_play_audio'] = "from mixgo_zero_voice import play_audio";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_play_audio'] = "from mixgo_nova_voice import play_audio";
|
|
}
|
|
var path = generator.valueToCode(this, 'PATH', generator.ORDER_ASSIGNMENT);
|
|
var code = "play_audio(" + path + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_play_online_audio = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
|
if (version == 'mixgo_zero') {
|
|
generator.definitions_['import_mixgo_zero_voice_play_audio_url'] = "from mixgo_zero_voice import play_audio_url";
|
|
} else {
|
|
generator.definitions_['import_mixgo_nova_voice_play_audio_url'] = "from mixgo_nova_voice import play_audio_url";
|
|
}
|
|
var path = generator.valueToCode(this, 'PATH', generator.ORDER_ASSIGNMENT);
|
|
var code = "play_audio_url(" + path + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_onboard_music_pitch = function (block, generator) {
|
|
generator.definitions_['import_mixgo_nova_voice_spk_midi'] = "from mixgo_nova_voice import spk_midi";
|
|
var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC);
|
|
var code = 'spk_midi.pitch(' + number_pitch + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const actuator_mixgo_nova_onboard_music_stop = function (block, generator) {
|
|
generator.definitions_['import_mixgo_nova_voice_spk_midi'] = "from mixgo_nova_voice import spk_midi";
|
|
var code = 'spk_midi.stop(' + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const set_power_output = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
|
var index = this.getFieldValue('index');
|
|
var duty = generator.valueToCode(this, 'duty', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = 'onboard_bot.usben(' + index + ', ' + duty + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const get_power_output = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
|
var index = this.getFieldValue('index');
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = 'onboard_bot.usben(' + index + ')';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const set_all_power_output = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
|
var duty = generator.valueToCode(this, 'duty', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = 'onboard_bot.usben(freq=' + duty + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const analog_keyboard_input = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var sp = generator.valueToCode(this, 'special', generator.ORDER_ATOMIC);
|
|
var ge = generator.valueToCode(this, 'general', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = "onboard_bot.hid_keyboard(" + sp + ", " + ge + ", " + re + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const special_key = function (_, generator) {
|
|
var code = this.getFieldValue('op');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const general_key = function (_, generator) {
|
|
var code = this.getFieldValue('op');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const analog_mouse_input = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC);
|
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
|
var wheel = generator.valueToCode(this, 'wheel', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = "onboard_bot.hid_mouse(keys=" + key + ", move=(" + x + ", " + y + "), wheel=" + wheel + ", release=" + re + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const mouse_key = function (_, generator) {
|
|
var code = this.getFieldValue('op');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const analog_keyboard_str = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var code = "onboard_bot.hid_keyboard_str(" + str + ", delay=" + t + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const general_key_tuple = function (_, generator) {
|
|
// Create a list with any number of elements of any type.
|
|
var code = new Array(this.itemCount_);
|
|
var default_value = '0';
|
|
for (var n = 0; n < this.itemCount_; n++) {
|
|
code[n] = generator.valueToCode(this, 'ADD' + n,
|
|
generator.ORDER_NONE) || default_value;
|
|
}
|
|
if (this.itemCount_ != 1) {
|
|
var code = '(' + code.join(', ') + ')';
|
|
} else {
|
|
var code = '(' + code.join(', ') + ',)';
|
|
}
|
|
|
|
return [code, generator.ORDER_ATOMIC];
|
|
};
|
|
|
|
export const analog_ble_keyboard_init = function (_, generator) {
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var kname = generator.valueToCode(this, 'kname', generator.ORDER_ATOMIC)
|
|
var code = 'ble_keyboard=Keyboard(' + kname + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const ble_keyboard_get_mac = function (_, generator) {
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var code = 'ble_keyboard.mac';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ble_keyboard_connect = function (_, generator) {
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var code = 'ble_keyboard.is_connected()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const analog_ble_keyboard_input = function (_, generator) {
|
|
var sp = generator.valueToCode(this, 'special', generator.ORDER_ATOMIC);
|
|
var ge = generator.valueToCode(this, 'general', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var code = "ble_keyboard.notify_hid(" + sp + ", " + ge + ", " + re + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_keyboard_str = function (_, generator) {
|
|
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var code = "ble_keyboard.notify_str(" + str + ", delay=" + t + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_keyboard_send_battery = function (_, generator) {
|
|
var b = generator.valueToCode(this, 'battery', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_ble_keyboard'] = 'from ble_hid_keyboard import Keyboard';
|
|
var code = "ble_keyboard.notify_battery(" + b + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_mouse_init = function (_, generator) {
|
|
generator.definitions_['import_ble_mouse'] = 'from ble_hid_mouse import Mouse';
|
|
var name = generator.valueToCode(this, 'name', generator.ORDER_ATOMIC)
|
|
var code = 'ble_mouse=Mouse(' + name + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const ble_mouse_get_mac = function (_, generator) {
|
|
generator.definitions_['import_ble_mouse'] = 'from ble_hid_mouse import Mouse';
|
|
var code = 'ble_mouse.mac';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ble_mouse_connect = function (_, generator) {
|
|
generator.definitions_['import_ble_mouse'] = 'from ble_hid_mouse import Mouse';
|
|
var code = 'ble_mouse.is_connected()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const analog_ble_mouse_input = function (_, generator) {
|
|
var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC);
|
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
|
var wheel = generator.valueToCode(this, 'wheel', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_ble_mouse'] = 'from ble_hid_mouse import Mouse';
|
|
var code = "ble_mouse.notify_hid(" + key + ", (" + x + ", " + y + "), " + wheel + ", " + re + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_mouse_send_battery = function (_, generator) {
|
|
var b = generator.valueToCode(this, 'battery', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_ble_mouse'] = 'from ble_hid_mouse import Mouse';
|
|
var code = "ble_mouse.notify_battery(" + b + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_keyboard_mouse_init = function (_, generator) {
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var kname = generator.valueToCode(this, 'kname', generator.ORDER_ATOMIC)
|
|
var code = 'ble_hid = HID(' + kname + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const ble_keyboard_mouse_get_mac = function (_, generator) {
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = 'ble_hid.mac';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ble_keyboard_mouse_connect = function (_, generator) {
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = 'ble_hid.is_connected()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const analog_ble_keyboard_mouse_send_battery = function (_, generator) {
|
|
var b = generator.valueToCode(this, 'battery', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = "ble_hid.battery_notify(" + b + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_keyboard_mouse_input = function (_, generator) {
|
|
var sp = generator.valueToCode(this, 'special', generator.ORDER_ATOMIC);
|
|
var ge = generator.valueToCode(this, 'general', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = "ble_hid.keyboard_notify(" + sp + ", " + ge + ", " + re + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_keyboard_mouse_str = function (_, generator) {
|
|
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = "ble_hid.keyboard_str(" + str + ", delay=" + t + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const analog_ble_mouse_keyboard_input = function (_, generator) {
|
|
var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC);
|
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
|
var wheel = generator.valueToCode(this, 'wheel', generator.ORDER_ATOMIC);
|
|
var re = this.getFieldValue('release');
|
|
generator.definitions_['import_HID_ble_hid'] = 'from ble_hid import HID';
|
|
var code = "ble_hid.mouse_notify(" + key + ", (" + x + ", " + y + ") ," + wheel + ", " + re + ")\n";
|
|
return code;
|
|
}
|
|
//educore actuator
|
|
export const educore_buzzer = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_speaker'] = 'from ' + version + ' import spesker';
|
|
var code = "speaker()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const educore_buzzer_play_tone = function (block, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_speaker'] = 'from ' + version + ' import spesker';
|
|
var bu = generator.valueToCode(this, 'buzzer', generator.ORDER_ATOMIC);
|
|
var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC);
|
|
var code = bu+'.tone(freq=[' + number_pitch + '])\n';
|
|
return code;
|
|
}
|
|
|
|
export const educore_buzzer_play_tone_time = function (block, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_speaker'] = 'from ' + version + ' import spesker';
|
|
var bu = generator.valueToCode(this, 'buzzer', generator.ORDER_ATOMIC);
|
|
var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC);
|
|
var number_time = generator.valueToCode(block, 'time', generator.ORDER_ATOMIC);
|
|
var code = bu+'.tone(freq=' + number_pitch + ', dur=' + number_time + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const educore_buzzer_stop = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_speaker'] = 'from ' + version + ' import spesker';
|
|
var bu = generator.valueToCode(this, 'buzzer', generator.ORDER_ATOMIC);
|
|
var code = bu+'.stop()\n';
|
|
return code;
|
|
}
|
|
|
|
export const educore_rgb_light = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + 'rgb'] = 'from ' + version + ' import rgb';
|
|
var code = "rgb()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const educore_neopixel_rgb = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + 'rgb'] = 'from ' + version + ' import rgb';
|
|
var rgb = generator.valueToCode(this, 'rgb', generator.ORDER_ATOMIC);
|
|
var value_led = generator.valueToCode(this, '_LED_', generator.ORDER_ATOMIC);
|
|
var value_rvalue = generator.valueToCode(this, 'RVALUE', generator.ORDER_ATOMIC);
|
|
var value_gvalue = generator.valueToCode(this, 'GVALUE', generator.ORDER_ATOMIC);
|
|
var value_bvalue = generator.valueToCode(this, 'BVALUE', generator.ORDER_ATOMIC);
|
|
var code = rgb+'.write(index[' + value_led + '], r=int(' + value_rvalue + '), g=int(' + value_gvalue + '), b=int(' + value_bvalue + '))\n';
|
|
return code;
|
|
}
|
|
|
|
export const educore_neopixel_clear = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + 'rgb'] = 'from ' + version + ' import rgb';
|
|
var rgb = generator.valueToCode(this, 'rgb', generator.ORDER_ATOMIC);
|
|
var code = rgb+'.clear()\n';
|
|
return code;
|
|
}
|
|
|
|
export const educore_ble_sensor_init = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_hid'] = 'from ' + version + ' import hid';
|
|
var n = generator.valueToCode(this, 'name', generator.ORDER_ATOMIC);
|
|
var code = 'hid.(name='+ n +')';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const educore_ble_sensor_connected = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_hid'] = 'from ' + version + ' import hid';
|
|
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
|
var code = sub+'.isconnected()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const educore_ble_keyboard_input = function (_, generator) {
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_keycode'] = 'from ' + version + ' import keycode';
|
|
var ge = generator.valueToCode(this, 'general', generator.ORDER_ATOMIC);
|
|
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
|
var code = sub+".keyboard_send("+ ge + ")\n";
|
|
return code;
|
|
}
|
|
|
|
export const get_keyboard_light = function (_,generator){
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var key = this.getFieldValue('key');
|
|
var code = "onboard_bot.hid_keyboard_state()["+ key +']';
|
|
return [code,generator.ORDER_ATOMIC]
|
|
}
|
|
|
|
export const set_microphone_amplification = function (_,generator){
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var t = this.getFieldValue('times');
|
|
var code = "onboard_bot.mic_pga("+ t +')\n';
|
|
return code;
|
|
}
|
|
|
|
export const record_audio = function (_,generator){
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
|
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
|
var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
|
|
return code;
|
|
}
|
|
|
|
export const set_music_volume = function (_,generator){
|
|
var version = Boards.getSelectedBoardKey().split(':')[2]
|
|
generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music';
|
|
var p = generator.valueToCode(this, 'percent', generator.ORDER_ATOMIC);
|
|
var code = 'onboard_music.set_volume('+p+')\n';
|
|
return code;
|
|
} |