初步增加educore

This commit is contained in:
Irene-Maxine
2025-01-09 08:46:44 +08:00
parent 9d74c9800d
commit 6a97eb899b
329 changed files with 15296 additions and 40 deletions

View File

@@ -630,4 +630,56 @@ export const mixbot_actuator_extern_set_addr = function (_, generator) {
var newaddr = generator.valueToCode(this, 'new', generator.ORDER_ATOMIC);
var code = name + '.addr_set(' + oldaddr + ',' + newaddr + ')\n';
return code;
}
//educore
export const PIN_init = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + 'pin'] = 'from ' + version + ' import pin';
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'pin('+ dropdown_pin +')';
return [code, generator.ORDER_ATOMIC];
}
export const pin_led_bright = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
var pin = generator.valueToCode(this, 'pin', generator.ORDER_ATOMIC);
generator.definitions_['import_' + version + 'pin'] = 'from ' + version + ' import pin';
var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC);
var code = pin+".write_digital(value=" + bright + ")\n";
return code;
}
export const servo_PIN_init = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + 'servo'] = 'from ' + version + ' import servo';
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'servo('+ dropdown_pin +')';
return [code, generator.ORDER_ATOMIC];
}
export const servo_move_angle = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + 'servo'] = 'from ' + version + ' import servo';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var a = generator.valueToCode(this, 'angle', generator.ORDER_ATOMIC);
var code = sub+'.angle('+ a +')\n';
return code;
}
export const parrot_PIN_init = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + 'parrot'] = 'from ' + version + ' import parrot';
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'parrot('+ dropdown_pin +')';
return [code, generator.ORDER_ATOMIC];
}
export const parrot_move_speed = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + 'parrot'] = 'from ' + version + ' import parrot';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC);
var code = sub+'.speed('+ speed +')\n';
return code;
}

View File

@@ -586,3 +586,90 @@ export const analog_ble_mouse_send_battery = function (_, generator) {
var code = "ble_mouse.notify_battery(" + b + ")\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;
}

View File

@@ -253,4 +253,49 @@ export const ce_go_pin_light = function (_, generator) {
}
var code = 'car.light()' + key + '';
return [code, generator.ORDER_ATOMIC];
}
//educore car
export const educore_car = function (_, generator) {
var version = Mixly.Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car';
var code = 'car()';
return [code, generator.ORDER_ATOMIC];
}
export const educore_car_stepper_keep = function (_, generator) {
var version = Mixly.Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car';
var car = generator.valueToCode(this, 'car', generator.ORDER_ASSIGNMENT);
var v = this.getFieldValue('VAR');
var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT);
var code = car+'.'+ v +'('+speed+")\n";
return code;
}
export const educore_car_stepper_stop = function (_, generator) {
var version = Mixly.Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car';
var car = generator.valueToCode(this, 'car', generator.ORDER_ASSIGNMENT);
var v = this.getFieldValue('VAR');
var code = car+'.'+ v +"()\n";
return code;
}
export const educore_car_pin_near_line = function (_, generator) {
var version = Mixly.Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car';
var car = generator.valueToCode(this, 'car', generator.ORDER_ASSIGNMENT);
var key = this.getFieldValue('key');
var code = car+'.get_itr_dnum(' + key + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_car_pin_near = function (_, generator) {
var version = Mixly.Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car';
var car = generator.valueToCode(this, 'car', generator.ORDER_ASSIGNMENT);
var code = car+'.get_distance()';
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -117,4 +117,3 @@ export const controls_typeLists = function (_, generator) {
// generator.definitions_['func_type' + type] = code;
return [type, generator.ORDER_ATOMIC];
}

View File

@@ -2,9 +2,14 @@ import { Boards } from 'mixly';
export const display_show_image = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT);
var code = "onboard_matrix.shows(" + data + ")\n";
if (version == "educore"){
generator.definitions_['import_' + version + 'oled'] = "from " + version + " import oled";
var code = "oled.print(" + data + ")\n";
}else{
generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix";
var code = "onboard_matrix.shows(" + data + ")\n";
}
return code;
}

View File

