初步增加educore
This commit is contained in:
@@ -1045,4 +1045,91 @@ export const mixbot_actuator_extern_set_addr = {
|
||||
this.setNextStatement(true, null);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//educore
|
||||
export const PIN_init = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN", Number)
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_AT)
|
||||
.appendField(Blockly.Msg.MIXLY_PIN);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pin_led_bright = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SETTING);
|
||||
this.appendValueInput('pin')
|
||||
.appendField('LED')
|
||||
this.appendValueInput('bright')
|
||||
.appendField(Blockly.Msg.MIXLY_PULSEIN_STAT)
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const servo_PIN_init = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN", Number)
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_SERVO + Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_AT)
|
||||
.appendField(Blockly.Msg.MIXLY_PIN);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const servo_move_angle = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_SERVO);
|
||||
this.appendValueInput("angle")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.DRAW_POINTER_ANGLE)
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const parrot_PIN_init = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN", Number)
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_MOTOR + Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_AT)
|
||||
.appendField(Blockly.Msg.MIXLY_PIN);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const parrot_move_speed = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_MOTOR);
|
||||
this.appendValueInput("speed")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE +Blockly.Msg.MIXLY_SPEED);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
@@ -1516,4 +1516,167 @@ export const analog_ble_mouse_send_battery = {
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//educore actuator
|
||||
export const educore_buzzer = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MIDI);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const educore_buzzer_play_tone = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("buzzer");
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_TONE);
|
||||
this.appendValueInput('pitch')
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_FREQUENCY);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_buzzer_play_tone_time = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("buzzer");
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_TONE);
|
||||
this.appendValueInput('pitch')
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_FREQUENCY);
|
||||
this.appendValueInput('time')
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_DURATION);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_buzzer_stop = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("buzzer")
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_Turn_off_display);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_rgb_light = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_RGB);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const educore_neopixel_rgb = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("rgb");
|
||||
this.appendValueInput("_LED_")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_RGB_NUM);
|
||||
this.appendValueInput("RVALUE")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_RGB_R);
|
||||
this.appendValueInput("GVALUE")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_RGB_G);
|
||||
this.appendValueInput("BVALUE")
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_RGB_B);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
// const boardKey = Boards.getSelectedBoardKey();
|
||||
// switch (boardKey) {
|
||||
// case 'micropython:esp32c3:mixgo_cc':
|
||||
// this.setTooltip(Blockly.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);
|
||||
// break;
|
||||
// case 'micropython:esp32s2:mixgo_ce':
|
||||
// this.setTooltip(Blockly.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);
|
||||
// break;
|
||||
// case 'micropython:esp32c3:mixgo_me':
|
||||
// this.setTooltip(Blockly.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);
|
||||
// break;
|
||||
// case 'micropython:esp32:mPython':
|
||||
// this.setTooltip(Blockly.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON);
|
||||
// break;
|
||||
// default:
|
||||
// this.setTooltip(Blockly.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);
|
||||
// }
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_neopixel_clear = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("rgb");
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_Turn_off_display)
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_ble_sensor_init = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("name")
|
||||
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_BLUETOOTH+ Blockly.Msg.MIXLY_MICROBIT_JS_SYSTEM_DEVICE_NAME + Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_AS);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_ble_sensor_connected = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_BLUETOOTH);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_BE_CONNETCED)
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_ble_keyboard_input = {
|
||||
init: function () {
|
||||
this.setColour(ACTUATOR_ONBOARD_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_BLUETOOTH + Blockly.Msg.ANALOG + Blockly.Msg.MIXLY_KEYBOARD);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SEND_KEYBOARD);
|
||||
this.appendValueInput('general');
|
||||
// this.appendDummyInput()
|
||||
// .appendField(Blockly.Msg.MIXLY_RELEASE)
|
||||
// .appendField(new Blockly.FieldDropdown([
|
||||
// [Blockly.Msg.MICROPYTHON_DISPLAY_YES, "True"],
|
||||
// [Blockly.Msg.MICROPYTHON_DISPLAY_NO, "False"]
|
||||
// ]), 'release');
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
@@ -315,4 +315,81 @@ export const ce_go_pin_light = {
|
||||
return mode0 + mode1
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
//educore car
|
||||
export const educore_car = {
|
||||
init: function () {
|
||||
this.setColour(MEGO_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_CAR);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const educore_car_stepper_keep = {
|
||||
init: function () {
|
||||
this.setColour(MEGO_HUE);
|
||||
this.appendValueInput('car');
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.blockpy_forward, "forward"],
|
||||
// [Blockly.Msg.blockpy_backward, "B"],
|
||||
[Blockly.Msg.blockpy_left, "turn_left"],
|
||||
[Blockly.Msg.blockpy_right, "turn_right"]
|
||||
]), "VAR");
|
||||
this.appendValueInput('speed')
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MIXLY_SETTING + Blockly.Msg.MIXLY_SPEED);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const educore_car_stepper_stop = {
|
||||
init: function () {
|
||||
this.setColour(MEGO_HUE);
|
||||
this.appendValueInput('car');
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MOTOR_P, "stop"]
|
||||
// [Blockly.Msg.MOTOR_N, "N"]
|
||||
]), "VAR");
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const educore_car_pin_near_line = {
|
||||
init: function () {
|
||||
this.setColour(MEGO_HUE);
|
||||
this.appendValueInput('car');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.TEXT_TRIM_LEFT, "1"],
|
||||
// [Blockly.Msg.MIXGO_LEFT_MID, "[1]"],
|
||||
// [Blockly.Msg.MIXGO_RIGHT_MID, "[2]"],
|
||||
[Blockly.Msg.TEXT_TRIM_RIGHT, "2"]
|
||||
// [Blockly.Msg.MIXLY_ALL, ""]
|
||||
]), "key")
|
||||
.appendField(Blockly.Msg.MIXGO_LINE_SENSOR_VAL);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_car_pin_near = {
|
||||
init: function () {
|
||||
this.setColour(MEGO_HUE);
|
||||
this.appendValueInput('car');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Blockly.Msg.MIXGO_PROXIMITY_SENSOR);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
@@ -571,3 +571,114 @@ export const requests_attribute2 = {
|
||||
this.setOutput(true, String);
|
||||
}
|
||||
};
|
||||
|
||||
//educore_networke
|
||||
export const educore_wifi_connect = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI);
|
||||
this.appendValueInput('WIFINAME')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.HTML_NAME);
|
||||
this.appendValueInput('PASSWORD')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.HTML_PASSWORD);
|
||||
this.appendValueInput('TIMEOUT')
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_IR_TIMEOUT);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MILLIS)
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
export const educore_mqtt_connect = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP);
|
||||
this.appendValueInput('SERVER')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_SERVER)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
this.appendValueInput('PORT')
|
||||
.setCheck(Number)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_PORT)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
this.appendValueInput('CLIENT_ID')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_CLIENT_ID)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
this.appendValueInput('USERNAME')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.MIXLY_WIFI_USERNAME)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
this.appendValueInput('PASSWORD')
|
||||
.setCheck(String)
|
||||
.appendField(Blockly.Msg.MIXLY_IOT_PASSWORD)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_mqtt_subscribe_message = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendValueInput('TOPIC')
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_SUBSCRIBE + Blockly.Msg.MIXLY_MICROBIT_MSG)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_PUBLISH_TOPIC);
|
||||
this.appendValueInput('MESSAGE')
|
||||
.appendField(Blockly.Msg.blockpy_set_of);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_mqtt_topic_subscribe = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField("mqtt")
|
||||
this.appendValueInput('TOPIC')
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_SUBSCRIBE + Blockly.Msg.MIXLY_MICROBIT_MSG)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_PUBLISH_TOPIC);
|
||||
this.appendValueInput('METHOD')
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_SET_METHOD);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_mqtt_topic_publish = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField("mqtt")
|
||||
this.appendValueInput('TOPIC')
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_PUBLISH_NEW)
|
||||
.appendField(Blockly.Msg.MIXLY_EMQX_PUBLISH_TOPIC);
|
||||
this.appendValueInput('MSG')
|
||||
.appendField(Blockly.Msg.HTML_BODY);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_mqtt_connect_success = {
|
||||
init: function () {
|
||||
this.setColour(COMMUNICATE_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField("mqtt"+Blockly.Msg.MIXLY_EMQX_IS_CONNECT)
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
@@ -2033,3 +2033,142 @@ export const sensor_weather_solo_rain = {
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
//educore sensor_extern
|
||||
export const educore_body_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_BODY_SENSOR);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_soilhum_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_SOILHUM_SENSOR);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_temphum_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_infrared_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_Infrared_pyroelectric_sensor);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_button_sensor_extern = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.HTML_BUTTON);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const sensor_read_humiture = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.setCheck("var");
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.blockpy_set_of)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_TEMPERATURE,"0"],
|
||||
[Blockly.Msg.MIXLY_Humidity,"1"]
|
||||
]),"key");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_ultrasonic_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_EXTERN_SONAR);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const ultrasonic_sensor_read_distance = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.setCheck("var");
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.blockpy_set_of+Blockly.Msg.ME_GO_HALL_SENSOR_DISTANCE);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_temp_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_TEMP + Blockly.Msg.MIXLY_DS18B20);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_camera_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_SMARTCAMERA);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const camera_sensor_init = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_SMARTCAMERA);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_PROCCED)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_AipFace,"FACE_RECOGNIZE"],
|
||||
[Blockly.Msg.MIXLY_FACE_CLASSIFIER,"FACE_DETECT"]
|
||||
]),"key");
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const camera_sensor_result = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_SMARTCAMERA);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_RECOGNIZED_RESULT);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
@@ -1374,4 +1374,142 @@ export const sensor_pin_near = sensor_mixgo_pin_near;
|
||||
export const sensor_light = sensor_mixgo_light;
|
||||
export const dht11 = sensor_dht11;
|
||||
export const sensor_field_strength = sensor_mpu9250_field_strength;
|
||||
export const sensor_temperature = sensor_mpu9250_temperature
|
||||
export const sensor_temperature = sensor_mpu9250_temperature
|
||||
|
||||
//educore sensor_onboard
|
||||
export const educore_voice_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_ESP32_EXTERN_SOUND);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const sensor_read = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.setCheck("var");
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_MICROBIT_JS_I2C_VALUE);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_light_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_LIGHT_SENSOR);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_gyroscope_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_GYROSCOPE_SENSOR);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_gyroscope_sensor_read = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.setCheck("var");
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_Horizontal_inclination, "X"],
|
||||
["y", "[1]"],
|
||||
["z", "[2]"]
|
||||
]), "key");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_gyroscope_sensor_shake = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.setCheck("var");
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_BE_SHAKED)
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_button_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_BUTTON)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["a", "a"],
|
||||
["b", "b"],
|
||||
["c", "c"]
|
||||
]), "btn");
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_button_was_pressed = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput('SUB')
|
||||
.appendField(Blockly.Msg.MIXLY_BUTTON);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_WAS_PRESSED);
|
||||
this.setOutput(true, Boolean);
|
||||
this.setInputsInline(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SENOR_WAS_PRESSED);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_rfid_sensor = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput("PIN")
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_RFID_INITIAL);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_rfid_sensor_scan = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_RFID_READ);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const educore_rfid_sensor_scan_data = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendValueInput("SUB")
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_RFID_READ + Blockly.Msg.MIXLY_COMMUNICATION_DATA_FROM);
|
||||
this.appendDummyInput('')
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]
|
||||
]),"key");
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
@@ -117,4 +117,3 @@ export const controls_typeLists = function (_, generator) {
|
||||
// generator.definitions_['func_type' + type] = code;
|
||||
return [type, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user