@@ -257,3 +257,56 @@ export const requests_post = function (_, generator) {
};
export const educore_wifi_connect = function (_, generator) {
generator.definitions_['import_educore_wifi'] = "from educore import wifi";
var username = generator.valueToCode(this, 'WIFINAME', generator.ORDER_ATOMIC);
var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC);
var timeout = generator.valueToCode(this, 'TIMEOUT', generator.ORDER_ATOMIC);
var code = 'wifi.connect(ssid='+username+', psd='+password+', timeout='+timeout+')\n';
return code;
}
export const educore_mqtt_connect = function (_, generator) {
generator.definitions_['import_educore_mqttclient'] = "from educore import mqttclient";
var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC);
var port = generator.valueToCode(this, 'PORT', generator.ORDER_ATOMIC);
var client_id = generator.valueToCode(this, 'CLIENT_ID', generator.ORDER_ATOMIC);
var username = generator.valueToCode(this, 'USERNAME', generator.ORDER_ATOMIC);
var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC);
// var a = "'" + username.replace("'", "").replace("'", "") + "/" + project.replace("'", "").replace("'", "") + "/'"
// var code = 'MQTT_USR_PRJ = ' + a + '\n' + 'mqtt_client = mixiot.init_MQTT_client(' + server + ', ' + username + ', ' + password + ', MQTT_USR_PRJ)\n';
var code = 'mqttclient.connect(server='+server+', port='+port+',client_id='+client_id+',user='+username+',psd='+password+')\n'
return code;
}
export const educore_mqtt_subscribe_message = function (_, generator) {
generator.definitions_['import_educore_mqttclient'] = "from educore import mqttclient";
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
var message = generator.valueToCode(this, 'MESSAGE', generator.ORDER_ATOMIC);
var code = 'mqttclient.'+message+'(' + topic + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_mqtt_topic_subscribe = function (_, generator) {
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC);
generator.definitions_['import_educore_mqttclient'] = "from educore import mqttclient";
// var code = 'mqtt_client.set_callback(' + topic + ',' + method + ', MQTT_USR_PRJ)\n';
// code += 'mqtt_client.subscribe(MQTT_USR_PRJ + ' + topic + ')\n';
var code = 'mqttclient.received(topic='+topic+', callback='+method+')\n';
return code;
}
export const educore_mqtt_topic_publish = function (_, generator) {
generator.definitions_['import_educore_mqttclient'] = "from educore import mqttclient";
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
var msg = generator.valueToCode(this, 'MSG', generator.ORDER_ATOMIC);
var code = 'mqtt_client.publish(topic=' + topic + ',content=' + msg + ')\n';
return code;
}
export const educore_mqtt_connect_success = function (_, generator) {
generator.definitions_['import_educore_mqttclient'] = "from educore import mqttclient";
var code = 'mqtt_client.connescted()';
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -955,4 +955,90 @@ export const sensor_DS18X20 = function(_, generator){
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code ='DS18X20('+dropdown_pin+').temperature()';
return [code, generator.ORDER_ATOMIC];
};
};
//educore sensor_extern
export const educore_body_sensor = function (_, generator) {
generator.definitions_['import_educore_tsd'] = 'from educore import tsd';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'tsd(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_soilhum_sensor = function (_, generator) {
generator.definitions_['import_educore_solihum'] = 'from educore import soilhum';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'soilhum(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_temphum_sensor = function (_, generator) {
generator.definitions_['import_educore_dht'] = 'from educore import dht';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'dht(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_infrared_sensor = function (_, generator) {
generator.definitions_['import_educore_tsd'] = 'from educore import tsd';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'tsd(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_button_sensor_extern = function (_, generator) {
generator.definitions_['import_educore_button'] = 'from educore import button';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'button(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const sensor_read_humiture = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
var code = sub+".read()["+key+"]";
return [code, generator.ORDER_ATOMIC];
}
export const educore_ultrasonic_sensor = function (_, generator) {
generator.definitions_['import_educore_ultrasonic'] = 'from educore import ultrasonic';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'ultrasonic(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const ultrasonic_sensor_read_distance = function (_, generator) {
generator.definitions_['import_educore_ultrasonic'] = 'from educore import ultrasonic';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+".diatance()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_temp_sensor = function (_, generator) {
generator.definitions_['import_educore_ds18b20'] = 'from educore import ds18b20';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'ds18b20(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_camera_sensor = function (_, generator) {
generator.definitions_['import_educore_smartcamera'] = 'from educore import smartcamera';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'smartcamera(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const camera_sensor_init = function (_, generator) {
generator.definitions_['import_educore_smartcamera'] = 'from educore import smartcamera';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
var code = sub+'.init(' + key + ')';
return [code, generator.ORDER_ATOMIC];
}
export const camera_sensor_result = function (_, generator) {
generator.definitions_['import_educore_smartcamera'] = 'from educore import smartcamera';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+'.result()';
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -769,4 +769,88 @@ export const sensor_pin_pressed = sensor_mixgo_pin_pressed;
export const sensor_pin_near = sensor_mixgo_pin_near;
export const sensor_mixgo_light = sensor_LTR308;
export const sensor_light = sensor_mixgo_light;
export const dht11 = sensor_dht11;
export const dht11 = sensor_dht11;
//educore onboard_sensor
export const educore_voice_sensor = function (_, generator) {
generator.definitions_['import_educore_sound'] = 'from educore import sound';
var code = "sound()";
return [code, generator.ORDER_ATOMIC];
}
export const sensor_read = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+".read()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_light_sensor = function (_, generator) {
generator.definitions_['import_educore_light'] = 'from educore import light';
var code = "light()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_gyroscope_sensor = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_accelerometer'] = 'from '+version+' import accelerometer';
var code = "accelerometer()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_gyroscope_sensor_read = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_accelerometer'] = 'from '+version+' import accelerometer';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
var code = sub+"."+key+"()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_gyroscope_sensor_shake = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_'+version+'_accelerometer'] = 'from '+version+' import accelerometer';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+".shake()";
return [code, generator.ORDER_ATOMIC];
}
export const educore_button_sensor = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_button'] = 'from ' + version + ' import button';
var btn = this.getFieldValue('btn');
var code = 'button(button.'+btn+')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_button_was_pressed = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_button'] = 'from ' + version + ' import button';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + '.status()';
return [code, generator.ORDER_ATOMIC];
}
export const educore_rfid_sensor = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_rfid'] = 'from ' + version + ' import rfid';
var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
var code = 'rfid(' + pin + ')';
return [code, generator.ORDER_ATOMIC];
}
export const educore_rfid_sensor_scan = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_rfid'] = 'from ' + version + ' import rfid';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+'.scanning()';
return [code, generator.ORDER_ATOMIC];
}
export const educore_rfid_sensor_scan_data = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
generator.definitions_['import_' + version + '_rfid'] = 'from ' + version + ' import rfid';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
var code = sub+'.'+key+'()';
return [code, generator.ORDER_ATOMIC];
}