/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "../micropython/blocks/actuator.js": /*!*****************************************!*\ !*** ../micropython/blocks/actuator.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ actuator_extern_get_led_bright: () => (/* binding */ actuator_extern_get_led_bright), /* harmony export */ actuator_extern_led_bright: () => (/* binding */ actuator_extern_led_bright), /* harmony export */ actuator_extern_led_brightness: () => (/* binding */ actuator_extern_led_brightness), /* harmony export */ actuator_get_led_bright: () => (/* binding */ actuator_get_led_bright), /* harmony export */ actuator_led_bright: () => (/* binding */ actuator_led_bright), /* harmony export */ actuator_led_brightness: () => (/* binding */ actuator_led_brightness), /* harmony export */ actuator_neopixel_init: () => (/* binding */ actuator_neopixel_init), /* harmony export */ actuator_neopixel_rgb: () => (/* binding */ actuator_neopixel_rgb), /* harmony export */ actuator_neopixel_write: () => (/* binding */ actuator_neopixel_write), /* harmony export */ actuator_onboard_neopixel_rgb: () => (/* binding */ actuator_onboard_neopixel_rgb), /* harmony export */ actuator_onboard_neopixel_rgb_all: () => (/* binding */ actuator_onboard_neopixel_rgb_all), /* harmony export */ actuator_onboard_neopixel_write: () => (/* binding */ actuator_onboard_neopixel_write), /* harmony export */ esp32_mixgo_music_play_list_show: () => (/* binding */ esp32_mixgo_music_play_list_show), /* harmony export */ esp32_music_get_tempo: () => (/* binding */ esp32_music_get_tempo), /* harmony export */ esp32_music_pitch: () => (/* binding */ esp32_music_pitch), /* harmony export */ esp32_music_pitch_with_time: () => (/* binding */ esp32_music_pitch_with_time), /* harmony export */ esp32_music_play_list: () => (/* binding */ esp32_music_play_list), /* harmony export */ esp32_music_reset: () => (/* binding */ esp32_music_reset), /* harmony export */ esp32_music_set_tempo: () => (/* binding */ esp32_music_set_tempo), /* harmony export */ esp32_music_stop: () => (/* binding */ esp32_music_stop), /* harmony export */ esp32_onboard_music_pitch: () => (/* binding */ esp32_onboard_music_pitch), /* harmony export */ esp32_onboard_music_pitch_with_time: () => (/* binding */ esp32_onboard_music_pitch_with_time), /* harmony export */ esp32_onboard_music_play_list: () => (/* binding */ esp32_onboard_music_play_list), /* harmony export */ esp32_onboard_music_stop: () => (/* binding */ esp32_onboard_music_stop), /* harmony export */ get_led_bright: () => (/* binding */ get_led_bright), /* harmony export */ led_brightness: () => (/* binding */ led_brightness), /* harmony export */ led_light: () => (/* binding */ led_light), /* harmony export */ ledswitch: () => (/* binding */ ledswitch), /* harmony export */ number: () => (/* binding */ number), /* harmony export */ servo_move: () => (/* binding */ servo_move) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const ACTUATOR_HUE = 100; //Servo const servo_move = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput("DEGREE", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DEGREE_0_180); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_MOVE); } }; //LED const number = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["1", "1"], ["2", "2"] ]), 'op') this.setOutput(true); } }; const ledswitch = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ON, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OFF, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOGGLE, "-1"] ]), "flag"); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const actuator_extern_led_bright = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF); } }; const actuator_extern_get_led_bright = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF); } }; const actuator_extern_led_brightness = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT); } }; const actuator_led_bright = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const actuator_get_led_bright = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const actuator_led_brightness = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETBRIGHT); } }; //music const esp32_music_pitch = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE); } }; const esp32_music_pitch_with_time = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2); } }; const esp32_music_stop = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NOTONE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const esp32_music_set_tempo = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput('TICKS') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SET_TEMPO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_ACTUATOR_ticks); this.appendValueInput('BPM') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO); } } const esp32_music_get_tempo = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Get_current_tempo) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO); } } const esp32_music_reset = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_music) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_RESET); } } const esp32_onboard_music_pitch = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE); } }; const esp32_onboard_music_pitch_with_time = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2); } }; const esp32_onboard_music_stop = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NOTONE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const esp32_onboard_music_play_list = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS); } } const esp32_music_play_list = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS) this.appendValueInput('PIN') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS); } } const esp32_mixgo_music_play_list_show = { init: function () { this.setColour(ACTUATOR_HUE); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS) this.appendValueInput('PIN') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); // this.appendValueInput('DISPLAY') // .appendField(Blockly.Msg.MIXLY_ESP32_MIXGO_MUSIC_SHOW_IN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW) } } //RGB const actuator_neopixel_init = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.appendValueInput("LEDCOUNT") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_COUNT); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_PIN_COUNT); } }; const actuator_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput('SUB') .setCheck("var"); // .appendField(Blockly.Msg.MIXLY_SETUP) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B); } }; const actuator_neopixel_write = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput('SUB') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RGB_WRITE) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_WRI); } }; const actuator_onboard_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B); } }; const actuator_onboard_neopixel_rgb_all = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B); } }; const actuator_onboard_neopixel_write = { init: function () { this.setColour(ACTUATOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RGB_WRITE) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_WRI); } }; const led_light = actuator_led_bright; const get_led_bright = actuator_get_led_bright; const led_brightness = actuator_led_brightness; /***/ }), /***/ "../micropython/blocks/actuator_extern.js": /*!************************************************!*\ !*** ../micropython/blocks/actuator_extern.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ PIN_init: () => (/* binding */ PIN_init), /* harmony export */ actuator_extern_get_led_bright: () => (/* binding */ actuator_extern_get_led_bright), /* harmony export */ actuator_extern_get_led_state: () => (/* binding */ actuator_extern_get_led_state), /* harmony export */ actuator_extern_led_bright: () => (/* binding */ actuator_extern_led_bright), /* harmony export */ actuator_extern_led_brightness: () => (/* binding */ actuator_extern_led_brightness), /* harmony export */ actuator_ms32006_dcmotor: () => (/* binding */ actuator_ms32006_dcmotor), /* harmony export */ actuator_ms32006_init: () => (/* binding */ actuator_ms32006_init), /* harmony export */ actuator_ms32006_stepper: () => (/* binding */ actuator_ms32006_stepper), /* harmony export */ actuator_neopixel_init: () => (/* binding */ actuator_neopixel_init), /* harmony export */ actuator_neopixel_rgb: () => (/* binding */ actuator_neopixel_rgb), /* harmony export */ actuator_neopixel_rgb_all: () => (/* binding */ actuator_neopixel_rgb_all), /* harmony export */ actuator_neopixel_write: () => (/* binding */ actuator_neopixel_write), /* harmony export */ actuator_use_uart_init: () => (/* binding */ actuator_use_uart_init), /* harmony export */ esp32_music_get_tempo_extern: () => (/* binding */ esp32_music_get_tempo_extern), /* harmony export */ esp32_music_pitch: () => (/* binding */ esp32_music_pitch), /* harmony export */ esp32_music_pitch_init: () => (/* binding */ esp32_music_pitch_init), /* harmony export */ esp32_music_pitch_with_time: () => (/* binding */ esp32_music_pitch_with_time), /* harmony export */ esp32_music_play_list: () => (/* binding */ esp32_music_play_list), /* harmony export */ esp32_music_reset_extern: () => (/* binding */ esp32_music_reset_extern), /* harmony export */ esp32_music_set_tempo_extern: () => (/* binding */ esp32_music_set_tempo_extern), /* harmony export */ esp32_music_stop: () => (/* binding */ esp32_music_stop), /* harmony export */ mixbot_actuator_extern_get_addr: () => (/* binding */ mixbot_actuator_extern_get_addr), /* harmony export */ mixbot_actuator_extern_set_addr: () => (/* binding */ mixbot_actuator_extern_set_addr), /* harmony export */ mixbot_addr_extern: () => (/* binding */ mixbot_addr_extern), /* harmony export */ parrot_PIN_init: () => (/* binding */ parrot_PIN_init), /* harmony export */ parrot_move_speed: () => (/* binding */ parrot_move_speed), /* harmony export */ pin_led_bright: () => (/* binding */ pin_led_bright), /* harmony export */ player_insert_music: () => (/* binding */ player_insert_music), /* harmony export */ player_play_music: () => (/* binding */ player_play_music), /* harmony export */ player_set_mode: () => (/* binding */ player_set_mode), /* harmony export */ player_set_play: () => (/* binding */ player_set_play), /* harmony export */ player_set_volume: () => (/* binding */ player_set_volume), /* harmony export */ player_whether_stop: () => (/* binding */ player_whether_stop), /* harmony export */ robot_led_extern: () => (/* binding */ robot_led_extern), /* harmony export */ robot_led_extern_get_value: () => (/* binding */ robot_led_extern_get_value), /* harmony export */ robot_motor_extern: () => (/* binding */ robot_motor_extern), /* harmony export */ robot_motor_extern_get_speed: () => (/* binding */ robot_motor_extern_get_speed), /* harmony export */ robot_servo_extern_absolute_run: () => (/* binding */ robot_servo_extern_absolute_run), /* harmony export */ robot_servo_extern_get_status: () => (/* binding */ robot_servo_extern_get_status), /* harmony export */ robot_servo_extern_relative_continue: () => (/* binding */ robot_servo_extern_relative_continue), /* harmony export */ robot_servo_extern_relative_origin: () => (/* binding */ robot_servo_extern_relative_origin), /* harmony export */ robot_servo_extern_relative_run: () => (/* binding */ robot_servo_extern_relative_run), /* harmony export */ robot_servo_extern_stop: () => (/* binding */ robot_servo_extern_stop), /* harmony export */ robot_servo_extern_stop_mode: () => (/* binding */ robot_servo_extern_stop_mode), /* harmony export */ robot_traffic_light_extern: () => (/* binding */ robot_traffic_light_extern), /* harmony export */ servo_PIN_init: () => (/* binding */ servo_PIN_init), /* harmony export */ servo_get_angle: () => (/* binding */ servo_get_angle), /* harmony export */ servo_get_speed: () => (/* binding */ servo_get_speed), /* harmony export */ servo_init: () => (/* binding */ servo_init), /* harmony export */ servo_move: () => (/* binding */ servo_move), /* harmony export */ servo_move_angle: () => (/* binding */ servo_move_angle), /* harmony export */ servo_set_angle: () => (/* binding */ servo_set_angle), /* harmony export */ servo_set_speed: () => (/* binding */ servo_set_speed), /* harmony export */ servo_speed_360: () => (/* binding */ servo_speed_360), /* harmony export */ syn6288_builtin_voice: () => (/* binding */ syn6288_builtin_voice), /* harmony export */ syn6288_get_voice: () => (/* binding */ syn6288_get_voice), /* harmony export */ syn6288_set_voice: () => (/* binding */ syn6288_set_voice), /* harmony export */ syn6288_tts_play: () => (/* binding */ syn6288_tts_play) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const ACTUATOR_EXTERN_HUE = '#74A55B'; //music const esp32_music_pitch_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIDI) this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_PIN_COUNT); } }; const esp32_music_pitch = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE) this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE); } }; const esp32_music_pitch_with_time = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE) this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2); } }; const esp32_music_play_list = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS); } } const esp32_music_set_tempo_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendValueInput('TICKS') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SET_TEMPO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_ACTUATOR_ticks); this.appendValueInput('BPM') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO); } } const esp32_music_get_tempo_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Get_current_tempo) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO); } } const esp32_music_reset_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_music) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_RESET); } } const esp32_music_stop = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NOTONE) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const actuator_extern_led_bright = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF); } }; const actuator_extern_get_led_bright = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF); } }; const actuator_extern_get_led_state = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF); } }; const actuator_extern_led_brightness = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT); } }; //Servo const servo_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const servo_move = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput("DEGREE", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DEGREE_0_180); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_MOVE); } }; const servo_speed_360 = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("VAR") .appendField("360°" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) this.appendValueInput("SPEED", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_turtle_rotate + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED + " (-10~10)"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP); } }; //Servo const servo_set_angle = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField('180°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput("NUM", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_MOVE); } }; const servo_set_speed = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField('360°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendValueInput("NUM", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS); } }; const servo_get_angle = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField('180°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setOutput(true, Number); this.setInputsInline(true); } }; const servo_get_speed = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField('360°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setOutput(true, Number); this.setInputsInline(true); } }; const actuator_ms32006_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("初始化") .setCheck("var"); this.appendDummyInput() .appendField("电机驱动"); this.appendDummyInput() .appendField("地址") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['A', 'ms32006.ADDRESS_A'], ['B', 'ms32006.ADDRESS_B']]), 'mode'); this.appendValueInput('SUB1') .setCheck("var") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField("通信"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip("初始化MS32006电机驱动,使用I2C通信"); } }; const actuator_ms32006_dcmotor = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("直流电机") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "ms32006.MOT_CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "ms32006.MOT_CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "ms32006.MOT_N"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "ms32006.MOT_P"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip("设置直流电机的状态及转速(0-100)"); } }; const actuator_ms32006_stepper = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("步进电机") .setCheck("var"); this.appendDummyInput() .appendField("选择") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['A', 'ms32006.MOT_A'], ['B', 'ms32006.MOT_B']]), 'mode'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "ms32006.MOT_CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "ms32006.MOT_CCW"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField("转速"); this.appendValueInput('steps') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField("步数"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip("设置步进电机的状态、转速、步数(0-2047)"); } }; //rgb const actuator_neopixel_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.appendValueInput("LEDCOUNT") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_COUNT); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_PIN_COUNT); } }; const actuator_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput('SUB') .setCheck("var"); // .appendField(Blockly.Msg.MIXLY_SETUP) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MP); } }; const actuator_neopixel_rgb_all = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput('SUB') .setCheck("var"); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC); } }; const actuator_neopixel_write = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput('SUB') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RGB_WRITE) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_WRI); } }; const actuator_use_uart_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "uart") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["uart1", "uart1"], ["uart2", "uart2"] ]), "key"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['SYN6288' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_synthesis,'SYN6288'], ['NS9300' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER,'NS9300'] ]),'key2'); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const player_whether_stop ={ init:function(){ this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHETHER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOPPED, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYING, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PAUSED, "2"] ]), "key"); this.setInputsInline(true); this.setOutput(true); } }; const player_set_play = { init:function(){ this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_PLAY, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_PAUSE, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP, "3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_PREV, "4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_NEXT, "5"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const player_set_volume = { init:function(){ this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER) .setCheck("var"); this.appendValueInput('volume') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_VOL +blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP); } } const player_set_mode = { init:function(){ this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_LOOP_ALL, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_LOOP_ONE, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_DIRECTORY_LOOP, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_LOOP_RAM, "3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_SINGLE_STOP, "4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY, "5"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const player_play_music = { init:function(){ this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAYER) .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_INSERT_MUSIC, "insert"] ]), "key"); this.appendValueInput('song'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP) } } const player_insert_music ={ } const syn6288_set_voice = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField('SYN6288') this.appendValueInput('VOICE') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SET_VOLUME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SET_VOLUME_TOOLTIP); } } const syn6288_get_voice = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField('SYN6288') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_VOLUME) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SET_VOLUME_TOOLTIP); } } const syn6288_builtin_voice = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField('SYN6288') this.appendValueInput('VOICE') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAY_HINTS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PROGRAM_BLOCK) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, 'True'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, 'False']]), 'mode'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAY_HINTS_TOOLTIP); } } const syn6288_tts_play = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField('SYN6288') this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_synthesis); this.appendValueInput('VOICE') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BACKGROUND_MUSIC); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PROGRAM_BLOCK) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, 'True'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, 'False']]), 'mode'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAY_TTS_TOOLTIP); } } //mixbot extern const mixbot_addr_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.extern_addr), 'PIN'); this.setOutput(true, Number); } }; const robot_motor_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP); } } const robot_motor_extern_get_speed = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setOutput(true, Number); this.setInputsInline(true); } } const robot_traffic_light_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK, '2'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON, '3'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK, '4'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON, '5'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK, '6'] ]), "light"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_led_extern = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE, 'W'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, 'R'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_YELLOW, 'Y'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, 'G'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE, 'B'] ]), "color") .appendField("LED") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendValueInput('value') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BRIGHTNESS); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_led_extern_get_value = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE, 'W'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, 'R'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_YELLOW, 'Y'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, 'G'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE, 'B'] ]), "color") .appendField("LED") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BRIGHTNESS) this.setOutput(true, Number); this.setInputsInline(true); } } const robot_servo_extern_get_status = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER, '[0]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_OP_ABSOLUTE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, '[2]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELATIVE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, '[3]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT, '[4]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT, '[5]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ''] ]), "status"); this.setOutput(true, Number); this.setInputsInline(true); } } const robot_servo_extern_stop_mode = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE, '2'] ]), "status"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_servo_extern_stop = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_servo_extern_absolute_run = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_OP_ABSOLUTE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.run) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '1'] ]), "status"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField('%') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, '2'] ]), "direction"); this.appendValueInput('angle') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP); } } const robot_servo_extern_relative_origin = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELATIVE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.run) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_servo_extern_relative_run = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELATIVE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.run) .appendField("(" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR + ")") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '1'] ]), "status"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField('%') this.appendValueInput('angle') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP); } } const robot_servo_extern_relative_continue = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELATIVE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.run) .appendField("(" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR + ")") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE, '1'] ]), "status"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField('%') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, '2'] ]), "direction"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const mixbot_actuator_extern_get_addr = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR, 'ext_motor'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT, 'ext_traffic'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE + "LED", 'W_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + "LED", 'R_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_YELLOW + "LED", 'Y_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + "LED", 'G_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE + "LED", 'B_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR, 'ext_servo'] ]), "name") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR) this.setOutput(true); this.setInputsInline(true); } } const mixbot_actuator_extern_set_addr = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR, 'ext_motor'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAFFIC_LIGHT, 'ext_traffic'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE + "LED", 'W_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + "LED", 'R_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_YELLOW + "LED", 'Y_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + "LED", 'G_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE + "LED", 'B_LED'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO_MOTOR, 'ext_servo'] ]), "name") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR) this.appendValueInput('old') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE); this.appendValueInput('new') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UPDATE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } //educore const PIN_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setInputsInline(true); this.setOutput(true); } }; const pin_led_bright = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('pin') .appendField('LED') this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const servo_PIN_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setInputsInline(true); this.setOutput(true); } }; const servo_move_angle = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO); this.appendValueInput("angle") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_MATRIX_ROTATE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DRAW_POINTER_ANGLE) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const parrot_PIN_init = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setInputsInline(true); this.setOutput(true); } }; const parrot_move_speed = { init: function () { this.setColour(ACTUATOR_EXTERN_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR); this.appendValueInput("speed") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_MATRIX_ROTATE +blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; /***/ }), /***/ "../micropython/blocks/actuator_onboard.js": /*!*************************************************!*\ !*** ../micropython/blocks/actuator_onboard.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ actuator_dc_motor: () => (/* binding */ actuator_dc_motor), /* harmony export */ actuator_dc_motor_stop: () => (/* binding */ actuator_dc_motor_stop), /* harmony export */ actuator_get_led_bright: () => (/* binding */ actuator_get_led_bright), /* harmony export */ actuator_get_led_state: () => (/* binding */ actuator_get_led_state), /* harmony export */ actuator_led_bright: () => (/* binding */ actuator_led_bright), /* harmony export */ actuator_led_brightness: () => (/* binding */ actuator_led_brightness), /* harmony export */ actuator_mixbot_buzzer_on_off: () => (/* binding */ actuator_mixbot_buzzer_on_off), /* harmony export */ actuator_mixgo_nova_mic_get: () => (/* binding */ actuator_mixgo_nova_mic_get), /* harmony export */ actuator_mixgo_nova_mic_set: () => (/* binding */ actuator_mixgo_nova_mic_set), /* harmony export */ actuator_mixgo_nova_onboard_music_pitch: () => (/* binding */ actuator_mixgo_nova_onboard_music_pitch), /* harmony export */ actuator_mixgo_nova_onboard_music_stop: () => (/* binding */ actuator_mixgo_nova_onboard_music_stop), /* harmony export */ actuator_mixgo_nova_play_audio: () => (/* binding */ actuator_mixgo_nova_play_audio), /* harmony export */ actuator_mixgo_nova_play_online_audio: () => (/* binding */ actuator_mixgo_nova_play_online_audio), /* harmony export */ actuator_mixgo_nova_record_audio: () => (/* binding */ actuator_mixgo_nova_record_audio), /* harmony export */ actuator_mixgo_nova_voice_get: () => (/* binding */ actuator_mixgo_nova_voice_get), /* harmony export */ actuator_mixgo_nova_voice_set: () => (/* binding */ actuator_mixgo_nova_voice_set), /* harmony export */ actuator_mixgo_zero_led_color: () => (/* binding */ actuator_mixgo_zero_led_color), /* harmony export */ actuator_onboard_neopixel_rgb: () => (/* binding */ actuator_onboard_neopixel_rgb), /* harmony export */ actuator_onboard_neopixel_rgb_all: () => (/* binding */ actuator_onboard_neopixel_rgb_all), /* harmony export */ actuator_onboard_neopixel_rgb_show_all_chase: () => (/* binding */ actuator_onboard_neopixel_rgb_show_all_chase), /* harmony export */ actuator_onboard_neopixel_rgb_show_all_rainbow: () => (/* binding */ actuator_onboard_neopixel_rgb_show_all_rainbow), /* harmony export */ actuator_onboard_neopixel_write: () => (/* binding */ actuator_onboard_neopixel_write), /* harmony export */ actuator_rm_onboard_neopixel_rgb: () => (/* binding */ actuator_rm_onboard_neopixel_rgb), /* harmony export */ actuator_rm_onboard_neopixel_rgb_all: () => (/* binding */ actuator_rm_onboard_neopixel_rgb_all), /* harmony export */ actuator_rm_onboard_neopixel_rgb_show_all_chase: () => (/* binding */ actuator_rm_onboard_neopixel_rgb_show_all_chase), /* harmony export */ actuator_stepper_keep: () => (/* binding */ actuator_stepper_keep), /* harmony export */ actuator_stepper_stop: () => (/* binding */ actuator_stepper_stop), /* harmony export */ analog_ble_keyboard_init: () => (/* binding */ analog_ble_keyboard_init), /* harmony export */ analog_ble_keyboard_input: () => (/* binding */ analog_ble_keyboard_input), /* harmony export */ analog_ble_keyboard_mouse_init: () => (/* binding */ analog_ble_keyboard_mouse_init), /* harmony export */ analog_ble_keyboard_mouse_input: () => (/* binding */ analog_ble_keyboard_mouse_input), /* harmony export */ analog_ble_keyboard_mouse_send_battery: () => (/* binding */ analog_ble_keyboard_mouse_send_battery), /* harmony export */ analog_ble_keyboard_mouse_str: () => (/* binding */ analog_ble_keyboard_mouse_str), /* harmony export */ analog_ble_keyboard_send_battery: () => (/* binding */ analog_ble_keyboard_send_battery), /* harmony export */ analog_ble_keyboard_str: () => (/* binding */ analog_ble_keyboard_str), /* harmony export */ analog_ble_mouse_init: () => (/* binding */ analog_ble_mouse_init), /* harmony export */ analog_ble_mouse_input: () => (/* binding */ analog_ble_mouse_input), /* harmony export */ analog_ble_mouse_keyboard_input: () => (/* binding */ analog_ble_mouse_keyboard_input), /* harmony export */ analog_ble_mouse_send_battery: () => (/* binding */ analog_ble_mouse_send_battery), /* harmony export */ analog_keyboard_input: () => (/* binding */ analog_keyboard_input), /* harmony export */ analog_keyboard_str: () => (/* binding */ analog_keyboard_str), /* harmony export */ analog_mouse_input: () => (/* binding */ analog_mouse_input), /* harmony export */ bitbot_motor: () => (/* binding */ bitbot_motor), /* harmony export */ bitbot_move: () => (/* binding */ bitbot_move), /* harmony export */ bitbot_stop: () => (/* binding */ bitbot_stop), /* harmony export */ ble_keyboard_connect: () => (/* binding */ ble_keyboard_connect), /* harmony export */ ble_keyboard_get_mac: () => (/* binding */ ble_keyboard_get_mac), /* harmony export */ ble_keyboard_mouse_connect: () => (/* binding */ ble_keyboard_mouse_connect), /* harmony export */ ble_keyboard_mouse_get_mac: () => (/* binding */ ble_keyboard_mouse_get_mac), /* harmony export */ ble_mouse_connect: () => (/* binding */ ble_mouse_connect), /* harmony export */ ble_mouse_get_mac: () => (/* binding */ ble_mouse_get_mac), /* harmony export */ cc_number: () => (/* binding */ cc_number), /* harmony export */ educore_ble_keyboard_input: () => (/* binding */ educore_ble_keyboard_input), /* harmony export */ educore_ble_sensor_connected: () => (/* binding */ educore_ble_sensor_connected), /* harmony export */ educore_ble_sensor_init: () => (/* binding */ educore_ble_sensor_init), /* harmony export */ educore_buzzer: () => (/* binding */ educore_buzzer), /* harmony export */ educore_buzzer_play_tone: () => (/* binding */ educore_buzzer_play_tone), /* harmony export */ educore_buzzer_play_tone_time: () => (/* binding */ educore_buzzer_play_tone_time), /* harmony export */ educore_buzzer_stop: () => (/* binding */ educore_buzzer_stop), /* harmony export */ educore_neopixel_clear: () => (/* binding */ educore_neopixel_clear), /* harmony export */ educore_neopixel_rgb: () => (/* binding */ educore_neopixel_rgb), /* harmony export */ educore_rgb_light: () => (/* binding */ educore_rgb_light), /* harmony export */ esp32_music_get_tempo: () => (/* binding */ esp32_music_get_tempo), /* harmony export */ esp32_music_reset: () => (/* binding */ esp32_music_reset), /* harmony export */ esp32_music_set_tempo: () => (/* binding */ esp32_music_set_tempo), /* harmony export */ esp32_onboard_music_pitch: () => (/* binding */ esp32_onboard_music_pitch), /* harmony export */ esp32_onboard_music_pitch_with_time: () => (/* binding */ esp32_onboard_music_pitch_with_time), /* harmony export */ esp32_onboard_music_play_list: () => (/* binding */ esp32_onboard_music_play_list), /* harmony export */ esp32_onboard_music_stop: () => (/* binding */ esp32_onboard_music_stop), /* harmony export */ general_key: () => (/* binding */ general_key), /* harmony export */ general_key_tuple: () => (/* binding */ general_key_tuple), /* harmony export */ generalkey_container: () => (/* binding */ generalkey_container), /* harmony export */ generalkey_create_with_item: () => (/* binding */ generalkey_create_with_item), /* harmony export */ get_power_output: () => (/* binding */ get_power_output), /* harmony export */ ledswitch: () => (/* binding */ ledswitch), /* harmony export */ mixbot_motor: () => (/* binding */ mixbot_motor), /* harmony export */ mixbot_motor_status: () => (/* binding */ mixbot_motor_status), /* harmony export */ mixbot_move: () => (/* binding */ mixbot_move), /* harmony export */ mixbot_stop: () => (/* binding */ mixbot_stop), /* harmony export */ mouse_key: () => (/* binding */ mouse_key), /* harmony export */ number: () => (/* binding */ number), /* harmony export */ rm_actuator_get_led_bright: () => (/* binding */ rm_actuator_get_led_bright), /* harmony export */ rm_actuator_get_led_state: () => (/* binding */ rm_actuator_get_led_state), /* harmony export */ rm_actuator_led_bright: () => (/* binding */ rm_actuator_led_bright), /* harmony export */ rm_actuator_led_brightness: () => (/* binding */ rm_actuator_led_brightness), /* harmony export */ rm_motor: () => (/* binding */ rm_motor), /* harmony export */ set_all_power_output: () => (/* binding */ set_all_power_output), /* harmony export */ set_power_output: () => (/* binding */ set_power_output), /* harmony export */ special_key: () => (/* binding */ special_key) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const ACTUATOR_ONBOARD_HUE = '#6C9858' //LED const number = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["L1", "1"], ["L2", "2"] ]), 'op') this.setOutput(true); } }; const ledswitch = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ON, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OFF, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOGGLE, "-1"] ]), "flag"); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const actuator_led_bright = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const actuator_get_led_bright = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const actuator_get_led_state = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const actuator_led_brightness = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS + '(0-100%)'); } }; const actuator_mixgo_zero_led_color = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_SETCOLOR) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_RED, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_GREEN, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_BLUE, "3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_YELLOW, "4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_CYAN, "5"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_PURPLE, "6"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_WHITE, "7"] ]), 'colorvalue'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(); } }; const rm_actuator_led_bright = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, "r"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, "g"] ]), "color"); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const rm_actuator_get_led_bright = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, "r"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, "g"] ]), "color"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const rm_actuator_get_led_state = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, "r"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, "g"] ]), "color"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const rm_actuator_led_brightness = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED, "r"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN, "g"] ]), "color"); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS + '(0-10)'); } }; const cc_number = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["L1", "20"], ["L2", "21"] ]), 'op') this.setOutput(true); } }; const actuator_onboard_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); const boardKey = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey(); switch (boardKey) { case 'micropython:esp32c3:mixgo_cc': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC); break; case 'micropython:esp32s2:mixgo_ce': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC); break; case 'micropython:esp32c3:mixgo_me': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME); break; case 'micropython:esp32:mPython': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON); break; default: this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME); } } }; const actuator_onboard_neopixel_rgb_all = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC); } }; const actuator_onboard_neopixel_rgb_show_all_rainbow = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAINBOW); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIS); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); } }; const actuator_onboard_neopixel_rgb_show_all_chase = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHASE); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_RANGE_STEP) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIS); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); } }; const actuator_onboard_neopixel_write = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RGB_WRITE) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_WRI); } }; const actuator_rm_onboard_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); const boardKey = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey(); switch (boardKey) { case 'micropython:esp32c3:mixgocc': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC); break; case 'micropython:esp32c3:mixgome': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME); break; case 'micropython:esp32:mPython': this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON); break; default: this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME); } } }; const actuator_rm_onboard_neopixel_rgb_all = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC); } }; const actuator_rm_onboard_neopixel_rgb_show_all_chase = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHASE); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_B); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_RANGE_STEP) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIS); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); } }; const esp32_music_set_tempo = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('TICKS') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SET_TEMPO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_ACTUATOR_ticks); this.appendValueInput('BPM') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO); } } const esp32_music_get_tempo = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Get_current_tempo) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO); } } const esp32_music_reset = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_music) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_RESET); } } const esp32_onboard_music_pitch = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE); } }; const esp32_onboard_music_pitch_with_time = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2); } }; const esp32_onboard_music_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NOTONE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const esp32_onboard_music_play_list = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS); } } const rm_motor = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['1', "1"], ["2", "2"], ["3", "3"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } //c3 motor onboard const actuator_stepper_keep = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField("MixGo Car") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "F"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "R"] ]), "VAR"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const actuator_stepper_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MixGo Car") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "VAR"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); } }; const actuator_dc_motor = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_LEFT, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_RIGHT, "R"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "CCW"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const actuator_dc_motor_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_LEFT, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_RIGHT, "R"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } //mixbot onboard_motor below: const mixbot_motor_status = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_STATUS); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP); } }; const mixbot_move = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "F"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "R"] ]), "VAR"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER, "PWR"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED, "SPEED"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_TURNS, "TURNS"] ]), "mode"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP); } } const mixbot_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "VAR"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const mixbot_motor = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_BOTH, "0"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER, "PWR"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED, "SPEED"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_TURNS, "TURNS"] ]), "mode"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP); } } const actuator_mixbot_buzzer_on_off = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_BUZZER); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF, "1"] ]), 'on_off') this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; //bitbot onboard_motor below: const bitbot_move = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BITBOT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "F"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "R"] ]), "VAR"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const bitbot_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BITBOT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "VAR"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const bitbot_motor = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BITBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOTOR) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "1"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const actuator_mixgo_nova_mic_set = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS) this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const actuator_mixgo_nova_mic_get = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS + '(%)'); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const actuator_mixgo_nova_voice_set = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_BUZZER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_VOL) this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const actuator_mixgo_nova_voice_get = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_BUZZER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_VOL + '(%)'); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const actuator_mixgo_nova_record_audio = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('PATH') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECORD_AUDIO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH); this.appendValueInput('TIME') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const actuator_mixgo_nova_play_audio = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('PATH') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAY_AUDIO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const actuator_mixgo_nova_play_online_audio = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput('PATH') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PLAY_ONLINE_AUDIO) .appendField('URL'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const actuator_mixgo_nova_onboard_music_pitch = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE); } }; const actuator_mixgo_nova_onboard_music_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NOTONE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const set_power_output = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["1", "1"], ["2", "2"], ["3", "3"]]), "index"); this.appendValueInput('duty') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_IOT_IR_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEOUT); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(); } } const get_power_output = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["1", "1"], ["2", "2"]]), "index"); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_IOT_IR_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEOUT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DUTY_RATIO); this.setOutput(true, Number); this.setInputsInline(true); } } const set_all_power_output = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING); this.appendValueInput('duty') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.ALIGN_RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_IOT_IR_POWER + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEOUT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendDummyInput() .appendField('Hz') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP); } } const analog_keyboard_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); this.appendValueInput('special'); this.appendValueInput('general'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); } }; const special_key = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY0, "0x00"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY1, "0x01"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY2, "0x02"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY1, "0x04"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY8, "0x08"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY16, "0x10"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY32, "0x20"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY64, "0x40"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY128, "0x80"] ]), 'op') this.setOutput(true); } }; const general_key = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GENERAL_KEY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY0, "0x00"], ['A', "0x04"], ['B', "0x05"], ['C', "0x06"], ['D', "0x07"], ['E', "0x08"], ['F', "0x09"], ['G', "0x0A"], ['H', "0x0B"], ['I', "0x0C"], ['J', "0x0D"], ['K', "0x0E"], ['L', "0x0F"], ['M', "0x10"], ['N', "0x11"], ['O', "0x12"], ['P', "0x13"], ['Q', "0x14"], ['R', "0x15"], ['S', "0x16"], ['T', "0x17"], ['U', "0x18"], ['V', "0x19"], ['W', "0x1A"], ['X', "0x1B"], ['Y', "0x1C"], ['Z', "0x1D"], ['1 !', "0x1E"], ['2 @', "0x1F"], ['3 #', "0x20"], ['4 $', "0x21"], ['5 %', "0x22"], ['6 ^', "0x23"], ['7 &', "0x24"], ['8 *', "0x25"], ['9 (', "0x26"], ['0 )', "0x27"], ['ENTER', "0x28"], ['ESC', "0x29"], ['BACKSPACE', "0x2A"], ['TAB', "0x2B"], ['SPACE', "0x2C"], ['- _', "0x2D"], ['= +', "0x2E"], ['[ {', "0x2F"], ['] }', "0x30"], ['\\ |', "0x31"], ['; :', "0x33"], ["' " + ' "', "0x34"], ['` ~', "0x35"], [', <', "0x36"], ['. >', "0x37"], ['/ ?', "0x38"], ['CAPS_LOCK', "0x39"], ['F1', "0x3A"], ['F2', "0x3B"], ['F3', "0x3C"], ['F4', "0x3D"], ['F5', "0x3E"], ['F6', "0x3F"], ['F7', "0x40"], ['F8', "0x41"], ['F9', "0x42"], ['F10', "0x43"], ['F11', "0x44"], ['F12', "0x45"], ['PRINTSCREEN', "0x46"], ['SCROLL_LOCK', "0x47"], ['PAUSE', "0x48"], ['INSERT', "0x49"], ['HOME', "0x4A"], ['PAGE_UP', "0x4B"], ['DELETE', "0x4C"], ['END', "0x4D"], ['PAGE_DOWN', "0x4E"], ['RIGHT', "0x4F"], ['LEFT', "0x50"], ['DOWN', "0x51"], ['UP', "0x52"], ['NUM_LOCK', "0x53"], ['/', "0x54"], ['*', "0x55"], ['-', "0x56"], ['+', "0x57"], ['ENTER', "0x58"], ['1', "0x59"], ['2', "0x5A"], ['3', "0x5B"], ['4', "0x5C"], ['5', "0x5D"], ['6', "0x5E"], ['7', "0x5F"], ['8', "0x60"], ['9', "0x61"], ['0', "0x62"], ['.', "0x63"] ]), 'op') this.setOutput(true); } }; const general_key_tuple = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.itemCount_ = 2; this.updateShape_(); this.setOutput(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['generalkey_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP); }, mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('generalkey_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('generalkey_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GENERALKEY_CREATE_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GENERALKEY_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const generalkey_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GENERAL_KEY); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GENERALKEY_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const generalkey_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_VARIABLES_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const analog_mouse_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_INPUT); this.appendValueInput('key'); this.appendValueInput('x') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_X_CHANGES); this.appendValueInput('y') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Y_CHANGES); this.appendValueInput('wheel') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHEEL_CHANGES); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); } }; const mouse_key = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_KEYS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPECIAL_KEY0, "0x00"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_LEFT_KEY, "0x01"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_RIGHT_KEY, "0x02"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_MID_KEY, "0x04"] ]), 'op') this.setOutput(true); } }; const analog_keyboard_str = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); this.appendValueInput('str') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT); this.appendValueInput('time') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT_TIME_DELAY); this.appendDummyInput() .appendField('ms'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const analog_ble_keyboard_init = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD); this.appendValueInput('kname') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SYSTEM_DEVICE_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const ble_keyboard_get_mac = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS); this.setOutput(true); this.setInputsInline(true); } } const ble_keyboard_connect = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_CONNECT); this.setOutput(true); this.setInputsInline(true); } } const analog_ble_keyboard_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_KEYBOARD); this.appendValueInput('special'); this.appendValueInput('general'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); } }; const analog_ble_keyboard_str = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD); this.appendValueInput('str') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_KEYBOARD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT); this.appendValueInput('time') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT_TIME_DELAY); this.appendDummyInput() .appendField('ms'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const analog_ble_keyboard_send_battery = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD); this.appendValueInput('battery') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_KEYBOARD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BATTERY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO); this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const analog_ble_mouse_init = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE); this.appendValueInput('name') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SYSTEM_DEVICE_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const ble_mouse_get_mac = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS); this.setOutput(true); this.setInputsInline(true); } } const ble_mouse_connect = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_CONNECT); this.setOutput(true); this.setInputsInline(true); } } const analog_ble_mouse_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_INPUT); this.appendValueInput('key'); this.appendValueInput('x') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_X_CHANGES); this.appendValueInput('y') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Y_CHANGES); this.appendValueInput('wheel') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHEEL_CHANGES); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); } }; const analog_ble_mouse_send_battery = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE); this.appendValueInput('battery') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BATTERY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO); this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const analog_ble_keyboard_mouse_init = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE); this.appendValueInput('kname') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SYSTEM_DEVICE_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const ble_keyboard_mouse_get_mac = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS); this.setOutput(true); this.setInputsInline(true); } } const ble_keyboard_mouse_connect = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_CONNECT); this.setOutput(true); this.setInputsInline(true); } } const analog_ble_keyboard_mouse_send_battery = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE); this.appendValueInput('battery') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BATTERY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO); this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const analog_ble_keyboard_mouse_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_KEYBOARD); this.appendValueInput('special'); this.appendValueInput('general'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_INPUT); } }; const analog_ble_keyboard_mouse_str = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE); this.appendValueInput('str') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_KEYBOARD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT); this.appendValueInput('time') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STR_PRINT_TIME_DELAY); this.appendDummyInput() .appendField('ms'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const analog_ble_mouse_keyboard_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD_AND_MOUSE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_INPUT); this.appendValueInput('key'); this.appendValueInput('x') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_X_CHANGES); this.appendValueInput('y') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Y_CHANGES); this.appendValueInput('wheel') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHEEL_CHANGES); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RELEASE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'release'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOUSE_INPUT); } }; //educore actuator const educore_buzzer = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIDI); this.setOutput(true); this.setInputsInline(true); } } const educore_buzzer_play_tone = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("buzzer"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_buzzer_play_tone_time = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("buzzer"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TONE); this.appendValueInput('pitch') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY); this.appendValueInput('time') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DURATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_buzzer_stop = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("buzzer") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_rgb_light = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB); this.setOutput(true); this.setInputsInline(true); } } const educore_neopixel_rgb = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("rgb"); this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendValueInput("RVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_R); this.appendValueInput("GVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_G); this.appendValueInput("BVALUE") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.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); // } } }; const educore_neopixel_clear = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("rgb"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const educore_ble_sensor_init = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("name") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH+ blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SYSTEM_DEVICE_NAME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS); this.setOutput(true); this.setInputsInline(true); } }; const educore_ble_sensor_connected = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BE_CONNETCED) this.setOutput(true); this.setInputsInline(true); } }; const educore_ble_keyboard_input = { init: function () { this.setColour(ACTUATOR_ONBOARD_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KEYBOARD); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.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); } }; /***/ }), /***/ "../micropython/blocks/ai.js": /*!***********************************!*\ !*** ../micropython/blocks/ai.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MICROPYTHON_AI_Speech_asr: () => (/* binding */ MICROPYTHON_AI_Speech_asr), /* harmony export */ MICROPYTHON_AI_Speech_unit: () => (/* binding */ MICROPYTHON_AI_Speech_unit), /* harmony export */ MICROPYTHON_AI_client: () => (/* binding */ MICROPYTHON_AI_client) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const AI_HUE = 205; const MICROPYTHON_AI_client = { init: function () { this.setColour(AI_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr, "ASR"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_UNIT, "UNIT"] ]), 'CTYPE') this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('API_KEY') .appendField('API_KEY') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('SECRET_KEY') .appendField('SECRET_KEY') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setInputsInline(false); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const MICROPYTHON_AI_Speech_unit = { // AI_TYPE_FUNC init: function () { this.setColour(AI_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_UNIT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('ID') .appendField('ID') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('STR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setInputsInline(true); this.setOutput(true); } }; const MICROPYTHON_AI_Speech_asr = { // AI_TYPE_FUNC init: function () { this.setColour(AI_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('FILE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_AI_AUDIO_TIME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LANGUAGE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_LANGUAGE_CHINESE, "1537"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_LANGUAGE_ENGLISH, "1737"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_LANGUAGE_CANTONESE, "1637"] ]), 'LANGUAGE') this.setInputsInline(true); this.setOutput(true); } }; /***/ }), /***/ "../micropython/blocks/ai_sensor.js": /*!******************************************!*\ !*** ../micropython/blocks/ai_sensor.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ai_sensor_20object: () => (/* binding */ ai_sensor_20object), /* harmony export */ ai_sensor_ailocal_class: () => (/* binding */ ai_sensor_ailocal_class), /* harmony export */ ai_sensor_ailocal_class_result: () => (/* binding */ ai_sensor_ailocal_class_result), /* harmony export */ ai_sensor_ailocal_train: () => (/* binding */ ai_sensor_ailocal_train), /* harmony export */ ai_sensor_asr_recognize: () => (/* binding */ ai_sensor_asr_recognize), /* harmony export */ ai_sensor_audio_play: () => (/* binding */ ai_sensor_audio_play), /* harmony export */ ai_sensor_audio_record: () => (/* binding */ ai_sensor_audio_record), /* harmony export */ ai_sensor_barcode: () => (/* binding */ ai_sensor_barcode), /* harmony export */ ai_sensor_circle: () => (/* binding */ ai_sensor_circle), /* harmony export */ ai_sensor_classifier_faces: () => (/* binding */ ai_sensor_classifier_faces), /* harmony export */ ai_sensor_color: () => (/* binding */ ai_sensor_color), /* harmony export */ ai_sensor_color_chases: () => (/* binding */ ai_sensor_color_chases), /* harmony export */ ai_sensor_color_chases_result: () => (/* binding */ ai_sensor_color_chases_result), /* harmony export */ ai_sensor_config: () => (/* binding */ ai_sensor_config), /* harmony export */ ai_sensor_face: () => (/* binding */ ai_sensor_face), /* harmony export */ ai_sensor_find_20objects: () => (/* binding */ ai_sensor_find_20objects), /* harmony export */ ai_sensor_find_barcodes: () => (/* binding */ ai_sensor_find_barcodes), /* harmony export */ ai_sensor_find_circles: () => (/* binding */ ai_sensor_find_circles), /* harmony export */ ai_sensor_find_colors: () => (/* binding */ ai_sensor_find_colors), /* harmony export */ ai_sensor_find_licenseplates: () => (/* binding */ ai_sensor_find_licenseplates), /* harmony export */ ai_sensor_find_lines: () => (/* binding */ ai_sensor_find_lines), /* harmony export */ ai_sensor_find_qrcodes: () => (/* binding */ ai_sensor_find_qrcodes), /* harmony export */ ai_sensor_find_rects: () => (/* binding */ ai_sensor_find_rects), /* harmony export */ ai_sensor_find_tags: () => (/* binding */ ai_sensor_find_tags), /* harmony export */ ai_sensor_licenseplate: () => (/* binding */ ai_sensor_licenseplate), /* harmony export */ ai_sensor_line: () => (/* binding */ ai_sensor_line), /* harmony export */ ai_sensor_qrcode: () => (/* binding */ ai_sensor_qrcode), /* harmony export */ ai_sensor_qrcode_lite: () => (/* binding */ ai_sensor_qrcode_lite), /* harmony export */ ai_sensor_rect: () => (/* binding */ ai_sensor_rect), /* harmony export */ ai_sensor_rgb: () => (/* binding */ ai_sensor_rgb), /* harmony export */ ai_sensor_tag: () => (/* binding */ ai_sensor_tag), /* harmony export */ ai_sensor_use_uart_init: () => (/* binding */ ai_sensor_use_uart_init), /* harmony export */ ai_sensor_yolo_recognize: () => (/* binding */ ai_sensor_yolo_recognize), /* harmony export */ ai_sensor_yolo_recognize_result: () => (/* binding */ ai_sensor_yolo_recognize_result) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const AI_SENSOR_HUE = '#90A244'; //'#9e77c9'//40; const ai_sensor_use_uart_init = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "uart") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["uart1", "uart1"], ["uart2", "uart2"] ]), "key"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO + 'MixGo AI' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const ai_sensor_qrcode = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_QR_CODE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP); } }; const ai_sensor_qrcode_lite = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_QR_CODE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT, "qrcode"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BAR_CODE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT, "barcode"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TAG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT, "apriltag"] ]), "TYPE"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ANALYSIS_RESULT); this.setOutput(true); this.setInputsInline(true); this.setTooltip(); } }; const ai_sensor_find_qrcodes = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_QR_CODE_RECOGNTITION); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[qrcode]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_config = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendValueInput("RX") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_CLINET_PORT) .appendField("RX#") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("TX") .appendField("TX#") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SOFT_RESET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RGB_WRITE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, 'True'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, 'False']]), 'mode') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP); } }; const ai_sensor_rgb = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendValueInput("led1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING) .appendField("RGB1") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("led2") .appendField("RGB2") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP); } }; const ai_sensor_barcode = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BAR_CODE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP); } }; const ai_sensor_find_barcodes = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BAR_CODE_RECOGNTITION); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[barcode]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_tag = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TAG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_turtle_rotate + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, "info2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP); } }; const ai_sensor_find_tags = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TAG_RECOGNTITION); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[tag]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP); } }; const ai_sensor_line = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LINE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LINE_ANGLE, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-x1x2y1y2", "rect"], ["x1" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["x2" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["y1" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["y2" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP); } }; const ai_sensor_find_lines = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LINE_RECOGNTITION); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_THRESHOLD) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LINE_RECOGNTITION_ANGLE) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR3") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LINE_RECOGNTITION_SLOPE) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[line]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_circle = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_AREA, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP); } }; const ai_sensor_find_circles = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_RECOGNTITION); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_THRESHOLD) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR3") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[circle]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_rect = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_AREA, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP); } }; const ai_sensor_find_rects = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECT_RECOGNTITION); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_THRESHOLD) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[rect]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP); } }; const ai_sensor_color = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['RGB' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR, "[0]"], ['LAB' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_LAB, "[1]"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP); } }; const ai_sensor_find_colors = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_RECOGNTITION); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "color"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP); } }; const ai_sensor_color_chases_result = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CIRCLE_AREA, "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP); } }; const ai_sensor_color_chases = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE); this.appendValueInput("VAR1") .appendField('LAB' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_LAB) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_THRESHOLD) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR3") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE_MERGE) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[colors]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_ailocal_train = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCAL_TRAIN); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OBJECT_LIST) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODEL_NAME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR3") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRAIN_TIME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR4") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipNlp_Topic_Title) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP); } }; const ai_sensor_ailocal_class = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCAL_CLASS); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OBJECT_LIST) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODEL_NAME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR4") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipNlp_Topic_Title) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[objects]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP); } }; const ai_sensor_ailocal_class_result = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCAL_CLASS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['ID', "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONFIDENCE_DEGREE, "info2"], ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP); } }; const ai_sensor_audio_record = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_RECORD); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_AI_AUDIO_TIME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP); } }; const ai_sensor_audio_play = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MUSIC_PLAY); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_VOL) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .appendField('%') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const ai_sensor_yolo_recognize = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YOLO_RECOGNIZE); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ANCHOR) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODEL_PATH) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR4") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipNlp_Topic_Title) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[objects]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP); } }; const ai_sensor_yolo_recognize_result = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YOLO_RECOGNIZE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_CHASE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['ID', "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONFIDENCE_DEGREE, "info2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "xc"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "yc"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP); } }; const ai_sensor_asr_recognize = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr); this.appendValueInput("VAR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("VAR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_THRESHOLD) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP); } }; const ai_sensor_licenseplate = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LICENSEPLATE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['ID', "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP); } }; const ai_sensor_find_licenseplates = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipOcr_licensePlate); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[licensePlate]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP); } }; const ai_sensor_face = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FACE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["ID", "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONFIDENCE_DEGREE, "info2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP); } }; const ai_sensor_classifier_faces = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipFace); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[face]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP); } }; const ai_sensor_20object = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_20OBJECTS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_OBJECT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL_CODE_ANALYSIS); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['ID', "info1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONFIDENCE_DEGREE, "info2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY + "-xywh", "rect"], ["x" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[0]"], ["y" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[1]"], ["w" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[2]"], ["h" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POSITION_XY, "rect[3]"] ]), "key"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP); } }; const ai_sensor_find_20objects = { init: function () { this.setColour(AI_SENSOR_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FIND_20OBJECTS); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + "[20objects]"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP); } }; /***/ }), /***/ "../micropython/blocks/blynk.js": /*!**************************************!*\ !*** ../micropython/blocks/blynk.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mpython_blynk_app_data: () => (/* binding */ mpython_blynk_app_data), /* harmony export */ mpython_blynk_app_notify: () => (/* binding */ mpython_blynk_app_notify), /* harmony export */ mpython_blynk_email: () => (/* binding */ mpython_blynk_email), /* harmony export */ mpython_blynk_get_timers: () => (/* binding */ mpython_blynk_get_timers), /* harmony export */ mpython_blynk_on_connected: () => (/* binding */ mpython_blynk_on_connected), /* harmony export */ mpython_blynk_on_disconnected: () => (/* binding */ mpython_blynk_on_disconnected), /* harmony export */ mpython_blynk_run: () => (/* binding */ mpython_blynk_run), /* harmony export */ mpython_blynk_sensor_data_to_app: () => (/* binding */ mpython_blynk_sensor_data_to_app), /* harmony export */ mpython_blynk_set_property: () => (/* binding */ mpython_blynk_set_property), /* harmony export */ mpython_blynk_setup: () => (/* binding */ mpython_blynk_setup), /* harmony export */ mpython_blynk_stop_timers: () => (/* binding */ mpython_blynk_stop_timers), /* harmony export */ mpython_blynk_sync_virtual: () => (/* binding */ mpython_blynk_sync_virtual), /* harmony export */ mpython_blynk_terminal_widget_vpin: () => (/* binding */ mpython_blynk_terminal_widget_vpin), /* harmony export */ mpython_blynktimer: () => (/* binding */ mpython_blynktimer), /* harmony export */ mpython_blynktimer_run: () => (/* binding */ mpython_blynktimer_run) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /******************* Blynk *****************/ const BLYNK_HUE = '#2FAD7A'; // 自定义终端部件 Terminal Blynk const mpython_blynk_terminal_widget_vpin = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0, "args0": [ { "check": Number, "type": "input_value", "name": "virtual_pin" } ] }); } }; // 同步虚拟管脚的状态 Blynk const mpython_blynk_sync_virtual = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0, "args0": [ { "check": Number, "type": "input_value", "name": "virtual_pin" } ] }); } }; // 斷開连接 Blynk const mpython_blynk_on_disconnected = { init: function () { this.jsonInit({ "inputsInline": true, // "nextStatement": null, // "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0 }); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.CONTROLS_REPEAT_INPUT_DO); } }; // 连接上 Blynk const mpython_blynk_on_connected = { init: function () { this.jsonInit({ "inputsInline": true, // "nextStatement": null, // "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0 }); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.CONTROLS_REPEAT_INPUT_DO); } }; // Blynk 定时器的进程生效并运行 const mpython_blynktimer_run = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0 }); } }; // Blynk 进程生效并运行 const mpython_blynk_run = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_RUN_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_RUN_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_RUN_MESSAGE0 }); } }; // Blynk APP 显示通知 const mpython_blynk_app_notify = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0, "args0": [ { "check": String, "type": "input_value", "name": "notification" } ] }); } }; // 停止 Blynk 定时器 %1 const mpython_blynk_stop_timers = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, // "output": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0, "args0": [ { "check": Number, "type": "input_value", "name": "timer_num" } ] }); } }; // 给虚拟管脚添加 属性 %1 值 %2 const mpython_blynk_set_property = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, // "output": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0, "args0": [ { "check": String, "type": "input_value", "name": "attribute_name" } , { // "check":String, "type": "input_value", "name": "attribute_value" } ] }); } }; // 向 %1 发邮件 主题 %2 正文 %3 const mpython_blynk_email = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, // "output": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_EMAIL_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0, "args0": [ { "check": String, "type": "input_value", "name": "TargetEmail" } , { "check": String, "type": "input_value", "name": "subject" } , { "check": String, "type": "input_value", "name": "body" } ] }); } }; // 可用的 Blynk 定时器 const mpython_blynk_get_timers = { init: function () { this.jsonInit({ "inputsInline": true, // "nextStatement": null, // "previousStatement": null, "output": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0, }); } }; //blynk定时器 const mpython_blynktimer = { init: function () { this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_MESSAGE0, // "nextStatement": null, // "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNKTIMER_TOOLTIP, "args0": [ { "check": Number, "type": "input_value", "name": "Num" } , { "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_PERIODIC, 'False'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_ONE_SHOT, 'True'] ], "type": "field_dropdown", "name": "Timer_mode" } , { "check": Number, "type": "input_value", "name": "period" } ] }); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.CONTROLS_REPEAT_INPUT_DO); } }; // 发送数据 %1 到 Bylnk APP 的虚拟管脚 %2 const mpython_blynk_sensor_data_to_app = { init: function () { this.jsonInit({ "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0, "args0": [ { "type": "input_value", "name": "sensor_data" } , { "check": Number, "type": "input_value", "name": "virtual_pin" } ] }); } }; // 从 Bylnk APP 获取虚拟管脚 %1 的值 const mpython_blynk_app_data = { init: function () { this.jsonInit({ "inputsInline": true, // "nextStatement": null, // "previousStatement": null, // "output":null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0, "args0": [ { "check": Number, "type": "input_value", "name": "virtual_pin" } , { "type": "input_value", "name": "virtual_pin_val" } ] }); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.CONTROLS_REPEAT_INPUT_DO); } }; // Bylnk设置 const mpython_blynk_setup = { init: function () { this.jsonInit({ // "inputsInline": true, "nextStatement": null, "previousStatement": null, "colour": BLYNK_HUE, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SETUP_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0, "args0": [ { "type": "input_dummy" }, { "check": String, "type": "input_value", "name": "server" }, { "check": Number, "type": "input_value", "name": "port" }, { "check": String, "type": "input_value", "name": "auth" } ] }); } }; /***/ }), /***/ "../micropython/blocks/cc_g1.js": /*!**************************************!*\ !*** ../micropython/blocks/cc_g1.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ cc_g1_init: () => (/* binding */ cc_g1_init), /* harmony export */ cc_g1_read_bat: () => (/* binding */ cc_g1_read_bat), /* harmony export */ cc_g1_read_joystick: () => (/* binding */ cc_g1_read_joystick), /* harmony export */ cc_g1_read_key: () => (/* binding */ cc_g1_read_key), /* harmony export */ cc_g1_turnoff: () => (/* binding */ cc_g1_turnoff) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const CCG1_HUE = 40; const cc_g1_init = { init: function () { this.setColour(CCG1_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + " CC_G1"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "temperature": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "relative_humidity": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP }; return TOOLTIPS[mode] }); } }; const cc_g1_read_bat = { init: function () { this.setColour(CCG1_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_BATTERY); this.setOutput(true, Number); this.setInputsInline(true); } }; const cc_g1_read_joystick = { init: function () { this.setColour(CCG1_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_JOYSTICK) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "[0]"], ["y", "[1]"], ["(x,y)", ""] ]), "VAR"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA); this.setOutput(true, Number); this.setInputsInline(true); } }; const cc_g1_read_key = { init: function () { this.setColour(CCG1_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["A", "0"], ["B", "1"], ["C", "2"], ["D", "3"], ["POWER", "4"], ["SELECT", "5"] ]), "VAR"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.WHETHER_IS_PRESSED); this.setOutput(true, Number); this.setInputsInline(true); } }; const cc_g1_turnoff = { init: function () { this.setColour(CCG1_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDLE_SHUTDOWN); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; /***/ }), /***/ "../micropython/blocks/ce_go.js": /*!**************************************!*\ !*** ../micropython/blocks/ce_go.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ce_go_dc_motor: () => (/* binding */ ce_go_dc_motor), /* harmony export */ ce_go_get_led_bright: () => (/* binding */ ce_go_get_led_bright), /* harmony export */ ce_go_get_led_state: () => (/* binding */ ce_go_get_led_state), /* harmony export */ ce_go_hall_attachInterrupt: () => (/* binding */ ce_go_hall_attachInterrupt), /* harmony export */ ce_go_hall_data: () => (/* binding */ ce_go_hall_data), /* harmony export */ ce_go_hall_initialize: () => (/* binding */ ce_go_hall_initialize), /* harmony export */ ce_go_led_bright: () => (/* binding */ ce_go_led_bright), /* harmony export */ ce_go_led_brightness: () => (/* binding */ ce_go_led_brightness), /* harmony export */ ce_go_light_number: () => (/* binding */ ce_go_light_number), /* harmony export */ ce_go_pin_light: () => (/* binding */ ce_go_pin_light), /* harmony export */ ce_go_pin_near: () => (/* binding */ ce_go_pin_near), /* harmony export */ ce_go_pin_near_line: () => (/* binding */ ce_go_pin_near_line), /* harmony export */ ce_go_pin_near_state_change: () => (/* binding */ ce_go_pin_near_state_change), /* harmony export */ ce_go_stepper_keep: () => (/* binding */ ce_go_stepper_keep), /* harmony export */ ce_go_stepper_stop: () => (/* binding */ ce_go_stepper_stop), /* harmony export */ educore_car: () => (/* binding */ educore_car), /* harmony export */ educore_car_pin_near: () => (/* binding */ educore_car_pin_near), /* harmony export */ educore_car_pin_near_line: () => (/* binding */ educore_car_pin_near_line), /* harmony export */ educore_car_stepper_keep: () => (/* binding */ educore_car_stepper_keep), /* harmony export */ educore_car_stepper_stop: () => (/* binding */ educore_car_stepper_stop), /* harmony export */ sensor_mixgome_eulerangles: () => (/* binding */ sensor_mixgome_eulerangles) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const MEGO_HUE = 100; //LED const ce_go_light_number = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_LIGHT_HEADLIGHT, "WLED"] ]), 'op') this.setOutput(true); } }; const ce_go_led_bright = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField('ME GO') this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const ce_go_get_led_bright = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField('ME GO') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const ce_go_get_led_state = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField('ME GO') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const ce_go_led_brightness = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField('ME GO') this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS + '(0-10)'); } }; const ce_go_stepper_keep = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "F"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "R"] ]), "VAR"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const ce_go_stepper_stop = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "VAR"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const ce_go_dc_motor = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_RIGHT, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN, "2"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const ce_go_hall_attachInterrupt = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INTERRUPT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const ce_go_hall_initialize = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['turns', "turns"], ['distance', "distance"], ['turns,distance', 'all']]), "args"); this.appendValueInput('num') .setCheck(Number) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const ce_go_hall_data = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['turns', "turns"], ['distance', "distance"], ['speed', 'speed']]), "args"); this.setOutput(true); this.setInputsInline(true); } }; const ce_go_pin_near_line = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_MID, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR_VAL); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const ce_go_pin_near = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_PROXIMITY_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const ce_go_pin_near_state_change = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE, "AS"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY, "LP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY, "OA"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY, "LS"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_SENSOR_MODE_OFF, "CL"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const sensor_mixgome_eulerangles = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH, '[0]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH + ', ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, ''] ]), 'angle'); // this.appendDummyInput("") // .appendField(Blockly.Msg.BOARD_DIRECTION) // .appendField(new Blockly.FieldDropdown([ // [Blockly.Msg.OLED_VER,'True'], // [Blockly.Msg.OLED_HOR,'False'], // ]),'dir'); this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; const ce_go_pin_light = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_MID, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR; return mode0 + mode1 }); } }; //educore car const educore_car = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CAR); this.setOutput(true); this.setInputsInline(true); } } const educore_car_stepper_keep = { init: function () { this.setColour(MEGO_HUE); this.appendValueInput('car'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "forward"], // [Blockly.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "turn_left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "turn_right"] ]), "VAR"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const educore_car_stepper_stop = { init: function () { this.setColour(MEGO_HUE); this.appendValueInput('car'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "stop"] // [Blockly.Msg.MOTOR_N, "N"] ]), "VAR"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const educore_car_pin_near_line = { init: function () { this.setColour(MEGO_HUE); this.appendValueInput('car'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "1"], // [Blockly.Msg.MIXGO_LEFT_MID, "[1]"], // [Blockly.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "2"] // [Blockly.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR_VAL); this.setOutput(true, Number); this.setInputsInline(true); } }; const educore_car_pin_near = { init: function () { this.setColour(MEGO_HUE); this.appendValueInput('car'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_PROXIMITY_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); } }; /***/ }), /***/ "../micropython/blocks/communicate.js": /*!********************************************!*\ !*** ../micropython/blocks/communicate.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ communicate_bluetooth_central_init: () => (/* binding */ communicate_bluetooth_central_init), /* harmony export */ communicate_bluetooth_connect: () => (/* binding */ communicate_bluetooth_connect), /* harmony export */ communicate_bluetooth_disconnect: () => (/* binding */ communicate_bluetooth_disconnect), /* harmony export */ communicate_bluetooth_handle: () => (/* binding */ communicate_bluetooth_handle), /* harmony export */ communicate_bluetooth_is_connected: () => (/* binding */ communicate_bluetooth_is_connected), /* harmony export */ communicate_bluetooth_mac: () => (/* binding */ communicate_bluetooth_mac), /* harmony export */ communicate_bluetooth_peripheral_init: () => (/* binding */ communicate_bluetooth_peripheral_init), /* harmony export */ communicate_bluetooth_recv: () => (/* binding */ communicate_bluetooth_recv), /* harmony export */ communicate_bluetooth_recv_only: () => (/* binding */ communicate_bluetooth_recv_only), /* harmony export */ communicate_bluetooth_scan: () => (/* binding */ communicate_bluetooth_scan), /* harmony export */ communicate_bluetooth_send: () => (/* binding */ communicate_bluetooth_send), /* harmony export */ communicate_espnow_init: () => (/* binding */ communicate_espnow_init), /* harmony export */ communicate_espnow_init_new: () => (/* binding */ communicate_espnow_init_new), /* harmony export */ communicate_i2c_available: () => (/* binding */ communicate_i2c_available), /* harmony export */ communicate_i2c_init: () => (/* binding */ communicate_i2c_init), /* harmony export */ communicate_i2c_master_read: () => (/* binding */ communicate_i2c_master_read), /* harmony export */ communicate_i2c_onboard: () => (/* binding */ communicate_i2c_onboard), /* harmony export */ communicate_i2c_read: () => (/* binding */ communicate_i2c_read), /* harmony export */ communicate_i2c_scan: () => (/* binding */ communicate_i2c_scan), /* harmony export */ communicate_i2c_write: () => (/* binding */ communicate_i2c_write), /* harmony export */ communicate_ir_recv_init: () => (/* binding */ communicate_ir_recv_init), /* harmony export */ communicate_ir_send_init: () => (/* binding */ communicate_ir_send_init), /* harmony export */ communicate_ow_init: () => (/* binding */ communicate_ow_init), /* harmony export */ communicate_ow_read: () => (/* binding */ communicate_ow_read), /* harmony export */ communicate_ow_reset: () => (/* binding */ communicate_ow_reset), /* harmony export */ communicate_ow_scan: () => (/* binding */ communicate_ow_scan), /* harmony export */ communicate_ow_select: () => (/* binding */ communicate_ow_select), /* harmony export */ communicate_ow_write: () => (/* binding */ communicate_ow_write), /* harmony export */ communicate_spi_buffer: () => (/* binding */ communicate_spi_buffer), /* harmony export */ communicate_spi_init: () => (/* binding */ communicate_spi_init), /* harmony export */ communicate_spi_onboard: () => (/* binding */ communicate_spi_onboard), /* harmony export */ communicate_spi_read: () => (/* binding */ communicate_spi_read), /* harmony export */ communicate_spi_read_output: () => (/* binding */ communicate_spi_read_output), /* harmony export */ communicate_spi_readinto: () => (/* binding */ communicate_spi_readinto), /* harmony export */ communicate_spi_readinto_output: () => (/* binding */ communicate_spi_readinto_output), /* harmony export */ communicate_spi_set: () => (/* binding */ communicate_spi_set), /* harmony export */ communicate_spi_write: () => (/* binding */ communicate_spi_write), /* harmony export */ communicate_spi_write_readinto: () => (/* binding */ communicate_spi_write_readinto), /* harmony export */ espnow_radio_channel: () => (/* binding */ espnow_radio_channel), /* harmony export */ espnow_radio_channel_new: () => (/* binding */ espnow_radio_channel_new), /* harmony export */ espnow_radio_on_off: () => (/* binding */ espnow_radio_on_off), /* harmony export */ espnow_radio_rec: () => (/* binding */ espnow_radio_rec), /* harmony export */ espnow_radio_recv: () => (/* binding */ espnow_radio_recv), /* harmony export */ espnow_radio_recv_certain_msg: () => (/* binding */ espnow_radio_recv_certain_msg), /* harmony export */ espnow_radio_recv_certain_msg_new: () => (/* binding */ espnow_radio_recv_certain_msg_new), /* harmony export */ espnow_radio_recv_msg: () => (/* binding */ espnow_radio_recv_msg), /* harmony export */ espnow_radio_recv_new: () => (/* binding */ espnow_radio_recv_new), /* harmony export */ espnow_radio_send: () => (/* binding */ espnow_radio_send), /* harmony export */ espnow_radio_txpower: () => (/* binding */ espnow_radio_txpower), /* harmony export */ i2c_available: () => (/* binding */ i2c_available), /* harmony export */ i2c_init: () => (/* binding */ i2c_init), /* harmony export */ i2c_master_reader2: () => (/* binding */ i2c_master_reader2), /* harmony export */ i2c_read: () => (/* binding */ i2c_read), /* harmony export */ i2c_scan: () => (/* binding */ i2c_scan), /* harmony export */ i2c_slave_onreceive: () => (/* binding */ i2c_slave_onreceive), /* harmony export */ i2c_write: () => (/* binding */ i2c_write), /* harmony export */ internal_variable: () => (/* binding */ internal_variable), /* harmony export */ ir_recv_timeout: () => (/* binding */ ir_recv_timeout), /* harmony export */ ir_transmit_busy: () => (/* binding */ ir_transmit_busy), /* harmony export */ ir_transmit_conventional_data: () => (/* binding */ ir_transmit_conventional_data), /* harmony export */ ir_transmit_raw_code: () => (/* binding */ ir_transmit_raw_code), /* harmony export */ ir_transmit_study_code: () => (/* binding */ ir_transmit_study_code), /* harmony export */ ir_whether_recv: () => (/* binding */ ir_whether_recv), /* harmony export */ lora_init: () => (/* binding */ lora_init), /* harmony export */ lora_packet: () => (/* binding */ lora_packet), /* harmony export */ lora_recv: () => (/* binding */ lora_recv), /* harmony export */ lora_send: () => (/* binding */ lora_send), /* harmony export */ network_espnow_info: () => (/* binding */ network_espnow_info), /* harmony export */ network_espnow_mac: () => (/* binding */ network_espnow_mac), /* harmony export */ network_espnow_recv: () => (/* binding */ network_espnow_recv), /* harmony export */ network_espnow_recv_handle: () => (/* binding */ network_espnow_recv_handle), /* harmony export */ network_espnow_send: () => (/* binding */ network_espnow_send), /* harmony export */ recv_fun: () => (/* binding */ recv_fun), /* harmony export */ spi_buffer: () => (/* binding */ spi_buffer), /* harmony export */ spi_init: () => (/* binding */ spi_init), /* harmony export */ spi_read: () => (/* binding */ spi_read), /* harmony export */ spi_read_output: () => (/* binding */ spi_read_output), /* harmony export */ spi_readinto: () => (/* binding */ spi_readinto), /* harmony export */ spi_readinto_output: () => (/* binding */ spi_readinto_output), /* harmony export */ spi_set: () => (/* binding */ spi_set), /* harmony export */ spi_write: () => (/* binding */ spi_write), /* harmony export */ spi_write_readinto: () => (/* binding */ spi_write_readinto), /* harmony export */ urequests_attribute: () => (/* binding */ urequests_attribute), /* harmony export */ urequests_get: () => (/* binding */ urequests_get), /* harmony export */ urequests_method: () => (/* binding */ urequests_method) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const COMMUNICATE_HUE = 140 const communicate_i2c_onboard = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LED_ON_BOARD + "I2C"); this.setOutput(true); this.setInputsInline(true); } }; const communicate_spi_onboard = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LED_ON_BOARD + "SPI"); this.setOutput(true); this.setInputsInline(true); } }; const communicate_i2c_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('SUB') .appendField("I2C " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.appendValueInput("TX", Number) .appendField("SCL") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("RX", Number) .appendField("SDA") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('freq') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_I2C_INIT); } }; const communicate_i2c_read = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField("I2C") .setCheck("var"); this.appendValueInput('address') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RNUMBER); this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_READ); } } const communicate_i2c_write = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField("I2C") .setCheck("var"); this.appendValueInput('address') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_WNUMBER); this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_VALUE); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const communicate_i2c_scan = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField("I2C") .setCheck("var") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_I2C_SCAN1 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_I2C_SCAN2) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_I2C_SCAN); } } const communicate_spi_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_INIT); this.appendValueInput('freq') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN); this.appendValueInput('sck') .setCheck(Number) .appendField('SCK'); this.appendValueInput('mosi') .setCheck(Number) .appendField('MOSI'); this.appendValueInput('miso') .setCheck(Number) .appendField('MISO'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP); } }; const communicate_spi_set = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField("SPI") this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_SET); } }; const communicate_spi_buffer = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_BUFFER); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_BUFFER_SET); } }; const communicate_spi_read = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READ); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_READ); } } const communicate_spi_read_output = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READ); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE + ' ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_OUTPUT); this.appendValueInput('val') .setCheck(Number); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_READ_OUTPUT); } } const communicate_spi_readinto = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck('var') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READ + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_BUFFER); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_READINTO); } } const communicate_spi_readinto_output = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck('var') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READ + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_BUFFER); this.appendValueInput('val') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_OUTPUT); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT); } } const communicate_spi_write = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_WRITE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_WRITE); } }; const communicate_spi_write_readinto = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('SPI'); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_WRITE) // .appendField(new Blockly.FieldDropdown([ // [Blockly.Msg.LANG_MATH_BYTE, "byte"], // [Blockly.Msg.MIXLY_ESP32_SPI_BUFFER, "buffer"] // ]), "op"); this.appendValueInput('val') .setCheck('var') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_BUFFER_READ); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SPI_WRITE_READINTO); } }; const communicate_i2c_master_read = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("I2C"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_READ); this.setOutput(true, Number); } }; const communicate_i2c_available = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("I2C"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_READ + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SUCCESS); this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_I2C_AVAILABLE); } }; const i2c_slave_onreceive = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_I2C_SLAVE_ONRECEIVE) .setCheck(Number); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); } }; const communicate_ow_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('OneWire ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP); this.appendValueInput('BUS') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_INIT); } }; const communicate_ow_scan = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('OneWire'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONEWIRE_SCAN); this.setOutput(true, 'List'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_SCAN); } }; const communicate_ow_read = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('OneWire'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONEWIRE_READ); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_READ); } }; const communicate_ow_write = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('OneWire'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_WRITE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_STRING, "write"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE, "writebyte"] ]), "op"); this.appendValueInput('byte') .setCheck([Number, String]); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_WRITE); } }; const communicate_ow_select = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField('OneWire') .setCheck('var') this.appendValueInput('byte') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET) .appendField("ROM"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_SELECT); } }; const communicate_ow_reset = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField('OneWire') .setCheck('var') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_turtle_reset); this.setPreviousStatement(true); this.setNextStatement(true); this.setOutput(false); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OW_RESET); } }; const communicate_ir_recv_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('PIN') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_RECEIVE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_INPUT1, "8"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_INPUT2, "16"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_INPUT3, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TR_SEND_RC, "RC5"] ]), "type"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_INPUT_DO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_SUB); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const internal_variable = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_RECV_FUN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_CMD_CODE, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_ADDR_CODE, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_RAW_CODE, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_PULSE, "3"] ]), "index"); this.setOutput(true); this.setInputsInline(true); } }; const recv_fun = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_RECV_FUN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MILY_PAUSE, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECOVER, "False"] ]), "en"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const ir_whether_recv = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_RECV_FUN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_WHETHER_RECV); this.setOutput(true); this.setInputsInline(true); } }; const ir_recv_timeout = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('time') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_RECV_FUN) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_TIMEOUT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLISECOND); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const communicate_ir_send_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('PIN') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND_samsung1, "False"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND_samsung2, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TR_SEND_RC, "RC5"] ]), "type") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER); this.appendValueInput('power'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_QUYU_SYMBOL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const ir_transmit_conventional_data = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND); this.appendValueInput('cmd') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_CMD_CODE); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_ADDR_CODE); this.appendValueInput('toggle') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONTROL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TRANSMIT_CONVEN_DATA); } }; const ir_transmit_study_code = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_PULSE) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const ir_transmit_raw_code = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_SEND); this.appendValueInput('raw') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_RAW_CODE) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const ir_transmit_busy = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_TRANSMIT_DONE); this.setOutput(true); this.setInputsInline(true); } }; const communicate_bluetooth_central_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catEthernet_init + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catBLE_UART); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const communicate_bluetooth_peripheral_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catEthernet_init + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catBLE_HID); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const communicate_bluetooth_scan = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONEWIRE_SCAN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH); this.setOutput(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_READ); } } const communicate_bluetooth_mac = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_MAC); this.setOutput(true); this.setInputsInline(true); } }; const communicate_bluetooth_connect = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEXT_JOIN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME, "name"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS, "mac"] ]), "mode"); this.appendValueInput('data') .setCheck(String); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const communicate_bluetooth_disconnect = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISCONNECT_ONENET); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const communicate_bluetooth_send = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_DATA); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BODY); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const communicate_bluetooth_is_connected = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLUETOOTH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_IS_CONNECT); this.setOutput(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_READ); } } const communicate_bluetooth_recv = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendValueInput('METHOD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_INPUT_DO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_SUB); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); //this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP); } }; const communicate_bluetooth_recv_only = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV) this.setOutput(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP); } }; const communicate_bluetooth_handle = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BLE_HANDLE) this.appendValueInput('METHOD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_INPUT_DO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_SUB); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); //this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP); } }; //espnow const communicate_espnow_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP); this.appendValueInput('CHNL') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_CHANNEL); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TX_POWER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["20", "20"], ["18", "18"], ["16", "16"], ["15", "15"], ["14", "14"], ["13", "13"], ["11", "11"], ["8", "8"], ["7", "7"], ["5", "5"], ["2", "2"]]), 'op'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const communicate_espnow_init_new = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP); this.appendValueInput('CHNL') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_CHANNEL); this.appendValueInput('DB') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER); this.appendDummyInput() .appendField('db'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP); } }; const network_espnow_mac = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_MAC); this.setOutput(true); this.setInputsInline(true); } }; const network_espnow_info = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_INFO); this.setOutput(true); this.setInputsInline(true); } }; const network_espnow_recv = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["(" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS + ", " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING + ")", ""], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ETHERNET_MAC_ADDRESS, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING, "[1]"] ]), "mode"); this.setOutput(true); this.setInputsInline(true); } }; const network_espnow_send = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow '); this.appendValueInput('mac') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC); this.appendValueInput('content') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_SEND); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP); } }; const network_espnow_recv_handle = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('ESPnow '); this.appendValueInput('METHOD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SET_METHOD); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; //radio const espnow_radio_channel = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_INIT); this.appendValueInput('CHNL') .setCheck(Number); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const espnow_radio_txpower = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TX_POWER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["20", "20"], ["18", "18"], ["16", "16"], ["15", "15"], ["14", "14"], ["13", "13"], ["11", "11"], ["8", "8"], ["7", "7"], ["5", "5"], ["2", "2"]]), 'op'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const espnow_radio_channel_new = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_INIT); this.appendValueInput('CHNL') .setCheck(Number); this.appendValueInput('DB') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BLE_POWER); this.appendDummyInput() .appendField('db'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP); } }; const espnow_radio_on_off = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF, "False"] ]), 'on_off') this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const espnow_radio_send = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_SEND); this.appendValueInput('send') .setCheck(String); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP); } }; const espnow_radio_rec = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV); this.setOutput(true); this.setInputsInline(true); } }; const espnow_radio_recv_msg = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG); this.setOutput(true); this.setInputsInline(true); } }; const espnow_radio_recv = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(false); this.setNextStatement(false); } }; const espnow_radio_recv_certain_msg = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN) .appendField('"') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('on'), 'msg') .appendField('"') this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(false); this.setNextStatement(false); } }; const espnow_radio_recv_new = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(false); this.setNextStatement(false); } }; const espnow_radio_recv_certain_msg_new = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN) .appendField('"') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('on'), 'msg') .appendField('"') this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(false); this.setNextStatement(false); } }; const lora_init = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('SUB') .appendField('Lora' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.appendValueInput('SPISUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "SPI") .setCheck("var"); this.appendValueInput('PINSUB') .appendField("CS") this.appendValueInput('frequency') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY) this.appendValueInput('rate') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CODE_RATE) this.appendValueInput('factor') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPREADING_FACTOR) this.appendValueInput('power') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TX_POWER) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SIGNAL_BANDWIDTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['7800', '7800'], ['10400', '10400'], ['15600', '15600'], ['20800', '20800'], ['31250', '31250'], ['41700', '41700'], ['62500', '62500'], ['125000', '125000'], ['250000', '250000'], ['500000', '500000'] ]), 'bandwidth') this.setFieldValue("125000", "bandwidth"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LORA_INIT_TOOLTIP); } }; const lora_packet = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('Lora '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PACKAGE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SIGNAL_STRENGTH, 'packet_rssi'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SIGNAL_NOISE_RATE, 'packet_snr'] ]), 'key') this.setOutput(true); this.setInputsInline(true); } }; const lora_send = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField('Lora '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SEND_DATA); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_SEND); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); //this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_I2C_WRITE); } } const lora_recv = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('VAR') .setCheck('var') .appendField('Lora '); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_ESPNOW_RECV) this.setOutput(true, String); this.setInputsInline(true); } }; const urequests_get = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput("DOMAIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('response'), 'VAR') this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_TOOLTIP); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } } const urequests_attribute = { init: function () { this.appendValueInput('VAL') var attr = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_HEADER, 'headers'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE, 'status_code'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_TEXT, 'text'] , [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES, 'cookies'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT, 'content']]; this.setColour(COMMUNICATE_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(attr), 'ATTR') this.setInputsInline(true); this.setOutput(true, String); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('DIR'); var TOOLTIPS = { 'clear': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR, 'reset': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_RESET, 'home': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_HOME }; return TOOLTIPS[mode]; }); } }; const urequests_method = { init: function () { this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); var method = [ ['get', 'get'], ['post', 'post'], ['put', 'put'], ['delete', 'delete'], ['head', 'head'], ['option', 'option'] ]; this.setColour(COMMUNICATE_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_CONDUCT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(method), 'DIR') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS) this.setOutput(true); this.setInputsInline(true); } }; const i2c_init = communicate_i2c_init; const i2c_read = communicate_i2c_read; const i2c_write = communicate_i2c_write; const i2c_scan = communicate_i2c_scan; const spi_init = communicate_spi_init; const spi_set = communicate_spi_set; const spi_buffer = communicate_spi_buffer; const spi_read = communicate_spi_read; const spi_read_output = communicate_spi_read_output; const spi_readinto = communicate_spi_readinto; const spi_readinto_output = communicate_spi_readinto_output; const spi_write = communicate_spi_write; const spi_write_readinto = communicate_spi_write_readinto; const i2c_master_reader2 = communicate_i2c_master_read; const i2c_available = communicate_i2c_available; /***/ }), /***/ "../micropython/blocks/control.js": /*!****************************************!*\ !*** ../micropython/blocks/control.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Panic_with_status_code: () => (/* binding */ Panic_with_status_code), /* harmony export */ base_setup: () => (/* binding */ base_setup), /* harmony export */ base_type: () => (/* binding */ base_type), /* harmony export */ controls_TypeLists: () => (/* binding */ controls_TypeLists), /* harmony export */ controls_delay: () => (/* binding */ controls_delay), /* harmony export */ controls_end_program: () => (/* binding */ controls_end_program), /* harmony export */ controls_flow_statements: () => (/* binding */ controls_flow_statements), /* harmony export */ controls_for: () => (/* binding */ controls_for), /* harmony export */ controls_forEach: () => (/* binding */ controls_forEach), /* harmony export */ controls_if: () => (/* binding */ controls_if), /* harmony export */ controls_if_else: () => (/* binding */ controls_if_else), /* harmony export */ controls_if_elseif: () => (/* binding */ controls_if_elseif), /* harmony export */ controls_if_if: () => (/* binding */ controls_if_if), /* harmony export */ controls_millis: () => (/* binding */ controls_millis), /* harmony export */ controls_uname: () => (/* binding */ controls_uname), /* harmony export */ controls_whileUntil: () => (/* binding */ controls_whileUntil), /* harmony export */ raw_block: () => (/* binding */ raw_block), /* harmony export */ reset: () => (/* binding */ reset) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const LOOPS_HUE = 120//'#EB8045'; const base_setup = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP); this.appendStatementInput('DO') .appendField(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_SETUP); } }; const controls_delay = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND, "s"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "ms"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "us"]]), 'Time'); this.appendValueInput("DELAY_TIME", Number) .setCheck(Number); this.setFieldValue('ms', 'Time') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_DELAY); } }; const Panic_with_status_code = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput("STATUS_CODE", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Panic_with_status_code) .setCheck(Number); this.setPreviousStatement(true, null); // this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Panic_with_status_code); } }; const reset = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_micro); this.setPreviousStatement(true); // this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_micro); } }; const controls_for = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_WITH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('i'), 'VAR'); this.appendValueInput('FROM') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_FROM); this.appendValueInput('TO') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_TO); this.appendValueInput('STEP') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEP); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_TOOLTIP.replace('%1', thisBlock.getFieldValue('VAR')); }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const controls_whileUntil = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('BOOL') .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this.OPERATORS), 'MODE'); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('MODE'); var TOOLTIPS = { 'WHILE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE, 'UNTIL': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL }; return TOOLTIPS[op]; }); } }; controls_whileUntil.OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE, 'WHILE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL, 'UNTIL'] ]; const controls_flow_statements = { init: function () { this.setColour(LOOPS_HUE); var dropdown = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this.OPERATORS); this.appendDummyInput() .appendField(dropdown, 'FLOW') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP); this.setPreviousStatement(true); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('FLOW'); var TOOLTIPS = { 'BREAK': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK, 'CONTINUE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE }; return TOOLTIPS[op]; }); }, onchange: function () { if (!this.workspace) { // Block has been deleted. return; } var legal = false; // Is the block nested in a control statement? var block = this; do { if (block.type == 'controls_repeat' || block.type == 'controls_for' || block.type == 'controls_forEach' || block.type == 'controls_repeat_ext' || block.type == 'controls_whileUntil') { legal = true; break; } block = block.getSurroundParent(); } while (block); if (legal) { this.setWarningText(null); } else { this.setWarningText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING); } } }; controls_flow_statements.OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK, 'BREAK'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE, 'CONTINUE'] ]; const controls_millis = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RUNTIME); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "ms"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "us"]]), 'Time'); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RUNTIME); } }; const controls_if = { /** * Block for if/elseif/else condition. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); this.setColour(LOOPS_HUE); this.appendValueInput('IF0') .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_IF); this.appendStatementInput('DO0') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_THEN); this.setPreviousStatement(true); this.setNextStatement(true); this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['controls_if_elseif', 'controls_if_else'], this)); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { if (!thisBlock.elseifCount_ && !thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_1; } else if (!thisBlock.elseifCount_ && thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_2; } else if (thisBlock.elseifCount_ && !thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_3; } else if (thisBlock.elseifCount_ && thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_4; } return ''; }); this.elseifCount_ = 0; this.elseCount_ = 0; }, /** * Create XML to represent the number of else-if and else inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { if (!this.elseifCount_ && !this.elseCount_) { return null; } var container = document.createElement('mutation'); if (this.elseifCount_) { container.setAttribute('elseif', this.elseifCount_); } if (this.elseCount_) { container.setAttribute('else', 1); } return container; }, /** * Parse XML to restore the else-if and else inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var containerBlock = this; var valueConnections = []; var statementConnections = []; // var elseStatementConnection = null; if (this.elseCount_) { // if (containerBlock.getInputTargetBlock('ELSE') && containerBlock.getInputTargetBlock('ELSE').previousConnection) // elseStatementConnection = containerBlock.getInputTargetBlock('ELSE').previousConnection; this.removeInput('ELSE'); } for (var i = this.elseifCount_; i > 0; i--) { if (containerBlock.getInputTargetBlock('IF' + i) && containerBlock.getInputTargetBlock('IF' + i).previousConnection) valueConnections[i] = (containerBlock.getInputTargetBlock('IF' + i).previousConnection); else valueConnections[i] = null; this.removeInput('IF' + i); if (containerBlock.getInputTargetBlock('DO' + i) && containerBlock.getInputTargetBlock('DO' + i).previousConnection) statementConnections[i] = (containerBlock.getInputTargetBlock('DO' + i).previousConnection); else statementConnections[i] = null; this.removeInput('DO' + i); } this.elseifCount_ = parseInt(xmlElement.getAttribute('elseif'), 10); this.elseCount_ = parseInt(xmlElement.getAttribute('else'), 10); //this.compose(containerBlock); for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_ELSEIF); this.appendStatementInput('DO' + i) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_THEN); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_ELSE); } for (var i = valueConnections.length - 2; i > 0; i--) { if (valueConnections[i]) valueConnections[i].reconnect(this, 'IF' + i); } for (var i = statementConnections.length - 2; i > 0; i--) { if (statementConnections[i]) statementConnections[i].reconnect(this, 'DO' + i); } }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('controls_if_if'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 1; i <= this.elseifCount_; i++) { var elseifBlock = workspace.newBlock('controls_if_elseif'); elseifBlock.initSvg(); connection.connect(elseifBlock.previousConnection); connection = elseifBlock.nextConnection; } if (this.elseCount_) { var elseBlock = workspace.newBlock('controls_if_else'); elseBlock.initSvg(); connection.connect(elseBlock.previousConnection); } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { // Disconnect the else input blocks and remove the inputs. if (this.elseCount_) { this.removeInput('ELSE'); } this.elseCount_ = 0; // Disconnect all the elseif input blocks and remove the inputs. for (var i = this.elseifCount_; i > 0; i--) { this.removeInput('IF' + i); this.removeInput('DO' + i); } this.elseifCount_ = 0; // Rebuild the block's optional inputs. var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_if_elseif': this.elseifCount_++; valueConnections.push(clauseBlock.valueConnection_); statementConnections.push(clauseBlock.statementConnection_); break; case 'controls_if_else': this.elseCount_++; elseStatementConnection = clauseBlock.statementConnection_; break; default: throw Error('Unknown block type: ' + clauseBlock.type); } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } this.updateShape_(); // Reconnect any child blocks. this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var i = 1; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_if_elseif': var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); clauseBlock.valueConnection_ = inputIf && inputIf.connection.targetConnection; clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; i++; break; case 'controls_if_else': var inputDo = this.getInput('ELSE'); clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; break; default: throw 'Unknown block type.'; } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } }, /** * Reconstructs the block with all child blocks attached. */ rebuildShape_: function () { var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; if (this.getInput('ELSE')) { elseStatementConnection = this.getInput('ELSE').connection.targetConnection; } var i = 1; while (this.getInput('IF' + i)) { var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); console.log(inputIf.connection.targetConnection); valueConnections.push(inputIf.connection.targetConnection); statementConnections.push(inputDo.connection.targetConnection); i++; } this.updateShape_(); this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Modify this block to have the correct number of inputs. * @this Blockly.Block * @private */ updateShape_: function () { // Delete everything. if (this.getInput('ELSE')) { this.removeInput('ELSE'); } var i = 1; while (this.getInput('IF' + i)) { this.removeInput('IF' + i); this.removeInput('DO' + i); i++; } // Rebuild block. for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Number, Boolean]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_ELSEIF']); this.appendStatementInput('DO' + i) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_THEN']); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_ELSE']); } }, /** * Reconnects child blocks. * @param {!Array} valueConnections List of value * connectsions for if input. * @param {!Array} statementConnections List of * statement connections for do input. * @param {?Blockly.RenderedConnection} elseStatementConnection Statement * connection for else input. */ reconnectChildBlocks_: function (valueConnections, statementConnections, elseStatementConnection) { for (var i = 1; i <= this.elseifCount_; i++) { valueConnections[i] && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Mutator.reconnect(this, 'IF' + i); statementConnections[i] && statementConnections[i].reconnect(this, 'DO' + i); } elseStatementConnection && elseStatementConnection.reconnect(this, 'ELSE'); } }; const controls_if_if = { /** * Mutator block for if container. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_IF_TITLE_IF); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_IF_TOOLTIP); this.contextMenu = false; } }; const controls_if_elseif = { /** * Mutator bolck for else-if condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSEIF_TOOLTIP); this.contextMenu = false; } }; const controls_if_else = { /** * Mutator block for else condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSE_TITLE_ELSE); this.setPreviousStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSE_TOOLTIP); this.contextMenu = false; } }; const controls_end_program = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONTROL_END_PROGRAM); this.setPreviousStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONTROL_END_PROGRAM); } }; const controls_forEach = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('LIST') .setCheck(['List', String]) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOREACH_INPUT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOREACH_INPUT_ITEM) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('i'), 'VAR'); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_TOOLTIP.replace('%1', thisBlock.getFieldValue('VAR')); }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const raw_block = { // Container. init: function () { this.setColour(LOOPS_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendDummyInput() .appendField('Code Block:'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput('12345'), 'TEXT'); } }; const base_type = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput("DATA") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_PYTHON_TYPE); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_PYTHON_TYPE); } }; const controls_TypeLists = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, "int"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_FLOAT, "float"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING, "str"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, "list"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, "tuple"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, "dict"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, "set"], // [Blockly.Msg.MIXLY_MICROBIT_IMAGE,"image"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL, "NoneType"]]), "type"); //整数、浮点数、字符串、列表、元组、字典、集合、图像不太对, unfinished this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('type'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_controls_TypeLists; var TOOLTIPS = { 'int': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, 'float': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_FLOAT, 'str': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING, 'list': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, 'tuple': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, 'dict': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, 'set': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, 'image': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE, 'NoneType': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL }; return mode0 + TOOLTIPS[mode]; }); } }; const controls_uname = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME); } }; /***/ }), /***/ "../micropython/blocks/display.js": /*!****************************************!*\ !*** ../micropython/blocks/display.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ display_animate: () => (/* binding */ display_animate), /* harmony export */ display_blink_rate: () => (/* binding */ display_blink_rate), /* harmony export */ display_bright_point: () => (/* binding */ display_bright_point), /* harmony export */ display_bright_screen: () => (/* binding */ display_bright_screen), /* harmony export */ display_circle: () => (/* binding */ display_circle), /* harmony export */ display_clear: () => (/* binding */ display_clear), /* harmony export */ display_draw_4strings: () => (/* binding */ display_draw_4strings), /* harmony export */ display_fill: () => (/* binding */ display_fill), /* harmony export */ display_get_pixel: () => (/* binding */ display_get_pixel), /* harmony export */ display_get_screen_image: () => (/* binding */ display_get_screen_image), /* harmony export */ display_get_screen_pixel: () => (/* binding */ display_get_screen_pixel), /* harmony export */ display_help: () => (/* binding */ display_help), /* harmony export */ display_image_builtins: () => (/* binding */ display_image_builtins), /* harmony export */ display_image_create: () => (/* binding */ display_image_create), /* harmony export */ display_image_size: () => (/* binding */ display_image_size), /* harmony export */ display_line: () => (/* binding */ display_line), /* harmony export */ display_line_arbitrarily: () => (/* binding */ display_line_arbitrarily), /* harmony export */ display_matrix_use_i2c_init: () => (/* binding */ display_matrix_use_i2c_init), /* harmony export */ display_oled_drawPixel: () => (/* binding */ display_oled_drawPixel), /* harmony export */ display_oled_showBitmap: () => (/* binding */ display_oled_showBitmap), /* harmony export */ display_onoff: () => (/* binding */ display_onoff), /* harmony export */ display_rect: () => (/* binding */ display_rect), /* harmony export */ display_rgb_color: () => (/* binding */ display_rgb_color), /* harmony export */ display_scroll_string: () => (/* binding */ display_scroll_string), /* harmony export */ display_scroll_string_delay: () => (/* binding */ display_scroll_string_delay), /* harmony export */ display_scroll_string_extern: () => (/* binding */ display_scroll_string_extern), /* harmony export */ display_show_image: () => (/* binding */ display_show_image), /* harmony export */ display_show_image_or_string: () => (/* binding */ display_show_image_or_string), /* harmony export */ display_show_image_or_string_delay: () => (/* binding */ display_show_image_or_string_delay), /* harmony export */ display_show_static: () => (/* binding */ display_show_static), /* harmony export */ display_tm1650_power: () => (/* binding */ display_tm1650_power), /* harmony export */ display_tm1650_show_dot: () => (/* binding */ display_tm1650_show_dot), /* harmony export */ display_tm1650_show_num: () => (/* binding */ display_tm1650_show_num), /* harmony export */ display_tm_use_i2c_init: () => (/* binding */ display_tm_use_i2c_init), /* harmony export */ display_triangle: () => (/* binding */ display_triangle), /* harmony export */ display_use_i2c_init: () => (/* binding */ display_use_i2c_init), /* harmony export */ esp32_display_is_on: () => (/* binding */ esp32_display_is_on), /* harmony export */ esp32_display_off: () => (/* binding */ esp32_display_off), /* harmony export */ esp32_display_on: () => (/* binding */ esp32_display_on), /* harmony export */ esp32_display_scroll: () => (/* binding */ esp32_display_scroll), /* harmony export */ esp32_display_show_animation: () => (/* binding */ esp32_display_show_animation), /* harmony export */ esp32_display_show_default_image: () => (/* binding */ esp32_display_show_default_image), /* harmony export */ esp32_display_show_string: () => (/* binding */ esp32_display_show_string), /* harmony export */ group_lcd_init: () => (/* binding */ group_lcd_init), /* harmony export */ group_lcd_power: () => (/* binding */ group_lcd_power), /* harmony export */ group_lcd_print: () => (/* binding */ group_lcd_print), /* harmony export */ group_lcd_print2: () => (/* binding */ group_lcd_print2), /* harmony export */ image_arithmetic: () => (/* binding */ image_arithmetic), /* harmony export */ image_shift: () => (/* binding */ image_shift), /* harmony export */ microbit_display_show_image: () => (/* binding */ microbit_display_show_image), /* harmony export */ monitor_show_scroll_string: () => (/* binding */ monitor_show_scroll_string), /* harmony export */ monitor_show_string: () => (/* binding */ monitor_show_string) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const DISPLAY_HUE = 180; const FIELD_COLOUR_CONFIG = { colourOptions: ['#f00', '#000'], columns: 2 }; //var IMG = [["HEART", "HEART"],["HEART_SMALL", "HEART_SMALL"],["HAPPY", "HAPPY"],["SAD", "SAD"],["SMILE", "SMILE"],["SILLY", "SILLY"],["FABULOUS", "FABULOUS"],["SURPRISED", "SURPRISED"],["ASLEEP", "ASLEEP"],["ANGRY", "ANGRY"],["CONFUSED", "CONFUSED"],["NO", "NO"],["YES", "YES"],["LEFT_ARROW", "LEFT_ARROW"],["RIGHT_ARROW", "RIGHT_ARROW"],["DRESS", "DRESS"],["TRANSFORMERS", "TRANSFORMERS"],["SCISSORS", "SCISSORS"],["EXIT", "EXIT"],["TREE", "TREE"],["PACMAN", "PACMAN"],["TARGET", "TARGET"],["TSHIRT", "TSHIRT"],["ROLLERSKATE", "ROLLERSKATE"],["DUCK", "DUCK"],["HOUSE", "HOUSE"],["TORTOISE", "TORTOISE"],["BUTTERFLY", "BUTTERFLY"],["STICKFIGURE", "STICKFIGURE"],["GHOST", "GHOST"],["PITCHFORK", "PITCHFORK"],["MUSIC_QUAVERS", "MUSIC_QUAVERS"],["MUSIC_QUAVER", "MUSIC_QUAVER"],["MUSIC_CROTCHET", "MUSIC_CROTCHET"],["COW", "COW"],["RABBIT", "RABBIT"],["SQUARE_SMALL", "SQUARE_SMALL"],["SQUARE", "SQUARE"],["DIAMOND_SMALL", "DIAMOND_SMALL"],["DIAMOND", "DIAMOND"],["CHESSBOARD", "CHESSBOARD"],["TRIANGLE_LEFT", "TRIANGLE_LEFT"],["TRIANGLE", "TRIANGLE"],["SNAKE", "SNAKE"],["UMBRELLA", "UMBRELLA"],["SKULL", "SKULL"],["GIRAFFE", "GIRAFFE"],["SWORD", "SWORD"]]; const display_clear = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display }); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const display_get_pixel = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS); } }; const display_bright_point = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput("STAT") .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const monitor_show_string = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck(String) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'show'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SCROLL, 'scroll']]), "MODE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR; var TOOLTIPS = { 'show': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'scroll': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING }; return TOOLTIPS[mode] + mode0; }); } }; const monitor_show_scroll_string = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck(String) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'show'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SCROLL, 'scroll']]), "MODE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("time") .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR; var TOOLTIPS = { 'show': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'scroll': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING }; return TOOLTIPS[mode] + mode0; }); } }; const display_show_static = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC); } }; const microbit_display_show_image = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('PIN', String) .setCheck("esp32_image") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); } }; const esp32_display_show_default_image = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "InputsInline": true, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show", "tooltip": "Show the referenced image on the display.", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP, "args0": [{ "name": "image", "options": [["HEART", "HEART"], ["HEART_SMALL", "HEART_SMALL"], ["HAPPY", "HAPPY"], ["SAD", "SAD"], ["SMILE", "SMILE"], ["SILLY", "SILLY"], ["FABULOUS", "FABULOUS"], ["SURPRISED", "SURPRISED"], ["ASLEEP", "ASLEEP"], ["ANGRY", "ANGRY"], ["CONFUSED", "CONFUSED"], ["NO", "NO"], ["YES", "YES"], ["LEFT_ARROW", "LEFT_ARROW"], ["RIGHT_ARROW", "RIGHT_ARROW"], ["DRESS", "DRESS"], ["TRANSFORMERS", "TRANSFORMERS"], ["SCISSORS", "SCISSORS"], ["EXIT", "EXIT"], ["TREE", "TREE"], ["PACMAN", "PACMAN"], ["TARGET", "TARGET"], ["TSHIRT", "TSHIRT"], ["ROLLERSKATE", "ROLLERSKATE"], ["DUCK", "DUCK"], ["HOUSE", "HOUSE"], ["TORTOISE", "TORTOISE"], ["BUTTERFLY", "BUTTERFLY"], ["STICKFIGURE", "STICKFIGURE"], ["GHOST", "GHOST"], ["PITCHFORK", "PITCHFORK"], ["MUSIC_QUAVERS", "MUSIC_QUAVERS"], ["MUSIC_QUAVER", "MUSIC_QUAVER"], ["MUSIC_CROTCHET", "MUSIC_CROTCHET"], ["COW", "COW"], ["RABBIT", "RABBIT"], ["SQUARE_SMALL", "SQUARE_SMALL"], ["SQUARE", "SQUARE"], ["DIAMOND_SMALL", "DIAMOND_SMALL"], ["DIAMOND", "DIAMOND"], ["CHESSBOARD", "CHESSBOARD"], ["TRIANGLE_LEFT", "TRIANGLE_LEFT"], ["TRIANGLE", "TRIANGLE"], ["SNAKE", "SNAKE"], ["UMBRELLA", "UMBRELLA"], ["SKULL", "SKULL"], ["GIRAFFE", "GIRAFFE"], ["SWORD", "SWORD"]], "type": "field_dropdown" } ] }); } }; const esp32_display_show_animation = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "inputsInline": true, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Animate_images, "args0": [{ "check": "List", "type": "input_value", "name": "images" }, { "type": "input_value", "name": "delay" }, { "type": "input_dummy" }, { "checked": true, "type": "field_checkbox", "name": "wait" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "loop" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "clear" } ] }); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Animate_images1); } }; const esp32_display_scroll = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll", "tooltip": "Scroll the referenced text across the display.", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Scroll_message, "args0": [{ "check": "String", "type": "input_value", "name": "message" } ] }); } }; const esp32_display_on = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display, 'on'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display, 'off']]), 'on_off') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_monitor); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('on_off'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_monitor; var TOOLTIPS = { 'on': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display, 'off': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display }; return TOOLTIPS[mode] + mode0; }); } }; const esp32_display_off = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off", "tooltip": "Turn off the display.", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display }); } }; const esp32_display_is_on = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "output": "Boolean", "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Display_is_on }); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Display_is_on1); } }; const display_image_builtins = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "args0": [{ "name": "image", "options": [["HEART", "HEART"], ["HEART_SMALL", "HEART_SMALL"], ["HAPPY", "HAPPY"], ["SAD", "SAD"], ["SMILE", "SMILE"], ["SILLY", "SILLY"], ["FABULOUS", "FABULOUS"], ["SURPRISED", "SURPRISED"], ["ASLEEP", "ASLEEP"], ["ANGRY", "ANGRY"], ["CONFUSED", "CONFUSED"], ["NO", "NO"], ["YES", "YES"], ["LEFT_ARROW", "LEFT_ARROW"], ["RIGHT_ARROW", "RIGHT_ARROW"], ["DRESS", "DRESS"], ["TRANSFORMERS", "TRANSFORMERS"], ["SCISSORS", "SCISSORS"], ["EXIT", "EXIT"], ["TREE", "TREE"], ["PACMAN", "PACMAN"], ["TARGET", "TARGET"], ["TSHIRT", "TSHIRT"], ["ROLLERSKATE", "ROLLERSKATE"], ["DUCK", "DUCK"], ["HOUSE", "HOUSE"], ["TORTOISE", "TORTOISE"], ["BUTTERFLY", "BUTTERFLY"], ["STICKFIGURE", "STICKFIGURE"], ["GHOST", "GHOST"], ["PITCHFORK", "PITCHFORK"], ["MUSIC_QUAVERS", "MUSIC_QUAVERS"], ["MUSIC_QUAVER", "MUSIC_QUAVER"], ["MUSIC_CROTCHET", "MUSIC_CROTCHET"], ["COW", "COW"], ["RABBIT", "RABBIT"], ["SQUARE_SMALL", "SQUARE_SMALL"], ["SQUARE", "SQUARE"], ["DIAMOND_SMALL", "DIAMOND_SMALL"], ["DIAMOND", "DIAMOND"], ["CHESSBOARD", "CHESSBOARD"], ["TRIANGLE_LEFT", "TRIANGLE_LEFT"], ["TRIANGLE", "TRIANGLE"], ["SNAKE", "SNAKE"], ["UMBRELLA", "UMBRELLA"], ["SKULL", "SKULL"], ["GIRAFFE", "GIRAFFE"], ["SWORD", "SWORD"]], "type": "field_dropdown" } ], "output": ["esp32_image", "List"], "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes", "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image1, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image }); } }; const display_image_create = { init: function () { this.jsonInit({ "colour": DISPLAY_HUE, "args0": [{ "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "00" }, { "colour": "#000000", "type": "field_colour", "name": "01" }, { "colour": "#000000", "type": "field_colour", "name": "02" }, { "colour": "#000000", "type": "field_colour", "name": "03" }, { "colour": "#000000", "type": "field_colour", "name": "04" }, { "colour": "#000000", "type": "field_colour", "name": "05" }, { "colour": "#000000", "type": "field_colour", "name": "06" }, { "colour": "#000000", "type": "field_colour", "name": "07" }, { "colour": "#000000", "type": "field_colour", "name": "08" }, { "colour": "#000000", "type": "field_colour", "name": "09" }, { "colour": "#000000", "type": "field_colour", "name": "0a" }, { "colour": "#000000", "type": "field_colour", "name": "0b" }, { "colour": "#000000", "type": "field_colour", "name": "0c" }, { "colour": "#000000", "type": "field_colour", "name": "0d" }, { "colour": "#000000", "type": "field_colour", "name": "0e" }, { "colour": "#000000", "type": "field_colour", "name": "0f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "10" }, { "colour": "#000000", "type": "field_colour", "name": "11" }, { "colour": "#000000", "type": "field_colour", "name": "12" }, { "colour": "#000000", "type": "field_colour", "name": "13" }, { "colour": "#000000", "type": "field_colour", "name": "14" }, { "colour": "#000000", "type": "field_colour", "name": "15" }, { "colour": "#000000", "type": "field_colour", "name": "16" }, { "colour": "#000000", "type": "field_colour", "name": "17" }, { "colour": "#000000", "type": "field_colour", "name": "18" }, { "colour": "#000000", "type": "field_colour", "name": "19" }, { "colour": "#000000", "type": "field_colour", "name": "1a" }, { "colour": "#000000", "type": "field_colour", "name": "1b" }, { "colour": "#000000", "type": "field_colour", "name": "1c" }, { "colour": "#000000", "type": "field_colour", "name": "1d" }, { "colour": "#000000", "type": "field_colour", "name": "1e" }, { "colour": "#000000", "type": "field_colour", "name": "1f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "20" }, { "colour": "#000000", "type": "field_colour", "name": "21" }, { "colour": "#000000", "type": "field_colour", "name": "22" }, { "colour": "#000000", "type": "field_colour", "name": "23" }, { "colour": "#000000", "type": "field_colour", "name": "24" }, { "colour": "#000000", "type": "field_colour", "name": "25" }, { "colour": "#000000", "type": "field_colour", "name": "26" }, { "colour": "#000000", "type": "field_colour", "name": "27" }, { "colour": "#000000", "type": "field_colour", "name": "28" }, { "colour": "#000000", "type": "field_colour", "name": "29" }, { "colour": "#000000", "type": "field_colour", "name": "2a" }, { "colour": "#000000", "type": "field_colour", "name": "2b" }, { "colour": "#000000", "type": "field_colour", "name": "2c" }, { "colour": "#000000", "type": "field_colour", "name": "2d" }, { "colour": "#000000", "type": "field_colour", "name": "2e" }, { "colour": "#000000", "type": "field_colour", "name": "2f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "30" }, { "colour": "#000000", "type": "field_colour", "name": "31" }, { "colour": "#000000", "type": "field_colour", "name": "32" }, { "colour": "#000000", "type": "field_colour", "name": "33" }, { "colour": "#000000", "type": "field_colour", "name": "34" }, { "colour": "#000000", "type": "field_colour", "name": "35" }, { "colour": "#000000", "type": "field_colour", "name": "36" }, { "colour": "#000000", "type": "field_colour", "name": "37" }, { "colour": "#000000", "type": "field_colour", "name": "38" }, { "colour": "#000000", "type": "field_colour", "name": "39" }, { "colour": "#000000", "type": "field_colour", "name": "3a" }, { "colour": "#000000", "type": "field_colour", "name": "3b" }, { "colour": "#000000", "type": "field_colour", "name": "3c" }, { "colour": "#000000", "type": "field_colour", "name": "3d" }, { "colour": "#000000", "type": "field_colour", "name": "3e" }, { "colour": "#000000", "type": "field_colour", "name": "3f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "40" }, { "colour": "#000000", "type": "field_colour", "name": "41" }, { "colour": "#000000", "type": "field_colour", "name": "42" }, { "colour": "#000000", "type": "field_colour", "name": "43" }, { "colour": "#000000", "type": "field_colour", "name": "44" }, { "colour": "#000000", "type": "field_colour", "name": "45" }, { "colour": "#000000", "type": "field_colour", "name": "46" }, { "colour": "#000000", "type": "field_colour", "name": "47" }, { "colour": "#000000", "type": "field_colour", "name": "48" }, { "colour": "#000000", "type": "field_colour", "name": "49" }, { "colour": "#000000", "type": "field_colour", "name": "4a" }, { "colour": "#000000", "type": "field_colour", "name": "4b" }, { "colour": "#000000", "type": "field_colour", "name": "4c" }, { "colour": "#000000", "type": "field_colour", "name": "4d" }, { "colour": "#000000", "type": "field_colour", "name": "4e" }, { "colour": "#000000", "type": "field_colour", "name": "4f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "50" }, { "colour": "#000000", "type": "field_colour", "name": "51" }, { "colour": "#000000", "type": "field_colour", "name": "52" }, { "colour": "#000000", "type": "field_colour", "name": "53" }, { "colour": "#000000", "type": "field_colour", "name": "54" }, { "colour": "#000000", "type": "field_colour", "name": "55" }, { "colour": "#000000", "type": "field_colour", "name": "56" }, { "colour": "#000000", "type": "field_colour", "name": "57" }, { "colour": "#000000", "type": "field_colour", "name": "58" }, { "colour": "#000000", "type": "field_colour", "name": "59" }, { "colour": "#000000", "type": "field_colour", "name": "5a" }, { "colour": "#000000", "type": "field_colour", "name": "5b" }, { "colour": "#000000", "type": "field_colour", "name": "5c" }, { "colour": "#000000", "type": "field_colour", "name": "5d" }, { "colour": "#000000", "type": "field_colour", "name": "5e" }, { "colour": "#000000", "type": "field_colour", "name": "5f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "60" }, { "colour": "#000000", "type": "field_colour", "name": "61" }, { "colour": "#000000", "type": "field_colour", "name": "62" }, { "colour": "#000000", "type": "field_colour", "name": "63" }, { "colour": "#000000", "type": "field_colour", "name": "64" }, { "colour": "#000000", "type": "field_colour", "name": "65" }, { "colour": "#000000", "type": "field_colour", "name": "66" }, { "colour": "#000000", "type": "field_colour", "name": "67" }, { "colour": "#000000", "type": "field_colour", "name": "68" }, { "colour": "#000000", "type": "field_colour", "name": "69" }, { "colour": "#000000", "type": "field_colour", "name": "6a" }, { "colour": "#000000", "type": "field_colour", "name": "6b" }, { "colour": "#000000", "type": "field_colour", "name": "6c" }, { "colour": "#000000", "type": "field_colour", "name": "6d" }, { "colour": "#000000", "type": "field_colour", "name": "6e" }, { "colour": "#000000", "type": "field_colour", "name": "6f" }, { "type": "input_dummy" }, { "colour": "#000000", "type": "field_colour", "name": "70" }, { "colour": "#000000", "type": "field_colour", "name": "71" }, { "colour": "#000000", "type": "field_colour", "name": "72" }, { "colour": "#000000", "type": "field_colour", "name": "73" }, { "colour": "#000000", "type": "field_colour", "name": "74" }, { "colour": "#000000", "type": "field_colour", "name": "75" }, { "colour": "#000000", "type": "field_colour", "name": "76" }, { "colour": "#000000", "type": "field_colour", "name": "77" }, { "colour": "#000000", "type": "field_colour", "name": "78" }, { "colour": "#000000", "type": "field_colour", "name": "79" }, { "colour": "#000000", "type": "field_colour", "name": "7a" }, { "colour": "#000000", "type": "field_colour", "name": "7b" }, { "colour": "#000000", "type": "field_colour", "name": "7c" }, { "colour": "#000000", "type": "field_colour", "name": "7d" }, { "colour": "#000000", "type": "field_colour", "name": "7e" }, { "colour": "#000000", "type": "field_colour", "name": "7f" } ], "output": "esp32_image", "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_Create_image }); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const image_shift = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'up'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'down'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'left'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'right'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(DISPLAY_HUE); this.setOutput(true); this.setInputsInline(true); this.appendValueInput('img') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET) .setCheck(["esp32_image", "List", String]); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.appendValueInput('val') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_SHIFT) .setCheck(Number); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_UNIT) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET3; var TOOLTIPS = { 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT }; return mode0 + mode1 + TOOLTIPS[mode] + mode2; }); } }; const image_arithmetic = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_UNION, '+'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MINUS, '-'] ]; //this.setHelpUrl(Blockly.Msg.MATH_ARITHMETIC_HELPURL); this.setColour(DISPLAY_HUE); this.setOutput(true, "esp32_image"); this.appendValueInput('A') // .setCheck(["esp32_image", "List", String]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MERGE_SHAPE); this.appendValueInput('B') // .setCheck(["esp32_image", "List", String]) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { '+': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_add, '-': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_reduce }; return TOOLTIPS[mode]; }); } }; const esp32_display_show_string = { init: function () { this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'show'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING, 'scroll']]), "MODE"); this.jsonInit({ "colour": DISPLAY_HUE, "inputsInline": true, "nextStatement": null, "previousStatement": null, "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show", "tooltip": "Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.", "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_STRING, "args0": [{ "check": String, "type": "input_value", "name": "images" }, { "type": "input_value", "name": "delay" }, { "type": "input_dummy" }, { "checked": true, "type": "field_checkbox", "name": "wait" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "loop" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "clear" } ] }); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay; var TOOLTIPS = { 'show': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR_ONE_BY_ONE, 'scroll': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING }; return mode1 + TOOLTIPS[mode] + mode0; }); } }; // export const esp32_display_scroll_string = { // init : function () { // this.jsonInit({ // "colour" : DISPLAY_HUE, // "inputsInline": true, // "nextStatement" : null, // "previousStatement" : null, // "helpUrl" : "https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show", // "tooltip" : "Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.", // "message0" : Blockly.Msg.MIXLY_MICROBIT_Scroll_string, // "args0" : [{ // "check" : String, // "type" : "input_value", // "name" : "images" // }, { // "type" : "input_value", // "name" : "delay" // }, { // "type" : "input_dummy" // }, { // "checked" : true, // "type" : "field_checkbox", // "name" : "wait" // }, { // "type" : "input_dummy" // }, { // "checked" : false, // "type" : "field_checkbox", // "name" : "loop" // }, { // "type" : "input_dummy" // }, { // "checked" : false, // "type" : "field_checkbox", // "name" : "clear" // } // ] // }); // } // }; const group_lcd_print = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput("TEXT", String) .setCheck([String, Number]) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD) .appendField('mylcd') //.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_PRINT1); this.appendValueInput("TEXT2", String) .setCheck([String, Number]) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_PRINT2); /* this.appendValueInput("TEXT3", String) .setCheck([String,Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT3); this.appendValueInput("TEXT4", String) .setCheck([String,Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT4); */ this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_PRINT4_TOOLTIP); } }; const group_lcd_init = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('device') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD) .appendField('1602') .appendField('mylcd') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_ADDRESS); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_ADDRESS); } }; const group_lcd_print2 = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput("row", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD) .appendField('mylcd') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_ROW); this.appendValueInput("column", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_COLUMN); this.appendValueInput("TEXT", String) .setCheck([String, Number]) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_PRINT); this.setPreviousStatement(true, null); this.setInputsInline(true); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_PRINT3_TOOLTIP); } }; const group_lcd_power = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD) .appendField('mylcd') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ON, "on()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OFF, "off()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "clear()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_NOBACKLIGHT, "backlight(off)"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_BACKLIGHT, "backlight(on)"]]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('STAT'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD; var TOOLTIPS = { 'on()': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ON, 'off()': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OFF, 'clear()': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, 'backlight(off)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_NOBACKLIGHT, 'backlight(on)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_BACKLIGHT }; return mode0 + mode1 + TOOLTIPS[mode]; }); } }; // export const oled_init = { // init: function() { // this.setColour(DISPLAY_HUE); // this.appendValueInput('VAR') // .appendField(Blockly.Msg.OLED) // .setCheck("var"); // this.appendValueInput("RX", Number) // //.appendField(Blockly.Msg.MIXLY_SETUP) // // .appendField(Blockly.Msg.OLED) // // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("sda") // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT); // this.appendValueInput("TX", Number) // .appendField("scl") // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT); // this.appendValueInput('freq') // .setCheck(Number) // .appendField(Blockly.Msg.MIXLY_FREQUENCY) // .setAlign(Blockly.inputs.Align.RIGHT); // this.setPreviousStatement(true, null); // this.setNextStatement(true, null); // this.setInputsInline(true); // } // }; const display_use_i2c_init = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + "OLED") // .appendField(new Blockly.FieldDropdown([ // ["OLED 128¡Á64", "OLED 128¡Á64"] // ]), "key"); this.appendValueInput('row') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO + "OLED") .setCheck(Number); this.appendValueInput('column') .appendField("X") .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(); } }; const display_draw_4strings = { init: function () { // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') // .appendField(Blockly.Msg.OLEDDISPLAY); //.appendField(new Blockly.FieldImage(Blockly.pathToBlockly + 'blocks/display-oled-128x64-i2c/display-oled-128x64-i2c.jpg', Blockly.Arduino.imageSize, Blockly.Arduino.imageSize)); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendValueInput("Text_line1", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLEDDISPLAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line1); this.appendValueInput("Text_line2", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line2); this.appendValueInput("Text_line3", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line3); this.appendValueInput("Text_line4", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line4); this.setInputsInline(false); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(DISPLAY_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLEDDISPLAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING); } }; const display_image_size = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT, 'height'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH, 'width'] ]; this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE); this.appendValueInput('VAR') .setCheck("esp32_image") // .appendField(Blockly.Msg.blockpy_USE_LIST); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE var TOOLTIPS = { 'height': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT, 'width': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH, }; return mode0 + mode1 + TOOLTIPS[mode]; }); } }; const display_rect = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_RECT, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "width" }, { "check": Number, "type": "input_value", "name": "height" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_RECT); } }; const display_line = { init: function () { this.setColour(DISPLAY_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_RLINE, "hline"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_VLINE, "vline"]]), "direction"); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_LINE, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "length" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_LINE); } }; const display_line_arbitrarily = { init: function () { this.setColour(DISPLAY_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY, "args0": [{ "check": Number, "type": "input_value", "name": "x1" }, { "check": Number, "type": "input_value", "name": "y1" }, { "check": Number, "type": "input_value", "name": "x2" }, { "check": Number, "type": "input_value", "name": "y2" }, ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_LINE_ARBIT); } } const display_get_screen_pixel = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); } }; const display_get_screen_image = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE); this.setInputsInline(true); this.setOutput(true, "esp32_image"); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP); } }; const display_bright_screen = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS); } }; const display_blink_rate = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE); } }; const display_rgb_color = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#f00', null, FIELD_COLOUR_CONFIG), 'FIELDNAME'); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B); } }; const display_show_image_or_string = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const display_scroll_string = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const display_scroll_string_delay = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const display_onoff = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ON, "ON"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OFF, "OFF"]]), 'ONOFF') this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; // export const switch = { // init: function () { // this.setColour(DISPLAY_HUE); // this.appendDummyInput("") // .appendField(new Blockly.FieldDropdown([ // [Blockly.Msg.MIXLY_ESP32_ON, "1"], // [Blockly.Msg.MIXLY_ESP32_OFF, "0"] // ]), "flag"); // this.setOutput(true); // this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); // } // }; const display_fill = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('SUB'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL, "1"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { '0': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, '1': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + TOOLTIPS[mode]; }); } }; const display_tm_use_i2c_init = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ // ["MPU9250", "MPU9250"], // ["TM1637", "TM1637"], ["TM1650", "TM1650"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP; var TOOLTIPS = { // "MPU9250": "MPU9250", // "TM1637": "TM1637", "TM1650": "TM1650" }; return mode0 + TOOLTIPS[mode] }); } }; const display_tm1650_power = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ON, "_on"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OFF, "_off"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "_clear"]]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_4digitdisplay_power); } }; const display_tm1650_show_num = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendValueInput("VALUE") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); // this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString); } }; const display_tm1650_show_dot = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendValueInput("NO") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER1) this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_DOT) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot); } }; const display_animate = { init: function () { var ANIMATE = [ ["ALL_CLOCKS", 'ALL_CLOCKS'], ["ALL_ARROWS", 'ALL_ARROWS'] ]; this.setColour(DISPLAY_HUE); this.setOutput(true, 'Tuple'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_ANIMATE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(ANIMATE), 'ANIMATION') //this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP); } }; const display_circle = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_SHOW_CIRCLE, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "r" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE); } }; const display_triangle = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_DRAW_TRIANGLE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_SHOW_triangle, "args0": [{ "check": Number, "type": "input_value", "name": "x0" }, { "check": Number, "type": "input_value", "name": "y0" }, { "check": Number, "type": "input_value", "name": "x1" }, { "check": Number, "type": "input_value", "name": "y1" }, { "check": Number, "type": "input_value", "name": "x2" }, { "check": Number, "type": "input_value", "name": "y2" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_DRAW_TRIANGLE); } }; const display_help = { init: function () { this.setColour('#555555'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_ONBOARDDISPLAY_HELP); this.setInputsInline(true); this.setTooltip(''); } }; //显示-OLED-显示图像 const display_oled_showBitmap = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("START_X", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_START_X) .setCheck(Number); this.appendValueInput("START_Y", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_START_Y) .setCheck(Number); this.appendValueInput("bitmap_name", String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_NAME); this.appendValueInput("WIDTH", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH) .setCheck(Number); this.appendValueInput("HEIGHT", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_SHOW_BMP_TOOLTIP); } }; //显示-OLED-画点 const display_oled_drawPixel = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWPIXEL); this.appendValueInput("POS_X") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_POSX) this.appendValueInput("POS_Y") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_POSY) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAW_PIXE_TOOLTIP); } }; //pe: const display_matrix_use_i2c_init = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["32x12 Matrix", "32x12 Matrix"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const display_show_image = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('SUB') this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const display_scroll_string_extern = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('SUB'); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; /***/ }), /***/ "../micropython/blocks/display_extern.js": /*!***********************************************!*\ !*** ../micropython/blocks/display_extern.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ display_animate: () => (/* binding */ display_animate), /* harmony export */ display_blink_rate: () => (/* binding */ display_blink_rate), /* harmony export */ display_circle: () => (/* binding */ display_circle), /* harmony export */ display_color_seclet: () => (/* binding */ display_color_seclet), /* harmony export */ display_draw_4strings: () => (/* binding */ display_draw_4strings), /* harmony export */ display_fill: () => (/* binding */ display_fill), /* harmony export */ display_get_screen_image: () => (/* binding */ display_get_screen_image), /* harmony export */ display_help: () => (/* binding */ display_help), /* harmony export */ display_image_size: () => (/* binding */ display_image_size), /* harmony export */ display_lcd_use_i2c_init: () => (/* binding */ display_lcd_use_i2c_init), /* harmony export */ display_line: () => (/* binding */ display_line), /* harmony export */ display_line_arbitrarily: () => (/* binding */ display_line_arbitrarily), /* harmony export */ display_matrix_extern_bright_point: () => (/* binding */ display_matrix_extern_bright_point), /* harmony export */ display_matrix_extern_bright_screen: () => (/* binding */ display_matrix_extern_bright_screen), /* harmony export */ display_matrix_extern_clear: () => (/* binding */ display_matrix_extern_clear), /* harmony export */ display_matrix_extern_get_pixel: () => (/* binding */ display_matrix_extern_get_pixel), /* harmony export */ display_matrix_extern_get_screen_pixel: () => (/* binding */ display_matrix_extern_get_screen_pixel), /* harmony export */ display_matrix_extern_image_builtins: () => (/* binding */ display_matrix_extern_image_builtins), /* harmony export */ display_matrix_extern_scroll_string: () => (/* binding */ display_matrix_extern_scroll_string), /* harmony export */ display_matrix_extern_scroll_string_delay: () => (/* binding */ display_matrix_extern_scroll_string_delay), /* harmony export */ display_matrix_extern_shift: () => (/* binding */ display_matrix_extern_shift), /* harmony export */ display_matrix_extern_show_frame_string: () => (/* binding */ display_matrix_extern_show_frame_string), /* harmony export */ display_matrix_extern_show_frame_string_delay: () => (/* binding */ display_matrix_extern_show_frame_string_delay), /* harmony export */ display_matrix_extern_show_image: () => (/* binding */ display_matrix_extern_show_image), /* harmony export */ display_matrix_extern_show_image_or_string_delay: () => (/* binding */ display_matrix_extern_show_image_or_string_delay), /* harmony export */ display_matrix_use_i2c_init: () => (/* binding */ display_matrix_use_i2c_init), /* harmony export */ display_oled_drawPixel: () => (/* binding */ display_oled_drawPixel), /* harmony export */ display_oled_showBitmap: () => (/* binding */ display_oled_showBitmap), /* harmony export */ display_oled_use_i2c_init: () => (/* binding */ display_oled_use_i2c_init), /* harmony export */ display_onoff: () => (/* binding */ display_onoff), /* harmony export */ display_rect: () => (/* binding */ display_rect), /* harmony export */ display_rgb_color: () => (/* binding */ display_rgb_color), /* harmony export */ display_tm1650_power: () => (/* binding */ display_tm1650_power), /* harmony export */ display_tm1650_set_brightness: () => (/* binding */ display_tm1650_set_brightness), /* harmony export */ display_tm1650_show_dot: () => (/* binding */ display_tm1650_show_dot), /* harmony export */ display_tm1650_show_num: () => (/* binding */ display_tm1650_show_num), /* harmony export */ display_tm_use_i2c_init: () => (/* binding */ display_tm_use_i2c_init), /* harmony export */ display_triangle: () => (/* binding */ display_triangle), /* harmony export */ display_use_i2c_init: () => (/* binding */ display_use_i2c_init), /* harmony export */ extern_oled_bright_point: () => (/* binding */ extern_oled_bright_point), /* harmony export */ extern_oled_clear: () => (/* binding */ extern_oled_clear), /* harmony export */ extern_oled_get_pixel: () => (/* binding */ extern_oled_get_pixel), /* harmony export */ extern_oled_hvline: () => (/* binding */ extern_oled_hvline), /* harmony export */ extern_oled_line: () => (/* binding */ extern_oled_line), /* harmony export */ extern_oled_scroll_string: () => (/* binding */ extern_oled_scroll_string), /* harmony export */ extern_oled_scroll_string_delay: () => (/* binding */ extern_oled_scroll_string_delay), /* harmony export */ extern_oled_shape_rect: () => (/* binding */ extern_oled_shape_rect), /* harmony export */ extern_oled_shift: () => (/* binding */ extern_oled_shift), /* harmony export */ extern_oled_show_frame_string: () => (/* binding */ extern_oled_show_frame_string), /* harmony export */ extern_oled_show_frame_string_delay: () => (/* binding */ extern_oled_show_frame_string_delay), /* harmony export */ extern_oled_show_image: () => (/* binding */ extern_oled_show_image), /* harmony export */ extern_oled_show_image_or_string_delay: () => (/* binding */ extern_oled_show_image_or_string_delay), /* harmony export */ extern_oled_show_image_xy: () => (/* binding */ extern_oled_show_image_xy), /* harmony export */ extern_oled_show_string: () => (/* binding */ extern_oled_show_string), /* harmony export */ lcd_backlight: () => (/* binding */ lcd_backlight), /* harmony export */ lcd_clear: () => (/* binding */ lcd_clear), /* harmony export */ lcd_print_string: () => (/* binding */ lcd_print_string), /* harmony export */ lcd_show_image_or_string_delay: () => (/* binding */ lcd_show_image_or_string_delay), /* harmony export */ matrix_extern_image_arithmetic: () => (/* binding */ matrix_extern_image_arithmetic), /* harmony export */ matrix_extern_image_invert: () => (/* binding */ matrix_extern_image_invert), /* harmony export */ tft_fill: () => (/* binding */ tft_fill), /* harmony export */ tft_line_arbitrarily: () => (/* binding */ tft_line_arbitrarily), /* harmony export */ tft_scroll_string_delay: () => (/* binding */ tft_scroll_string_delay), /* harmony export */ tft_show_frame_string_delay: () => (/* binding */ tft_show_frame_string_delay), /* harmony export */ tft_show_image_or_string_delay: () => (/* binding */ tft_show_image_or_string_delay), /* harmony export */ tft_show_image_xy: () => (/* binding */ tft_show_image_xy), /* harmony export */ tft_use_spi_init: () => (/* binding */ tft_use_spi_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const DISPLAY_EXTERN_HUE = '5BA5A5'; //var IMG = [["HEART", "HEART"],["HEART_SMALL", "HEART_SMALL"],["HAPPY", "HAPPY"],["SAD", "SAD"],["SMILE", "SMILE"],["SILLY", "SILLY"],["FABULOUS", "FABULOUS"],["SURPRISED", "SURPRISED"],["ASLEEP", "ASLEEP"],["ANGRY", "ANGRY"],["CONFUSED", "CONFUSED"],["NO", "NO"],["YES", "YES"],["LEFT_ARROW", "LEFT_ARROW"],["RIGHT_ARROW", "RIGHT_ARROW"],["DRESS", "DRESS"],["TRANSFORMERS", "TRANSFORMERS"],["SCISSORS", "SCISSORS"],["EXIT", "EXIT"],["TREE", "TREE"],["PACMAN", "PACMAN"],["TARGET", "TARGET"],["TSHIRT", "TSHIRT"],["ROLLERSKATE", "ROLLERSKATE"],["DUCK", "DUCK"],["HOUSE", "HOUSE"],["TORTOISE", "TORTOISE"],["BUTTERFLY", "BUTTERFLY"],["STICKFIGURE", "STICKFIGURE"],["GHOST", "GHOST"],["PITCHFORK", "PITCHFORK"],["MUSIC_QUAVERS", "MUSIC_QUAVERS"],["MUSIC_QUAVER", "MUSIC_QUAVER"],["MUSIC_CROTCHET", "MUSIC_CROTCHET"],["COW", "COW"],["RABBIT", "RABBIT"],["SQUARE_SMALL", "SQUARE_SMALL"],["SQUARE", "SQUARE"],["DIAMOND_SMALL", "DIAMOND_SMALL"],["DIAMOND", "DIAMOND"],["CHESSBOARD", "CHESSBOARD"],["TRIANGLE_LEFT", "TRIANGLE_LEFT"],["TRIANGLE", "TRIANGLE"],["SNAKE", "SNAKE"],["UMBRELLA", "UMBRELLA"],["SKULL", "SKULL"],["GIRAFFE", "GIRAFFE"],["SWORD", "SWORD"]]; // var IMG = [["HEART", "HEART"], ["HEART_SMALL", "HEART_SMALL"], ["HAPPY", "HAPPY"], ["SAD", "SAD"], ["SMILE", "SMILE"], ["SILLY", "SILLY"], ["FABULOUS", "FABULOUS"], ["SURPRISED", "SURPRISED"], ["ASLEEP", "ASLEEP"], ["ANGRY", "ANGRY"], ["CONFUSED", "CONFUSED"], ["NO", "NO"], ["YES", "YES"]]; const display_matrix_use_i2c_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["32x12 Matrix", "32x12 Matrix"], ["16x8 Matrix", "16x8 Matrix"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const display_matrix_extern_show_image = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const display_matrix_extern_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var"); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const display_matrix_extern_scroll_string = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_matrix_extern_scroll_string_delay = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const display_matrix_extern_show_frame_string = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_matrix_extern_show_frame_string_delay = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_matrix_extern_shift = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'shift_up'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'shift_down'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'shift_left'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'shift_right'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); // this.setOutput(true); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET) this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.appendValueInput('val') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_SHIFT) .setCheck(Number); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_UNIT) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET3; var TOOLTIPS = { 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT }; return mode0 + mode1 + TOOLTIPS[mode] + mode2; }); } }; const display_matrix_extern_get_pixel = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS); } }; const display_matrix_extern_bright_point = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput("STAT") .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const display_matrix_extern_get_screen_pixel = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); } }; const display_matrix_extern_bright_screen = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS + ' 0.0-1.0'); } }; const display_matrix_extern_clear = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const display_matrix_extern_image_builtins = { init: function () { var OPERATORS = [["HEART", "HEART"], ["HEART_SMALL", "HEART_SMALL"], ["HAPPY", "HAPPY"], ["SAD", "SAD"], ["SMILE", "SMILE"], ["SILLY", "SILLY"], ["FABULOUS", "FABULOUS"], ["SURPRISED", "SURPRISED"], ["ASLEEP", "ASLEEP"], ["ANGRY", "ANGRY"], ["CONFUSED", "CONFUSED"], ["NO", "NO"], ["YES", "YES"] // ,["LEFT_ARROW", "LEFT_ARROW"],["RIGHT_ARROW", "RIGHT_ARROW"],["DRESS", "DRESS"],["TRANSFORMERS", "TRANSFORMERS"],["SCISSORS", "SCISSORS"],["EXIT", "EXIT"],["TREE", "TREE"],["PACMAN", "PACMAN"],["TARGET", "TARGET"],["TSHIRT", "TSHIRT"],["ROLLERSKATE", "ROLLERSKATE"],["DUCK", "DUCK"],["HOUSE", "HOUSE"],["TORTOISE", "TORTOISE"],["BUTTERFLY", "BUTTERFLY"],["STICKFIGURE", "STICKFIGURE"],["GHOST", "GHOST"],["PITCHFORK", "PITCHFORK"],["MUSIC_QUAVERS", "MUSIC_QUAVERS"],["MUSIC_QUAVER", "MUSIC_QUAVER"],["MUSIC_CROTCHET", "MUSIC_CROTCHET"],["COW", "COW"],["RABBIT", "RABBIT"],["SQUARE_SMALL", "SQUARE_SMALL"],["SQUARE", "SQUARE"],["DIAMOND_SMALL", "DIAMOND_SMALL"],["DIAMOND", "DIAMOND"],["CHESSBOARD", "CHESSBOARD"],["TRIANGLE_LEFT", "TRIANGLE_LEFT"],["TRIANGLE", "TRIANGLE"],["SNAKE", "SNAKE"],["UMBRELLA", "UMBRELLA"],["SKULL", "SKULL"],["GIRAFFE", "GIRAFFE"],["SWORD", "SWORD"] ]; this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image1) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'image'); this.setOutput(true, "esp32_image"); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const matrix_extern_image_arithmetic = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_UNION, 'add'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MINUS, 'sub'] ]; this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.setOutput(true, "esp32_image"); this.appendValueInput('A') // .setCheck(["esp32_image", "List", String]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MERGE_SHAPE); this.appendValueInput('B') // .setCheck(["esp32_image", "List", String]) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { '+': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_add, '-': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_reduce }; return TOOLTIPS[mode]; }); } }; const matrix_extern_image_invert = { init: function () { this.appendValueInput('SUB') .setCheck("var"); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('A') .setCheck("esp32_image") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Invert_image1); this.setInputsInline(true); this.setOutput(true, "esp32_image"); } }; //oled const display_use_i2c_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + "OLED") // .appendField(new Blockly.FieldDropdown([ // ["OLED 128¡Á64", "OLED 128¡Á64"] // ]), "key"); this.appendValueInput('row') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO + "OLED") .setCheck(Number); this.appendValueInput('column') .appendField("X") .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(); } }; const display_draw_4strings = { init: function () { // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') // .appendField(Blockly.Msg.OLEDDISPLAY); //.appendField(new Blockly.FieldImage(Blockly.pathToBlockly + 'blocks/display-oled-128x64-i2c/display-oled-128x64-i2c.jpg', Blockly.Arduino.imageSize, Blockly.Arduino.imageSize)); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendValueInput("Text_line1", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLEDDISPLAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line1); this.appendValueInput("Text_line2", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line2); this.appendValueInput("Text_line3", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line3); this.appendValueInput("Text_line4", 'String') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.line4); this.setInputsInline(false); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(DISPLAY_EXTERN_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLEDDISPLAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING); } }; const display_image_size = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT, 'height'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH, 'width'] ]; this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE); this.appendValueInput('VAR') .setCheck("esp32_image") // .appendField(Blockly.Msg.blockpy_USE_LIST); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE var TOOLTIPS = { 'height': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT, 'width': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH, }; return mode0 + mode1 + TOOLTIPS[mode]; }); } }; const display_rect = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_EXTERN_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_RECT, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "width" }, { "check": Number, "type": "input_value", "name": "height" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_RECT); } }; const display_line = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_RLINE, "hline"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_VLINE, "vline"]]), "direction"); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_LINE, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "length" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_LINE); } }; const display_line_arbitrarily = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY, "args0": [{ "check": Number, "type": "input_value", "name": "x1" }, { "check": Number, "type": "input_value", "name": "y1" }, { "check": Number, "type": "input_value", "name": "x2" }, { "check": Number, "type": "input_value", "name": "y2" }, ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_LINE_ARBIT); } } const display_get_screen_image = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE); this.setInputsInline(true); this.setOutput(true, "esp32_image"); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP); } }; const display_blink_rate = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE); } }; const display_rgb_color = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB) this.appendValueInput("_LED_") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), 'FIELDNAME'); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_NUM_R_G_B); } }; const display_onoff = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ON, "ON"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_OFF, "OFF"]]), 'ONOFF') this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; // export const switch = { // init: function () { // this.setColour(DISPLAY_EXTERN_HUE); // this.appendDummyInput("") // .appendField(new Blockly.FieldDropdown([ // [Blockly.Msg.MIXLY_ESP32_ON, "1"], // [Blockly.Msg.MIXLY_ESP32_OFF, "0"] // ]), "flag"); // this.setOutput(true); // this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); // } // }; const display_fill = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var"); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL, "1"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { '0': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, '1': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + TOOLTIPS[mode]; }); } }; const display_animate = { init: function () { var ANIMATE = [ ["ALL_CLOCKS", 'ALL_CLOCKS'], ["ALL_ARROWS", 'ALL_ARROWS'] ]; this.setColour(DISPLAY_EXTERN_HUE); this.setOutput(true, 'Tuple'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_ANIMATE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(ANIMATE), 'ANIMATION') //this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP); } }; const display_circle = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_SHOW_CIRCLE, "args0": [{ "check": Number, "type": "input_value", "name": "x" }, { "check": Number, "type": "input_value", "name": "y" }, { "check": Number, "type": "input_value", "name": "r" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE); } }; const display_triangle = { init: function () { var brightness_or_not = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_ON, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_OFF, '0'] ]; this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_DRAW_TRIANGLE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(brightness_or_not), 'OP') this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_SHOW_triangle, "args0": [{ "check": Number, "type": "input_value", "name": "x0" }, { "check": Number, "type": "input_value", "name": "y0" }, { "check": Number, "type": "input_value", "name": "x1" }, { "check": Number, "type": "input_value", "name": "y1" }, { "check": Number, "type": "input_value", "name": "x2" }, { "check": Number, "type": "input_value", "name": "y2" }, { "type": "input_dummy" }, { "checked": false, "type": "field_checkbox", "name": "fill" } ] }); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DISPLAY_DRAW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANBIT_DRAW_TRIANGLE); } }; const display_help = { init: function () { this.setColour('#555555'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_ONBOARDDISPLAY_HELP); this.setInputsInline(true); this.setTooltip(''); } }; //显示-OLED-显示图像 const display_oled_showBitmap = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("START_X", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_START_X) .setCheck(Number); this.appendValueInput("START_Y", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_START_Y) .setCheck(Number); this.appendValueInput("bitmap_name", String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_NAME); this.appendValueInput("WIDTH", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH) .setCheck(Number); this.appendValueInput("HEIGHT", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_SHOW_BMP_TOOLTIP); } }; //显示-OLED-画点 const display_oled_drawPixel = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWPIXEL); this.appendValueInput("POS_X") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_POSX) this.appendValueInput("POS_Y") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_POSY) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAW_PIXE_TOOLTIP); } }; const display_tm_use_i2c_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ // ["MPU9250", "MPU9250"], // ["TM1637", "TM1637"], ["TM1650", "TM1650"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP; var TOOLTIPS = { // "MPU9250": "MPU9250", // "TM1637": "TM1637", "TM1650": "TM1650" }; return mode0 + TOOLTIPS[mode] }); } }; const display_tm1650_power = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ON, "on"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OFF, "off"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_4digitdisplay_power); } }; const display_tm1650_show_num = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendValueInput("VALUE") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); // this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString); } }; const display_tm1650_show_dot = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendValueInput("NO") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER1) this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_DOT) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot); } }; const display_tm1650_set_brightness = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["TM1650", "tm1650"]]), "TYPE"); this.appendValueInput("VAR") this.appendValueInput("VALUE") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP); } }; const tft_use_spi_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SPISUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "SPI") .setCheck("var"); this.appendValueInput('PINDC') .appendField("DC") this.appendValueInput('PINCS') .appendField("CS") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT) this.appendValueInput("WIDTH") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH) .setCheck(Number); this.appendValueInput("HEIGHT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HEIGHT) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_turtle_rotate) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE + '90°', "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE + '180°', "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE + '270°', "3"] ]), 'rotate') this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const tft_show_image_xy = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_NUMBER); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const display_color_seclet = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput("") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: [ // grays '#ffffff', '#cccccc', '#c0c0c0', '#999999', '#666666', '#333333', '#000000', // reds '#ffcccc', '#ff6666', '#ff0000', '#cc0000', '#990000', '#660000', '#330000', // oranges '#ffcc99', '#ff9966', '#ff9900', '#ff6600', '#cc6600', '#993300', '#663300', // yellows '#ffff99', '#ffff66', '#ffcc66', '#ffcc33', '#cc9933', '#996633', '#663333', // olives '#ffffcc', '#ffff33', '#ffff00', '#ffcc00', '#999900', '#666600', '#333300', // greens '#99ff99', '#66ff99', '#33ff33', '#33cc00', '#009900', '#006600', '#003300', // turquoises '#99ffff', '#33ffff', '#66cccc', '#00cccc', '#339999', '#336666', '#003333', // blues '#ccffff', '#66ffff', '#33ccff', '#3366ff', '#3333ff', '#000099', '#000066', // purples '#ccccff', '#9999ff', '#6666cc', '#6633ff', '#6600cc', '#333399', '#330099', // violets '#ffccff', '#ff99ff', '#cc66cc', '#cc33cc', '#993399', '#663366', '#330033' ], columns: 7 }), "COLOR"); this.setInputsInline(true); this.setOutput(true, String); } }; const tft_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const tft_scroll_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const tft_show_frame_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const tft_fill = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, "BLACK"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL, "WHITE"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { '0': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_STAT_CLEAR, '1': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DF_LCD + TOOLTIPS[mode]; }); } }; const tft_line_arbitrarily = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); // this.appendDummyInput() // .appendField(Blockly.Msg.OLED) // .appendField(new Blockly.FieldTextInput('lcd'), 'VAR') this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catTFT) .setCheck("var"); // this.appendValueInput("PIN", Number) // .setCheck(Number) // .setAlign(Blockly.inputs.Align.RIGHT) // .appendField(Blockly.Msg.MIXLY_PIN); this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY, "args0": [{ "check": Number, "type": "input_value", "name": "x1" }, { "check": Number, "type": "input_value", "name": "y1" }, { "check": Number, "type": "input_value", "name": "x2" }, { "check": Number, "type": "input_value", "name": "y2" }, ] }); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OLED_LINE_ARBIT); } } const display_lcd_use_i2c_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ // ["MPU9250", "MPU9250"], // ["TM1637", "TM1637"], ["LCD1602", "16"], ["LCD2004", "20"] ]), "key"); this.appendValueInput("ADDR") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MQTT_SERVER_ADD); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP; var TOOLTIPS = { "16": "LCD1602", "20": "LCD2004" }; return mode0 + TOOLTIPS[mode] }); } }; const lcd_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catLCD); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.array2_cols); this.appendValueInput("y") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.array2_rows); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const lcd_print_string = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catLCD); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.array2_cols); this.appendValueInput("y") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.array2_rows); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const lcd_backlight = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catLCD); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TFT_Brightness) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display, "0"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { '1': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display, '0': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catLCD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TFT_Brightness + TOOLTIPS[mode]; }); } }; const lcd_clear = { init: function () { this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catLCD); this.setColour(DISPLAY_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const display_oled_use_i2c_init = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO + 'oled128x64') this.appendValueInput("ADDR") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MQTT_SERVER_ADD); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DRIVER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['SSD1306','0'], ['SSD1315','1'] ]),'driver'); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP; var TOOLTIPS = { "16": "LCD1602", "20": "LCD2004" }; return mode0 + TOOLTIPS[mode] }); } }; const extern_oled_show_image = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const extern_oled_show_image_xy = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_NUMBER); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const extern_oled_show_string = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const extern_oled_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const extern_oled_scroll_string = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const extern_oled_scroll_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const extern_oled_show_frame_string = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const extern_oled_show_frame_string_delay = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const extern_oled_shift = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'shift_up'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'shift_down'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'shift_left'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'shift_right'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); // this.setOutput(true); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET) this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.appendValueInput('val') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_SHIFT) .setCheck(Number); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_UNIT) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET3; var TOOLTIPS = { 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT }; return mode0 + mode1 + TOOLTIPS[mode] + mode2; }); } }; const extern_oled_get_pixel = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS); } }; const extern_oled_bright_point = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput("STAT") .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const extern_oled_clear = { init: function () { this.setColour(DISPLAY_EXTERN_HUE); this.appendValueInput('SUB') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catOLED); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const extern_oled_shape_rect = { init: function () { this.jsonInit({ "colour": DISPLAY_EXTERN_HUE, "args0": [ { "name": "SUB", "type": "input_value" }, { "name": "state", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_0, '0'] ], "type": "field_dropdown" }, { "name": "shape", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HOLLOW, 'rect'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SOLID, 'fill_rect'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "w", "type": "input_value", //"check": "Number" }, { "name": "h", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1, "nextStatement": null, "previousStatement": null }); } }; const extern_oled_hvline = { init: function () { this.jsonInit({ "colour": DISPLAY_EXTERN_HUE, "args0": [ { "name": "SUB", "type": "input_value" }, { "name": "state", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_0, '0'] ], "type": "field_dropdown" }, { "name": "dir_h_v", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_vertical, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_horizontal, '1'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "length", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1, "nextStatement": null, "previousStatement": null }); } }; const extern_oled_line = { init: function () { this.jsonInit({ "colour": DISPLAY_EXTERN_HUE, "args0": [ { "name": "SUB", "type": "input_value" }, { "name": "state", "options": [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_hline_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_hline_0, '0']], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x1", "type": "input_value", //"check": "Number" }, { "name": "y1", "type": "input_value", //"check": "Number" }, { "name": "x2", "type": "input_value", //"check": "Number" }, { "name": "y2", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_MESSAGE1, "nextStatement": null, "previousStatement": null }); } }; /***/ }), /***/ "../micropython/blocks/display_onboard.js": /*!************************************************!*\ !*** ../micropython/blocks/display_onboard.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ bitbot_display_image_create: () => (/* binding */ bitbot_display_image_create), /* harmony export */ display_bright_point: () => (/* binding */ display_bright_point), /* harmony export */ display_bright_screen: () => (/* binding */ display_bright_screen), /* harmony export */ display_clear: () => (/* binding */ display_clear), /* harmony export */ display_get_pixel: () => (/* binding */ display_get_pixel), /* harmony export */ display_get_screen_pixel: () => (/* binding */ display_get_screen_pixel), /* harmony export */ display_image_builtins: () => (/* binding */ display_image_builtins), /* harmony export */ display_image_builtins_all: () => (/* binding */ display_image_builtins_all), /* harmony export */ display_image_create: () => (/* binding */ display_image_create), /* harmony export */ display_scroll_string: () => (/* binding */ display_scroll_string), /* harmony export */ display_scroll_string_delay: () => (/* binding */ display_scroll_string_delay), /* harmony export */ display_shift: () => (/* binding */ display_shift), /* harmony export */ display_show_frame_string: () => (/* binding */ display_show_frame_string), /* harmony export */ display_show_frame_string_delay: () => (/* binding */ display_show_frame_string_delay), /* harmony export */ display_show_image: () => (/* binding */ display_show_image), /* harmony export */ display_show_image_or_string_delay: () => (/* binding */ display_show_image_or_string_delay), /* harmony export */ draw_pointer: () => (/* binding */ draw_pointer), /* harmony export */ image_arithmetic: () => (/* binding */ image_arithmetic), /* harmony export */ image_invert: () => (/* binding */ image_invert), /* harmony export */ mixbot_display_bright_screen: () => (/* binding */ mixbot_display_bright_screen), /* harmony export */ mixbot_display_get_ambientbright: () => (/* binding */ mixbot_display_get_ambientbright), /* harmony export */ mixbot_display_get_screen_pixel: () => (/* binding */ mixbot_display_get_screen_pixel), /* harmony export */ mixbot_display_image_create: () => (/* binding */ mixbot_display_image_create), /* harmony export */ mixbot_display_rotate: () => (/* binding */ mixbot_display_rotate), /* harmony export */ mixgo_display_image_create_new: () => (/* binding */ mixgo_display_image_create_new), /* harmony export */ mixgome_display_font: () => (/* binding */ mixgome_display_font), /* harmony export */ mixgome_display_image_create: () => (/* binding */ mixgome_display_image_create), /* harmony export */ mixgomini_display_image_create: () => (/* binding */ mixgomini_display_image_create), /* harmony export */ mpython_display_hvline: () => (/* binding */ mpython_display_hvline), /* harmony export */ mpython_display_line: () => (/* binding */ mpython_display_line), /* harmony export */ mpython_display_shape_rect: () => (/* binding */ mpython_display_shape_rect), /* harmony export */ mpython_pbm_image: () => (/* binding */ mpython_pbm_image), /* harmony export */ onboard_oled_bright_point: () => (/* binding */ onboard_oled_bright_point), /* harmony export */ onboard_oled_scroll_string_delay: () => (/* binding */ onboard_oled_scroll_string_delay), /* harmony export */ onboard_oled_show_frame_string_delay: () => (/* binding */ onboard_oled_show_frame_string_delay), /* harmony export */ onboard_oled_show_image: () => (/* binding */ onboard_oled_show_image), /* harmony export */ onboard_oled_show_image_or_string_delay: () => (/* binding */ onboard_oled_show_image_or_string_delay), /* harmony export */ onboard_oled_show_image_xy: () => (/* binding */ onboard_oled_show_image_xy), /* harmony export */ onboard_oled_show_string: () => (/* binding */ onboard_oled_show_string), /* harmony export */ onboard_tft_bright_point: () => (/* binding */ onboard_tft_bright_point), /* harmony export */ onboard_tft_bright_screen: () => (/* binding */ onboard_tft_bright_screen), /* harmony export */ onboard_tft_clear: () => (/* binding */ onboard_tft_clear), /* harmony export */ onboard_tft_clock_clear: () => (/* binding */ onboard_tft_clock_clear), /* harmony export */ onboard_tft_clock_draw: () => (/* binding */ onboard_tft_clock_draw), /* harmony export */ onboard_tft_clock_get_rtctime: () => (/* binding */ onboard_tft_clock_get_rtctime), /* harmony export */ onboard_tft_clock_init: () => (/* binding */ onboard_tft_clock_init), /* harmony export */ onboard_tft_clock_set_time: () => (/* binding */ onboard_tft_clock_set_time), /* harmony export */ onboard_tft_display_hvline: () => (/* binding */ onboard_tft_display_hvline), /* harmony export */ onboard_tft_display_line: () => (/* binding */ onboard_tft_display_line), /* harmony export */ onboard_tft_display_shape_circle: () => (/* binding */ onboard_tft_display_shape_circle), /* harmony export */ onboard_tft_display_shape_rect: () => (/* binding */ onboard_tft_display_shape_rect), /* harmony export */ onboard_tft_fill: () => (/* binding */ onboard_tft_fill), /* harmony export */ onboard_tft_get_pixel: () => (/* binding */ onboard_tft_get_pixel), /* harmony export */ onboard_tft_get_screen_pixel: () => (/* binding */ onboard_tft_get_screen_pixel), /* harmony export */ onboard_tft_scroll_string: () => (/* binding */ onboard_tft_scroll_string), /* harmony export */ onboard_tft_scroll_string_delay: () => (/* binding */ onboard_tft_scroll_string_delay), /* harmony export */ onboard_tft_shift: () => (/* binding */ onboard_tft_shift), /* harmony export */ onboard_tft_show_frame_string: () => (/* binding */ onboard_tft_show_frame_string), /* harmony export */ onboard_tft_show_frame_string_delay: () => (/* binding */ onboard_tft_show_frame_string_delay), /* harmony export */ onboard_tft_show_image: () => (/* binding */ onboard_tft_show_image), /* harmony export */ onboard_tft_show_image_or_string_delay: () => (/* binding */ onboard_tft_show_image_or_string_delay), /* harmony export */ onboard_tft_show_image_xy: () => (/* binding */ onboard_tft_show_image_xy) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const DISPLAY_ONBOARD_HUE = '#569A98'; const display_show_image = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey() if (version == 'micropython:esp32:mixbot') { this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP); } } }; const display_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_scroll_string = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_scroll_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_show_frame_string = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_show_frame_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const display_image_create = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 12; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 32; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const display_image_builtins = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [{ "name": "image", "options": [["HEART", "HEART"], ["HEART_SMALL", "HEART_SMALL"], ["HAPPY", "HAPPY"], ["SAD", "SAD"], ["SMILE", "SMILE"], ["SILLY", "SILLY"], ["FABULOUS", "FABULOUS"], ["SURPRISED", "SURPRISED"], ["ASLEEP", "ASLEEP"], ["ANGRY", "ANGRY"], ["CONFUSED", "CONFUSED"], ["NO", "NO"], ["YES", "YES"] // ,["LEFT_ARROW", "LEFT_ARROW"],["RIGHT_ARROW", "RIGHT_ARROW"],["DRESS", "DRESS"],["TRANSFORMERS", "TRANSFORMERS"],["SCISSORS", "SCISSORS"],["EXIT", "EXIT"],["TREE", "TREE"],["PACMAN", "PACMAN"],["TARGET", "TARGET"],["TSHIRT", "TSHIRT"],["ROLLERSKATE", "ROLLERSKATE"],["DUCK", "DUCK"],["HOUSE", "HOUSE"],["TORTOISE", "TORTOISE"],["BUTTERFLY", "BUTTERFLY"],["STICKFIGURE", "STICKFIGURE"],["GHOST", "GHOST"],["PITCHFORK", "PITCHFORK"],["MUSIC_QUAVERS", "MUSIC_QUAVERS"],["MUSIC_QUAVER", "MUSIC_QUAVER"],["MUSIC_CROTCHET", "MUSIC_CROTCHET"],["COW", "COW"],["RABBIT", "RABBIT"],["SQUARE_SMALL", "SQUARE_SMALL"],["SQUARE", "SQUARE"],["DIAMOND_SMALL", "DIAMOND_SMALL"],["DIAMOND", "DIAMOND"],["CHESSBOARD", "CHESSBOARD"],["TRIANGLE_LEFT", "TRIANGLE_LEFT"],["TRIANGLE", "TRIANGLE"],["SNAKE", "SNAKE"],["UMBRELLA", "UMBRELLA"],["SKULL", "SKULL"],["GIRAFFE", "GIRAFFE"],["SWORD", "SWORD"] ], "type": "field_dropdown" }], "output": ["esp32_image", "List"], "helpUrl": "https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes", "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image1, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image }); } }; const display_image_builtins_all = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image1) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.builtinimg), 'image'); this.setOutput(true, ["esp32_image", "List"]); } }; const image_arithmetic = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_UNION, 'add'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MINUS, 'sub'] ]; this.setColour(DISPLAY_ONBOARD_HUE); this.setOutput(true, "esp32_image"); this.appendValueInput('A') // .setCheck(["esp32_image", "List", String]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_DISPLAY_MERGE_SHAPE); this.appendValueInput('B') // .setCheck(["esp32_image", "List", String]) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { '+': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_add, '-': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_image_reduce }; return TOOLTIPS[mode]; }); } }; const image_invert = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('A') .setCheck("esp32_image") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Invert_image1); this.setInputsInline(true); this.setOutput(true, "esp32_image"); } }; const display_shift = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'shift_up'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'shift_down'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'shift_left'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'shift_right'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(DISPLAY_ONBOARD_HUE); // this.setOutput(true); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET) this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.appendValueInput('val') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_SHIFT) .setCheck(Number); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_UNIT) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET3; var TOOLTIPS = { 'shift_up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'shift_down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'shift_left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'shift_right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT }; return mode0 + mode1 + TOOLTIPS[mode] + mode2; }); } }; const display_get_pixel = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS); } }; const display_bright_point = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput("STAT") .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const display_get_screen_pixel = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); } }; const display_bright_screen = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS + ' 0.0-1.0'); } }; const display_clear = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; //mixgo_me onboard_matrix below: const mixgome_display_image_create = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 5; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 8; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const mixgomini_display_image_create = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 8; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 12; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const mixgo_display_image_create_new = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 8; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 16; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true, "esp32_image"); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const mixgome_display_font = { init: function () { var OPERATORS = [ ['4x5' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_ME_DISPLAY_HORIZONTAL, "'4x5'"], ['5x5' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_ME_DISPLAY_HORIZONTAL, "'5x5'"], ['5x8' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_ME_DISPLAY_VERTICAL, "'5x8'"] ]; this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_SET_FONT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; //mpython const onboard_oled_show_image = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const onboard_oled_show_image_xy = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_NUMBER); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const onboard_oled_show_string = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck([String, "esp32_image", "List", 'Tuple']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const onboard_oled_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const onboard_oled_scroll_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const onboard_oled_show_frame_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_oled_bright_point = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput("STAT") .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const mpython_display_shape_rect = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "state", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_0, '0'] ], "type": "field_dropdown" }, { "name": "shape", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HOLLOW, 'rect'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SOLID, 'fill_rect'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "w", "type": "input_value", //"check": "Number" }, { "name": "h", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const mpython_display_hvline = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "state", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_MODE_0, '0'] ], "type": "field_dropdown" }, { "name": "dir_h_v", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_vertical, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_horizontal, '1'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "length", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const mpython_display_line = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "state", "options": [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_hline_1, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_hline_0, '0']], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x1", "type": "input_value", //"check": "Number" }, { "name": "y1", "type": "input_value", //"check": "Number" }, { "name": "x2", "type": "input_value", //"check": "Number" }, { "name": "y2", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const mpython_pbm_image = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "type": "field_label", "name": "size_image", "text": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Built_in_image1 }, { "name": "path", "options": [ ["Heart", "Heart"], ["Angry", "Angry"], ["Bored", "Bored"], ["Confused", "Confused"], ["Happy", "Happy"], ["Paper", "Paper"], ["Rock", "Rock"], ["Sad", "Sad"], ["Scissors", "Scissors"], ["Silly", "Silly"], ["Sleep", "Sleep"], ["Small_heart", "Small_heart"], ["Small_paper", "Small_paper"], ["Small_rock", "Small_rock"], ["Small_scissors", "Small_scissors"], ["Smile", "Smile"], ["Surprise", "Surprise"], ["Wonderful", "Wonderful"], ["Eyes_Angry", "Eyes_Angry"], ["Awake", "Awake"], ["Black_eye", "Black_eye"], ["Bottom_left", "Bottom_left"], ["Bottom_right", "Bottom_right"], ["Crazy_1", "Crazy_1"], ["Crazy_2", "Crazy_2"], ["Disappointed", "Disappointed"], ["Dizzy", "Dizzy"], ["Down", "Down"], ["Evil", "Evil"], ["Hurt", "Hurt"], ["Knocked_out", "Knocked_out"], ["Love", "Love"], ["Middle_left", "Middle_left"], ["Middle_right", "Middle_right"], ["Neutral", "Neutral"], ["Nuclear", "Nuclear"], ["Pinch_left", "Pinch_left"], ["Pinch_middle", "Pinch_middle"], ["Pinch_right", "Pinch_right"], ["Tear", "Tear"], ["Tired_left", "Tired_left"], ["Tired_middle", "Tired_middle"], ["Tired_right", "Tired_right"], ["Toxic", "Toxic"], ["Up", "Up"], ["Winking", "Winking"], ["Accept", "Accept"], ["Backward", "Backward"], ["Decline", "Decline"], ["Forward", "Forward"], ["Left", "Left"], ["No_go", "No_go"], ["Question_mark", "Question_mark"], ["Right", "Right"], ["Stop_1", "Stop_1"], ["Stop_2", "Stop_2"], ["Thumbs_down", "Thumbs_down"], ["Thumbs_up", "Thumbs_up"], ["Warning", "Warning"], ["Bomb", "Bomb"], ["Boom", "Boom"], ["Fire", "Fire"], ["Flowers", "Flowers"], ["Forest", "Forest"], ["Lightning", "Lightning"], ["Light_off", "Light_off"], ["Light_on", "Light_on"], ["Night", "Night"], ["Pirate", "Pirate"], ["Snow", "Snow"], ["Target", "Target"], ["Bar_0", "Bar_0"], ["Bar_1", "Bar_1"], ["Bar_2", "Bar_2"], ["Bar_3", "Bar_3"], ["Bar_4", "Bar_4"], ["Dial_0", "Dial_0"], ["Dial_1", "Dial_1"], ["Dial_2", "Dial_2"], ["Dial_3", "Dial_3"], ["Dial_4", "Dial_4"], ["Dots_0", "Dots_0"], ["Dots_1", "Dots_1"], ["Dots_2", "Dots_2"], ["Dots_3", "Dots_3"], ["Hourglass_0", "Hourglass_0"], ["Hourglass_1", "Hourglass_1"], ["Hourglass_2", "Hourglass_2"], ["Timer_0", "Timer_0"], ["Timer_1", "Timer_1"], ["Timer_2", "Timer_2"], ["Timer_3", "Timer_3"], ["Timer_4", "Timer_4"], ["Water_level_0", "Water_level_0"], ["Water_level_1", "Water_level_1"], ["Water_level_2", "Water_level_2"], ["Water_level_3", "Water_level_3"], ], "type": "field_dropdown" } ], "output": "String", "helpUrl": '', "tooltip": '', "message0": '%1 %2' }); } }; //mixbot onboard_matrix below: const mixbot_display_image_create = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 5; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 5; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; const mixbot_display_get_screen_pixel = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); } }; const mixbot_display_get_ambientbright = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT); this.setInputsInline(true); this.setOutput(true, Number); } }; const mixbot_display_bright_screen = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS + ' 0.0-1.0'); } }; const mixbot_display_rotate = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PL_PIE_SHADOW_N, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE + '90' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_setheading_degree, '1'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE + '180' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_setheading_degree, '2'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE + '270' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_setheading_degree, '3'] ]; this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_SCREEN_ROTATE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const bitbot_display_image_create = { init: function () { this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE) for (let i = 0; i < 12; i++) { let dummyInputObj = this.appendDummyInput(); for (let j = 0; j < 12; j++) { dummyInputObj.appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour('#000', null, { colourOptions: ['#f00', '#000'], columns: 2 }), i + '-' + j); } } this.setOutput(true); this.setColour(DISPLAY_ONBOARD_HUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Create_image1); } }; //mixgo_nova onboard tft below: const onboard_tft_show_image = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const onboard_tft_show_image_xy = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_NUMBER); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_BITMAP_OR_STRING); } }; const onboard_tft_show_image_or_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_DRAWSTR); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_YES, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_NO, "False"] ]), 'center') this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY); } }; const onboard_tft_scroll_string = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_scroll_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("space") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_DISPLAY_FONT_SPACE); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY); } }; const onboard_tft_show_frame_string = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_show_frame_string_delay = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_FONT_NUM); this.appendValueInput("time") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_display_shape_rect = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "shape", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HOLLOW, 'rect'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SOLID, 'fill_rect'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "w", "type": "input_value", //"check": "Number" }, { "name": "h", "type": "input_value", //"check": "Number" }, { "name": "VAR", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const onboard_tft_display_hvline = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "dir_h_v", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_vertical, '0'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_horizontal, '1'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "length", "type": "input_value", //"check": "Number" }, { "name": "VAR", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const onboard_tft_display_line = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "type": "input_dummy" }, { "name": "x1", "type": "input_value", //"check": "Number" }, { "name": "y1", "type": "input_value", //"check": "Number" }, { "name": "x2", "type": "input_value", //"check": "Number" }, { "name": "y2", "type": "input_value", //"check": "Number" }, { "name": "VAR", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_TOOLTIP, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_display_line_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const onboard_tft_shift = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'shift_up'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'shift_down'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'shift_left'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'shift_right'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(DISPLAY_ONBOARD_HUE); // this.setOutput(true); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET) this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.appendValueInput('val') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_SHIFT) .setCheck(Number); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_UNIT) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET3; var TOOLTIPS = { 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT }; return mode0 + mode1 + TOOLTIPS[mode] + mode2; }); } }; const onboard_tft_get_pixel = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS); } }; const onboard_tft_bright_point = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LCD_SETCOLOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X); this.appendValueInput('y') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL); } }; const onboard_tft_clear = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Clear_display); } }; const onboard_tft_get_screen_pixel = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS); } }; const onboard_tft_bright_screen = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('x') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS + ' 0.0-1.0'); } }; const onboard_tft_fill = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SCREEN_FILL) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_clock_init = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_INIT_CLOCK); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CENTER_POS); this.appendValueInput("x") .setCheck(Number) .appendField('x'); this.appendValueInput("y") .setCheck(Number) .appendField('y'); this.appendValueInput("size") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_CIRCLE_RADIUS); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_clock_get_rtctime = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GET_RTCTIME); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_clock_set_time = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_TIME); this.appendValueInput("h") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR); this.appendValueInput("m") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE); this.appendValueInput("s") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_clock_draw = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DRAW_CLOCK); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_clock_clear = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendValueInput('SUB') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLEAR_CLOCK); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const onboard_tft_display_shape_circle = { init: function () { this.jsonInit({ "colour": DISPLAY_ONBOARD_HUE, "args0": [ { "name": "shape", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_HOLLOW, 'False'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MPYTHON_DISPLAY_SOLID, 'True'] ], "type": "field_dropdown" }, { "type": "input_dummy" }, { "name": "x", "type": "input_value", //"check": "Number" }, { "name": "y", "type": "input_value", //"check": "Number" }, { "name": "r", "type": "input_value", //"check": "Number" }, { "name": "VAR", "type": "input_value", //"check": "Number" } ], "inputsInline": true, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mpython_HELPURL, "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0, "nextStatement": null, "previousStatement": null }); } }; const draw_pointer = { init: function () { this.setColour(DISPLAY_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DRAW_POINTER) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DRAW_POINTER_ANGLE); this.appendValueInput('angle'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DRAW_POINTER_DU); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DRAW_POINTER_TOOLTIP); } }; /***/ }), /***/ "../micropython/blocks/factory.js": /*!****************************************!*\ !*** ../micropython/blocks/factory.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ factory_block: () => (/* binding */ factory_block), /* harmony export */ factory_block_return: () => (/* binding */ factory_block_return), /* harmony export */ factory_block_return_with_textarea: () => (/* binding */ factory_block_return_with_textarea), /* harmony export */ factory_block_with_textarea: () => (/* binding */ factory_block_with_textarea), /* harmony export */ factory_callMethod_noreturn: () => (/* binding */ factory_callMethod_noreturn), /* harmony export */ factory_callMethod_return: () => (/* binding */ factory_callMethod_return), /* harmony export */ factory_create_with_container: () => (/* binding */ factory_create_with_container), /* harmony export */ factory_create_with_item: () => (/* binding */ factory_create_with_item), /* harmony export */ factory_declare: () => (/* binding */ factory_declare), /* harmony export */ factory_from_import: () => (/* binding */ factory_from_import), /* harmony export */ factory_function_noreturn: () => (/* binding */ factory_function_noreturn), /* harmony export */ factory_function_return: () => (/* binding */ factory_function_return), /* harmony export */ factory_import: () => (/* binding */ factory_import), /* harmony export */ folding_block: () => (/* binding */ folding_block) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const FACTORY_HUE = "#777777"//65; const factory_from_import = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField("from ") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('ESP32'), 'path') .appendField(" import ") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('*'), 'module'); this.setPreviousStatement(true); this.setNextStatement(true); } }; const factory_import = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField("import ") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('module'), 'module'); this.setPreviousStatement(true); this.setNextStatement(true); } }; const factory_function_noreturn = { init: function () { //console.log('init'); this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('my_function'), 'NAME'); this.itemCount_ = 1; this.arguments_ = ['x'];//add this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['factory_create_with_item'], this)); }, mutationToDom: function () { //console.log('mutationToDom'); var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); //add for (var i = 0; i < this.arguments_.length; i++) { var parameter = document.createElement('arg'); parameter.setAttribute('name', this.arguments_[i]); container.appendChild(parameter); } return container; }, domToMutation: function (xmlElement) { //console.log('domToMutation'); this.arguments_ = [];//add //add for (var i = 0; xmlElement.childNodes[i]; i++) { let childNode = xmlElement.childNodes[i]; if (childNode.nodeName.toLowerCase() == 'arg') { this.arguments_.push(childNode.getAttribute('name')); } } this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, decompose: function (workspace) { //console.log('decompose'); var containerBlock = workspace.newBlock('factory_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK') .connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('factory_create_with_item'); itemBlock.initSvg(); itemBlock.setFieldValue(this.arguments_[i], 'NAME');//add connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, compose: function (containerBlock) { //console.log('compose'); this.arguments_ = [];//add var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { this.arguments_.push(itemBlock.getFieldValue('NAME'));//add connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, saveConnections: function (containerBlock) { //console.log('saveConnections'); var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, updateShape_: function () { //console.log('updateShape_'); // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. for (var i = 0; i < this.itemCount_; i++) { this.appendValueInput('ADD' + i) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(this.arguments_[i]); } } }; const factory_create_with_container = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.appendStatementInput('STACK'); this.contextMenu = false; } }; const factory_create_with_item = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_ITEM_TITLE + ':') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('x'), 'NAME'); this.setPreviousStatement(true); this.setNextStatement(true); this.contextMenu = false; } }; const factory_function_return = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('my_function'), 'NAME'); this.itemCount_ = 1; this.arguments_ = ['x'];//add this.updateShape_(); this.setOutput(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['factory_create_with_item'], this)); }, mutationToDom: factory_function_noreturn.mutationToDom, domToMutation: factory_function_noreturn.domToMutation, decompose: factory_function_noreturn.decompose, compose: factory_function_noreturn.compose, saveConnections: factory_function_noreturn.saveConnections, updateShape_: factory_function_noreturn.updateShape_ }; const factory_declare = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('test'), 'NAME') .appendField("=") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('Test'), 'TYPE') .appendField("()"); this.setPreviousStatement(true); this.setNextStatement(true); } } const factory_callMethod_noreturn = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('test'), 'NAME') .appendField('.') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('callMethod'), 'METHOD'); this.itemCount_ = 1; this.arguments_ = ['x'];//add this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['factory_create_with_item'], this)); }, mutationToDom: factory_function_noreturn.mutationToDom, domToMutation: factory_function_noreturn.domToMutation, decompose: factory_function_noreturn.decompose, compose: factory_function_noreturn.compose, saveConnections: factory_function_noreturn.saveConnections, updateShape_: factory_function_noreturn.updateShape_ }; const factory_callMethod_return = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('test'), 'NAME') .appendField('.') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('callMethod'), 'METHOD'); this.itemCount_ = 1; this.arguments_ = ['x'];//add this.updateShape_(); this.setOutput(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['factory_create_with_item'], this)); }, mutationToDom: factory_function_noreturn.mutationToDom, domToMutation: factory_function_noreturn.domToMutation, decompose: factory_function_noreturn.decompose, compose: factory_function_noreturn.compose, saveConnections: factory_function_noreturn.saveConnections, updateShape_: factory_function_noreturn.updateShape_ }; const factory_block = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('display.scroll("Hello World!")'), 'VALUE'); this.setPreviousStatement(true); this.setNextStatement(true); } }; const factory_block_return = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('test'), 'VALUE'); this.setOutput(true); } }; const factory_block_with_textarea = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput('display.scroll("Hello World!")\ndisplay.scroll("Hello Mixly!")'), 'VALUE'); this.setPreviousStatement(true); this.setNextStatement(true); } }; const factory_block_return_with_textarea = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput('Hello\nMixly'), 'VALUE'); this.setOutput(true); } }; const folding_block = { init: function () { this.setColour(FACTORY_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.FOLDING_BLOCK), "peien"); this.appendStatementInput('DO') .appendField(''); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.FOLDING_BLOCK_HELP); } }; /***/ }), /***/ "../micropython/blocks/inout.js": /*!**************************************!*\ !*** ../micropython/blocks/inout.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ controls_pin_attachInterrupt: () => (/* binding */ controls_pin_attachInterrupt), /* harmony export */ inout_analog_atten: () => (/* binding */ inout_analog_atten), /* harmony export */ inout_analog_read: () => (/* binding */ inout_analog_read), /* harmony export */ inout_analog_read_init: () => (/* binding */ inout_analog_read_init), /* harmony export */ inout_analog_write: () => (/* binding */ inout_analog_write), /* harmony export */ inout_analog_write_init: () => (/* binding */ inout_analog_write_init), /* harmony export */ inout_analog_write_set: () => (/* binding */ inout_analog_write_set), /* harmony export */ inout_analog_write_set_freq: () => (/* binding */ inout_analog_write_set_freq), /* harmony export */ inout_digital_init: () => (/* binding */ inout_digital_init), /* harmony export */ inout_digital_read: () => (/* binding */ inout_digital_read), /* harmony export */ inout_digital_write: () => (/* binding */ inout_digital_write), /* harmony export */ inout_highlow: () => (/* binding */ inout_highlow), /* harmony export */ inout_pinMode: () => (/* binding */ inout_pinMode), /* harmony export */ inout_pin_attachInterrupt: () => (/* binding */ inout_pin_attachInterrupt), /* harmony export */ inout_pin_pressed: () => (/* binding */ inout_pin_pressed), /* harmony export */ inout_pin_pressed_init: () => (/* binding */ inout_pin_pressed_init), /* harmony export */ inout_pwm_analog_write: () => (/* binding */ inout_pwm_analog_write), /* harmony export */ inout_pwm_analog_write_init: () => (/* binding */ inout_pwm_analog_write_init), /* harmony export */ inout_pwm_analog_write_set_freq: () => (/* binding */ inout_pwm_analog_write_set_freq), /* harmony export */ pin_pressed: () => (/* binding */ pin_pressed), /* harmony export */ pin_pressed_init: () => (/* binding */ pin_pressed_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const BASE_HUE = 20//'#ae3838';//40; const inout_highlow = { init: function () { this.setColour(BASE_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HIGH, "HIGH"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOW, "LOW"]]), 'BOOL') this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP); } }; const inout_digital_write = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEOUT) .setCheck(Number); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP); } }; const inout_digital_read = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MACHINE_VALUE) this.setInputsInline(true); this.setOutput(true, [Boolean, Number]); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP); } }; const inout_pwm_analog_write = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField("PWM" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_VALUE2) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP); } }; const inout_analog_write = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField("DAC" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_VALUE2) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP); } }; const inout_analog_write_set = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "period"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "period_microseconds"] ]), "key"); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP); } }; const inout_pwm_analog_write_set_freq = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField("PWM" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP); } }; const inout_analog_read = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MACHINE_VALUE) this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP); } }; const inout_analog_atten = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_REF_VOLTAGE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["3.3V", "machine.ADC.ATTN_11DB"], ["2.2V", "machine.ADC.ATTN_6DB"], ["1.5V", "machine.ADC.ATTN_2_5DB"], ["1.2V", "machine.ADC.ATTN_0DB"] ]), "atten"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP); } }; const inout_pin_pressed = { init: function () { this.setColour(BASE_HUE); this.appendValueInput('pin') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR); // this.appendDummyInput() // .appendField(Blockly.Msg.MIXLY_IS_TOUCHED); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MACHINE_VALUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP); } }; const inout_pin_attachInterrupt = { init: function () { this.setColour(20); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ATTACHINTERRUPT_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP); } }; const inout_digital_init = { init: function () { this.setColour(20); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('pin#'), 'PIN_OBJ'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) // .appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+Blockly.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEOUT, "machine.Pin.OUT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEIN, "machine.Pin.IN"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEPULLUP, "machine.Pin.IN, machine.Pin.PULL_UP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEPULLDOWN, "machine.Pin.IN, machine.Pin.PULL_DOWN"] ]), "MODE") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'pin#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_pwm_analog_write_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('pwm#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField("PWM" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .appendField(new Blockly.FieldDropdown(profile.default.pwm_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'pwm#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_analog_write_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('dac#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField("DAC" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('dac') // .appendField(new Blockly.FieldDropdown(profile.default.dac_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'dac#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_analog_read_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('adc#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEIN) // .appendField('adc') // .appendField(new Blockly.FieldDropdown(profile.default.adc_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'adc#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_pin_pressed_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('tc#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) // .appendField('tc') // .appendField(new Blockly.FieldDropdown(profile.default.tc_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'tc#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_pinMode = inout_digital_init; const inout_analog_write_set_freq = inout_pwm_analog_write_set_freq; const pin_pressed_init = inout_pin_pressed_init; const pin_pressed = inout_pin_pressed; const controls_pin_attachInterrupt = inout_pin_attachInterrupt; /***/ }), /***/ "../micropython/blocks/iot.js": /*!************************************!*\ !*** ../micropython/blocks/iot.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE: () => (/* binding */ IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE), /* harmony export */ IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE: () => (/* binding */ IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE), /* harmony export */ IOT_EMQX_PING: () => (/* binding */ IOT_EMQX_PING), /* harmony export */ IOT_FORMATTING: () => (/* binding */ IOT_FORMATTING), /* harmony export */ IOT_FORMAT_STRING: () => (/* binding */ IOT_FORMAT_STRING), /* harmony export */ IOT_MIXIO_NTP: () => (/* binding */ IOT_MIXIO_NTP), /* harmony export */ IOT_MIXIO_PUBLISH: () => (/* binding */ IOT_MIXIO_PUBLISH), /* harmony export */ IOT_MIXIO_SUBSCRIBE: () => (/* binding */ IOT_MIXIO_SUBSCRIBE), /* harmony export */ iot_checkonenet: () => (/* binding */ iot_checkonenet), /* harmony export */ iot_client_onboard: () => (/* binding */ iot_client_onboard), /* harmony export */ iot_create_with_item: () => (/* binding */ iot_create_with_item), /* harmony export */ iot_http_client: () => (/* binding */ iot_http_client), /* harmony export */ iot_http_data: () => (/* binding */ iot_http_data), /* harmony export */ iot_mixio_check: () => (/* binding */ iot_mixio_check), /* harmony export */ iot_mixio_connect: () => (/* binding */ iot_mixio_connect), /* harmony export */ iot_mixio_connect_only: () => (/* binding */ iot_mixio_connect_only), /* harmony export */ iot_mixio_disconnect: () => (/* binding */ iot_mixio_disconnect), /* harmony export */ iot_mixio_format_msg: () => (/* binding */ iot_mixio_format_msg), /* harmony export */ iot_mixio_format_topic: () => (/* binding */ iot_mixio_format_topic), /* harmony export */ iot_mixly_key: () => (/* binding */ iot_mixly_key), /* harmony export */ iot_mqtt_client: () => (/* binding */ iot_mqtt_client), /* harmony export */ iot_mqtt_data: () => (/* binding */ iot_mqtt_data), /* harmony export */ iot_onenet_check: () => (/* binding */ iot_onenet_check), /* harmony export */ iot_onenet_connect: () => (/* binding */ iot_onenet_connect), /* harmony export */ iot_onenet_disconnect: () => (/* binding */ iot_onenet_disconnect), /* harmony export */ iot_onenet_publish: () => (/* binding */ iot_onenet_publish), /* harmony export */ iot_onenet_publish_dict: () => (/* binding */ iot_onenet_publish_dict), /* harmony export */ iot_onenetconnect: () => (/* binding */ iot_onenetconnect), /* harmony export */ iot_onenetdisconnect: () => (/* binding */ iot_onenetdisconnect), /* harmony export */ iot_publish: () => (/* binding */ iot_publish), /* harmony export */ iot_publish_container: () => (/* binding */ iot_publish_container), /* harmony export */ iot_publish_item: () => (/* binding */ iot_publish_item), /* harmony export */ iot_wifi_connect: () => (/* binding */ iot_wifi_connect), /* harmony export */ iot_wificonnect: () => (/* binding */ iot_wificonnect) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const IOT_HUE = '#526FC3'; //'#2FAD7A'; const iot_wifi_connect = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI); this.appendValueInput('WIFINAME') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME); this.appendValueInput('PASSWORD') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_PASSWORD); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP); } }; const iot_onenet_connect = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("OneNET" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_JOIN); this.appendValueInput('CLIENT') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_CLIENT); this.appendValueInput('SERVER') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_SERVER); this.appendValueInput('USERNAME') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_USERNAME); this.appendValueInput('PASSWORD') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_PASSWORD); this.appendValueInput('TOPIC') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_TOPIC); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_ONENET_SUB); //this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP); } }; const iot_onenet_disconnect = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("OneNET") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISCONNECT_ONENET); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP); } }; const iot_onenet_check = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("OneNET") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_CHECK_ONENET); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP); } }; const iot_onenet_publish_dict = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("OneNET") this.appendValueInput('DICT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_PUBLISH_ONENET); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldCheckbox('TRUE'), 'is_print'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP); } }; const iot_onenet_publish = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("OneNET") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldLabel(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_PUBLISH_ONENET), 'TIP') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.itemCount_ = 2; this.updateShape_(); this.setInputsInline(false); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['iot_publish_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('iot_publish_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('iot_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; let i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (let i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } var keyNames = []; for (let i = 0; this.getInput('ADD' + i); i++) { //this.getInput('VALUE' + i).removeField("KEY"+i); keyNames.push(this.getFieldValue("KEY" + i)) this.removeInput('ADD' + i); } // Rebuild block. if (this.itemCount_ == 0) { //this.getField('TIP') //.setText(Blockly.Msg.MIXLY_ESP32_PUBLISH_ONENET_EMPTY); this.setFieldValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_PUBLISH_ONENET_EMPTY, 'TIP'); } else { //this.getField('TIP') //.setText(Blockly.Msg.MIXLY_ESP32_PUBLISH_ONENET); this.setFieldValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_PUBLISH_ONENET, 'TIP'); for (let i = 0; i < this.itemCount_; i++) { this.appendValueInput('ADD' + i) .setCheck(null) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField( new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput( keyNames.length > i ? keyNames[i] : '"key' + (i + 1) + '"'), 'KEY' + i) .appendField(":") } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const iot_publish_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const iot_publish_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const iot_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const iot_mixio_connect = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT); this.appendValueInput('SERVER') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SERVER) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('USERNAME') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIFI_USERNAME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('PASSWORD') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IOT_PASSWORD) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('PROJECT') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PROJECT) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.setPreviousStatement(true); this.setNextStatement(true); } }; const IOT_MIXIO_PUBLISH = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MixIO") this.appendValueInput('TOPIC') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_NEW) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_TOPIC); this.appendValueInput('MSG') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BODY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP); } }; const IOT_MIXIO_SUBSCRIBE = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MixIO") this.appendValueInput('TOPIC') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SUBSCRIBE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_MSG) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_TOPIC); this.appendValueInput('METHOD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SET_METHOD); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP); } }; const iot_mixio_disconnect = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MixIO") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_DISCONNECT_ONENET); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); // this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP); } }; const iot_mixio_connect_only = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MixIO") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_CONNECT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); // this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP); } }; const iot_mixio_check = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MixIO") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_CHECK_ONENET); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); // this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP); } }; const iot_mixio_format_topic = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_FORMAT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MQTT_Topic); this.setInputsInline(true); this.setOutput(true); } }; const iot_mixio_format_msg = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_FORMAT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_MSG); this.setInputsInline(true); this.setOutput(true); } }; const IOT_FORMATTING = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_MAP_FORMATING); this.setOutput(true); // this.setTooltip(); } }; const IOT_FORMAT_STRING = { init: function () { this.setColour(IOT_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_FORMAT + '(Json)'); this.setOutput(true); // this.setTooltip(); } }; const IOT_EMQX_PING = { init: function () { this.setColour(IOT_HUE); // this.appendValueInput('VAR') // .setCheck("var") this.appendDummyInput() .appendField("MixIO") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PING); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP); } }; const IOT_MIXIO_NTP = { init: function () { this.setColour(IOT_HUE); // this.appendValueInput('VAR') // .setCheck("var") this.appendDummyInput() .appendField("MixIO") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_NTP) this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_SERVER_ADD); this.setInputsInline(true); this.setOutput(true); } }; const IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT); this.appendValueInput('SERVER') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SERVER) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXIO_SHARE_KEY) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT); this.appendValueInput('SERVER') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SERVER) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "Mixly Key") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const iot_mixly_key = { init: function () { this.VISITOR_ID = mixly__WEBPACK_IMPORTED_MODULE_1__.Config.BOARD.visitorId.str32.substring(0, 8).toUpperCase(); this.setColour(IOT_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(this.visitorId), 'VISITOR_ID'); this.setOutput(true, null); }, onchange: function () { const nowVisitorId = this.getFieldValue('VISITOR_ID'); if (this.VISITOR_ID !== nowVisitorId) this.setFieldValue(this.VISITOR_ID, 'VISITOR_ID'); } }; const iot_client_onboard = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField('MixIO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catEthernet_clinet); this.setOutput(true); this.setInputsInline(true); } }; const iot_http_client = { init: function () { this.setColour(IOT_HUE); // this.appendValueInput('VAR') // .setCheck("var") this.appendDummyInput() .appendField("HTTP" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_CURRENT_TIME) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OPEN_DEBUG) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, "False"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const iot_http_data = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("HTTP" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_LEN, "client_len"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_GET_LEN, "server_len"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_MESSAGE, "text"] ]), "key"); this.setOutput(true); this.setInputsInline(true); } }; const iot_mqtt_client = { init: function () { this.setColour(IOT_HUE); // this.appendValueInput('VAR') // .setCheck("var") this.appendDummyInput() .appendField("MQTT" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONNECTTO); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_INIT_SUBSCRIBE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MQTT_Topic) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_CURRENT_TIME, ""], ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OPEN_DEBUG) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, "False"] ]), "key2"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const iot_mqtt_data = { init: function () { this.setColour(IOT_HUE); this.appendDummyInput() .appendField("MQTT" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Client) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_LEN, "client_len"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_GET_LEN, "server_len"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REQUESTS_MESSAGE, "time_msg()"] ]), "key"); this.setOutput(true); this.setInputsInline(true); } }; const iot_wificonnect = iot_wifi_connect; const iot_onenetconnect = iot_onenet_connect; const iot_onenetdisconnect = iot_onenet_disconnect; const iot_checkonenet = iot_onenet_check; const iot_publish = iot_onenet_publish; /***/ }), /***/ "../micropython/blocks/network.js": /*!****************************************!*\ !*** ../micropython/blocks/network.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ educore_mqtt_connect: () => (/* binding */ educore_mqtt_connect), /* harmony export */ educore_mqtt_connect_success: () => (/* binding */ educore_mqtt_connect_success), /* harmony export */ educore_mqtt_subscribe_message: () => (/* binding */ educore_mqtt_subscribe_message), /* harmony export */ educore_mqtt_topic_publish: () => (/* binding */ educore_mqtt_topic_publish), /* harmony export */ educore_mqtt_topic_subscribe: () => (/* binding */ educore_mqtt_topic_subscribe), /* harmony export */ educore_wifi_connect: () => (/* binding */ educore_wifi_connect), /* harmony export */ network_ap_connect: () => (/* binding */ network_ap_connect), /* harmony export */ network_connect: () => (/* binding */ network_connect), /* harmony export */ network_get_connect: () => (/* binding */ network_get_connect), /* harmony export */ network_get_wifi: () => (/* binding */ network_get_wifi), /* harmony export */ network_init: () => (/* binding */ network_init), /* harmony export */ network_is_active: () => (/* binding */ network_is_active), /* harmony export */ network_open: () => (/* binding */ network_open), /* harmony export */ network_scan: () => (/* binding */ network_scan), /* harmony export */ network_server: () => (/* binding */ network_server), /* harmony export */ network_socket_accept: () => (/* binding */ network_socket_accept), /* harmony export */ network_socket_bind: () => (/* binding */ network_socket_bind), /* harmony export */ network_socket_close: () => (/* binding */ network_socket_close), /* harmony export */ network_socket_connect: () => (/* binding */ network_socket_connect), /* harmony export */ network_socket_init: () => (/* binding */ network_socket_init), /* harmony export */ network_socket_listen: () => (/* binding */ network_socket_listen), /* harmony export */ network_socket_receive: () => (/* binding */ network_socket_receive), /* harmony export */ network_socket_receive_from: () => (/* binding */ network_socket_receive_from), /* harmony export */ network_socket_send: () => (/* binding */ network_socket_send), /* harmony export */ network_socket_send_to: () => (/* binding */ network_socket_send_to), /* harmony export */ network_stop: () => (/* binding */ network_stop), /* harmony export */ network_wifi_connect: () => (/* binding */ network_wifi_connect), /* harmony export */ ntptime_address: () => (/* binding */ ntptime_address), /* harmony export */ ntptime_time: () => (/* binding */ ntptime_time), /* harmony export */ requests_attribute: () => (/* binding */ requests_attribute), /* harmony export */ requests_attribute2: () => (/* binding */ requests_attribute2), /* harmony export */ requests_get: () => (/* binding */ requests_get), /* harmony export */ requests_get2: () => (/* binding */ requests_get2), /* harmony export */ requests_method: () => (/* binding */ requests_method), /* harmony export */ requests_post: () => (/* binding */ requests_post) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const NETWORK_HUE = 225; const network_init = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_INIT) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['STA', "STA"], ['AP', "AP"] ]), "mode"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP); } }; const network_open = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_OPEN, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_CLOSE, "False"] ]), "op"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_FLAG) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('op'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP; var TOOLTIPS = { 'True': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_OPEN, 'False': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_CLOSE, }; return TOOLTIPS[mode] + mode0 }); } }; const network_is_active = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE); } }; const network_scan = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_SCAN) this.setOutput(true); this.setInputsInline(true); this.setTooltip(function () { var mode = 'all'; var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP var TOOLTIPS = { '0': "ssid", '1': 'bssid', '2': "channel", '3': "RSSI", '4': "authmode", '5': "hidden", 'all': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE, }; return mode0 + TOOLTIPS[mode] }); } }; const network_connect = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_CONNECT); this.appendValueInput('id') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME); this.appendValueInput('password') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_PASSWORD); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP); } }; const network_wifi_connect = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_CONNECT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SYMBOL_QUESTION); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP); } }; const network_get_connect = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GET_WIFI); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_IP, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_MASK, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GATEWAY, "2"], ["DNS", "3"] ]), "mode"); this.setOutput(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('mode'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP var TOOLTIPS = { '0': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_IP, '1': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_MASK, '2': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GATEWAY, '3': "DNS", }; return mode0 + TOOLTIPS[mode] }); } }; const network_stop = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP); } }; const network_get_wifi = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GET_WIFI); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_ESSID, "essid"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_CHANNEL, "channel"] ]), "op"); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP); } }; const network_ap_connect = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET); this.appendValueInput('essid') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_ESSID); this.appendValueInput('channel') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NETWORK_WIFI_CHANNEL); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP); } }; const network_server = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SERVER1); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SERVER2); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP); } }; const network_socket_init = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_INIT) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['TCP', "TCP"], ['UDP', "UDP"] ]), "mode"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('mode'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP var TOOLTIPS = { 'TCP': 'TCP', 'UDP': 'UDP', }; return mode0 + TOOLTIPS[mode] }); } }; const network_socket_bind = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET) this.appendValueInput('address') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP); } }; const network_socket_connect = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET) this.appendValueInput('address') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP); } }; const network_socket_listen = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendValueInput('queue') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP); } }; const network_socket_accept = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP); } }; const network_socket_receive = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("TCP") this.appendValueInput('size') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP); } }; const network_socket_send = { init: function () { this.setColour(NETWORK_HUE); // .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) this.appendValueInput('VAR') .setCheck("var") .appendField("TCP") this.appendValueInput('content') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_SEND) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP); } }; const network_socket_receive_from = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") .appendField("UDP") this.appendValueInput('size') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP); } }; const network_socket_send_to = { init: function () { this.setColour(NETWORK_HUE); // .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) this.appendValueInput('VAR') .setCheck("var") .appendField("UDP") this.appendValueInput('content') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_SEND) this.appendValueInput('address') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_TO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP); } }; const network_socket_close = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput('VAR') .setCheck("var") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP); } }; const requests_get = { init: function () { this.setColour(NETWORK_HUE); this.appendValueInput("DOMAIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('response'), 'VAR') this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_TOOLTIP); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } } const requests_attribute = { init: function () { this.appendValueInput('VAL') var attr = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE, 'status_code'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_TEXT, 'text'] , [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES, 'cookies'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT, 'content']]; this.setColour(NETWORK_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(attr), 'ATTR') this.setInputsInline(true); this.setOutput(true, String); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('DIR'); var TOOLTIPS = { 'clear': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR, 'reset': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_RESET, 'home': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_HOME }; return TOOLTIPS[mode]; }); } }; const requests_method = { init: function () { this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); var method = [ ['post', 'post'], ['put', 'put'], ['delete', 'delete'], ['head', 'head'], ['option', 'option'] ]; this.setColour(NETWORK_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_CONDUCT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(method), 'DIR') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('DIR'); var TOOLTIPS = { 'forward': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD, 'backward': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD }; return TOOLTIPS[mode]; }); } }; const ntptime_time = { init: function () { this.setColour(NETWORK_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_NTP + '(NTP)') this.appendValueInput("data") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_SERVER_ADD) this.setOutput(true, 'Tuple'); this.setInputsInline(true); } }; const ntptime_address = { init: function () { this.setColour(NETWORK_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['ntp.aliyun.com', "ntp.aliyun.com"], ['ntp1.aliyun.com', "ntp1.aliyun.com"], ['ntp2.aliyun.com', "ntp2.aliyun.com"], ['ntp3.aliyun.com', "ntp3.aliyun.com"], ['ntp4.aliyun.com', "ntp4.aliyun.com"], ['ntp5.aliyun.com', "ntp5.aliyun.com"], ['ntp6.aliyun.com', "ntp6.aliyun.com"], ['ntp7.aliyun.com', "ntp7.aliyun.com"], ['time1.cloud.tencent.com', "time1.cloud.tencent.com"], ['time2.cloud.tencent.com', "time2.cloud.tencent.com"], ['time3.cloud.tencent.com', "time3.cloud.tencent.com"], ['time4.cloud.tencent.com', "time4.cloud.tencent.com"], ['time5.cloud.tencent.com', "time5.cloud.tencent.com"] ]), 'op') this.setOutput(true); } }; const COMMUNICATE_HUE = '#3288dd'; const requests_get2 = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput("URL") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_CONDUCT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["get", "get"], ["head", "head"], ["delete", "delete"]]), 'TYPE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_REQUESTS_GET_RESULT) this.setInputsInline(true); this.setOutput(true); this.setTooltip(""); }, }; const requests_post = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput("URL") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DISPLAY_IMAGE_LET2) .setCheck(String); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_CONDUCT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["post", "post"], ["put", "put"], ["patch", "patch"]]), 'TYPE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS) this.appendValueInput("data") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OLED_STRING) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_REQUESTS_GET_RESULT) this.setInputsInline(true); this.setOutput(true); this.setTooltip(""); }, }; const requests_attribute2 = { init: function () { this.appendValueInput('VAL') var attr = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_TEXT, 'text'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_JSON, 'json()'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE, 'status_code'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT, 'content'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TEXT_ENCODE, 'encoding'] ]; this.setColour(COMMUNICATE_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(attr), 'ATTR') this.setInputsInline(true); this.setOutput(true, String); } }; //educore_networke const educore_wifi_connect = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI); this.appendValueInput('WIFINAME') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME); this.appendValueInput('PASSWORD') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_PASSWORD); this.appendValueInput('TIMEOUT') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_TIMEOUT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIS) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP); } }; const educore_mqtt_connect = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP); this.appendValueInput('SERVER') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SERVER) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('PORT') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PORT) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('CLIENT_ID') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_CLIENT_ID) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('USERNAME') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIFI_USERNAME) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.appendValueInput('PASSWORD') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IOT_PASSWORD) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_mqtt_subscribe_message = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendValueInput('TOPIC') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SUBSCRIBE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_MSG) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_TOPIC); this.appendValueInput('MESSAGE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of); this.setInputsInline(true); this.setOutput(true); } }; const educore_mqtt_topic_subscribe = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField("mqtt") this.appendValueInput('TOPIC') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SUBSCRIBE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_MSG) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_TOPIC); this.appendValueInput('METHOD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_SET_METHOD); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_mqtt_topic_publish = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField("mqtt") this.appendValueInput('TOPIC') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_NEW) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH_TOPIC); this.appendValueInput('MSG') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BODY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const educore_mqtt_connect_success = { init: function () { this.setColour(COMMUNICATE_HUE); this.appendDummyInput() .appendField("mqtt"+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_IS_CONNECT) this.setInputsInline(true); this.setOutput(true); } }; /***/ }), /***/ "../micropython/blocks/nova_g1.js": /*!****************************************!*\ !*** ../micropython/blocks/nova_g1.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ get_potential_num: () => (/* binding */ get_potential_num), /* harmony export */ nova_g1_motor: () => (/* binding */ nova_g1_motor), /* harmony export */ nova_g1_spk_en: () => (/* binding */ nova_g1_spk_en), /* harmony export */ nova_g1_usb: () => (/* binding */ nova_g1_usb) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const NOVAG1_HUE = 100; const get_potential_num = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_nova") { var name = 'Nova G1' } this.setColour(NOVAG1_HUE); this.appendDummyInput() .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM); this.setOutput(true, Number); this.setInputsInline(true); } } const nova_g1_motor = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_nova") { var name = 'Nova G1' } this.setColour(NOVAG1_HUE); this.appendValueInput('PIN') .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const nova_g1_usb = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_nova") { var name = 'Nova G1' } this.setColour(NOVAG1_HUE); this.appendValueInput('PIN') .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_USB); this.appendValueInput('percent') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_POWER_SUPPLY); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const nova_g1_spk_en = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_nova") { var name = 'Nova G1' } this.setColour(NOVAG1_HUE); this.appendDummyInput() .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPK_STATE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ON, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OFF, "False"] ]), "state"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } /***/ }), /***/ "../micropython/blocks/pe_g1.js": /*!**************************************!*\ !*** ../micropython/blocks/pe_g1.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ pe_g1_battery_left: () => (/* binding */ pe_g1_battery_left), /* harmony export */ pe_g1_dc_motor: () => (/* binding */ pe_g1_dc_motor), /* harmony export */ pe_g1_dc_motor_speed: () => (/* binding */ pe_g1_dc_motor_speed), /* harmony export */ pe_g1_servo_get_angle: () => (/* binding */ pe_g1_servo_get_angle), /* harmony export */ pe_g1_servo_get_speed: () => (/* binding */ pe_g1_servo_get_speed), /* harmony export */ pe_g1_servo_set_angle: () => (/* binding */ pe_g1_servo_set_angle), /* harmony export */ pe_g1_servo_set_speed: () => (/* binding */ pe_g1_servo_set_speed), /* harmony export */ pe_g1_use_i2c_init: () => (/* binding */ pe_g1_use_i2c_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const PEG1_HUE = 100; const pe_g1_use_i2c_init = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(name); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const pe_g1_battery_left = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT); this.setOutput(true, Number); this.setInputsInline(true); } }; const pe_g1_dc_motor = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CLOCKWISE, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANTI_CLOCKWISE, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const pe_g1_dc_motor_speed = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_GET_SPEED); this.setOutput(true, Number); this.setInputsInline(true); } } const pe_g1_servo_set_angle = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField('180°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendValueInput("NUM", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_MOVE); } }; const pe_g1_servo_set_speed = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField('360°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendValueInput("NUM", Number) .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.appendDummyInput() .appendField('%'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS); } }; const pe_g1_servo_get_angle = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField('180°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE); this.setOutput(true, Number); this.setInputsInline(true); } }; const pe_g1_servo_get_speed = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_ce") { var name = 'CE G6' } else if (version == "mixgo_pe") { var name = 'PE G1' } this.setColour(PEG1_HUE); this.appendValueInput('SUB') .appendField(name) .setCheck("var"); this.appendValueInput('PIN') .appendField('360°' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED); this.setOutput(true, Number); this.setInputsInline(true); } }; /***/ }), /***/ "../micropython/blocks/pins.js": /*!*************************************!*\ !*** ../micropython/blocks/pins.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ analog_input: () => (/* binding */ analog_input), /* harmony export */ analog_output: () => (/* binding */ analog_output), /* harmony export */ espnow_channel: () => (/* binding */ espnow_channel), /* harmony export */ i2c_A_pin: () => (/* binding */ i2c_A_pin), /* harmony export */ i2c_B_pin: () => (/* binding */ i2c_B_pin), /* harmony export */ pins_analog: () => (/* binding */ pins_analog), /* harmony export */ pins_analog_pin: () => (/* binding */ pins_analog_pin), /* harmony export */ pins_axis: () => (/* binding */ pins_axis), /* harmony export */ pins_brightness: () => (/* binding */ pins_brightness), /* harmony export */ pins_builtinimg: () => (/* binding */ pins_builtinimg), /* harmony export */ pins_button: () => (/* binding */ pins_button), /* harmony export */ pins_dac: () => (/* binding */ pins_dac), /* harmony export */ pins_dac_pin: () => (/* binding */ pins_dac_pin), /* harmony export */ pins_digital: () => (/* binding */ pins_digital), /* harmony export */ pins_digital_dot: () => (/* binding */ pins_digital_dot), /* harmony export */ pins_digital_pin: () => (/* binding */ pins_digital_pin), /* harmony export */ pins_exlcdh: () => (/* binding */ pins_exlcdh), /* harmony export */ pins_exlcdv: () => (/* binding */ pins_exlcdv), /* harmony export */ pins_imglist: () => (/* binding */ pins_imglist), /* harmony export */ pins_input_pin: () => (/* binding */ pins_input_pin), /* harmony export */ pins_one_more: () => (/* binding */ pins_one_more), /* harmony export */ pins_output_pin: () => (/* binding */ pins_output_pin), /* harmony export */ pins_playlist: () => (/* binding */ pins_playlist), /* harmony export */ pins_pwm: () => (/* binding */ pins_pwm), /* harmony export */ pins_pwm_pin: () => (/* binding */ pins_pwm_pin), /* harmony export */ pins_radio_datarate: () => (/* binding */ pins_radio_datarate), /* harmony export */ pins_radio_power: () => (/* binding */ pins_radio_power), /* harmony export */ pins_serial: () => (/* binding */ pins_serial), /* harmony export */ pins_tone_notes: () => (/* binding */ pins_tone_notes), /* harmony export */ pins_touch: () => (/* binding */ pins_touch), /* harmony export */ pins_touch_pin: () => (/* binding */ pins_touch_pin), /* harmony export */ pwm_input: () => (/* binding */ pwm_input), /* harmony export */ pwm_output: () => (/* binding */ pwm_output), /* harmony export */ spi_A_pin: () => (/* binding */ spi_A_pin), /* harmony export */ spi_B_pin: () => (/* binding */ spi_B_pin), /* harmony export */ spi_C_pin: () => (/* binding */ spi_C_pin), /* harmony export */ spi_D_pin: () => (/* binding */ spi_D_pin) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const PINS_HUE = 230; const pins_digital = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital), 'PIN'); this.setOutput(true); } }; const pins_digital_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_input_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.input_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_output_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), 'PIN'); this.setOutput(true, Number); } }; const pwm_input = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_input), 'PIN'); this.setOutput(true); } }; const analog_input = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_input), 'PIN'); this.setOutput(true); } }; const pwm_output = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_output), 'PIN'); this.setOutput(true); } }; const analog_output = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_output), 'PIN'); this.setOutput(true); } }; const espnow_channel = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.espnow_channel), 'PIN'); this.setOutput(true, Number); } }; const i2c_A_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.i2c_A_pin), 'PIN'); this.setOutput(true, Number); } }; const i2c_B_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.i2c_B_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_A_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_A_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_B_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_B_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_C_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_C_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_D_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_D_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_analog = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog), 'PIN'); this.setOutput(true); } }; const pins_analog_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_dac = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.dac), 'PIN'); this.setOutput(true); } }; const pins_dac_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.dac_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_button = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.button), 'PIN'); this.setOutput(true, Number); } }; const pins_pwm = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm), 'PIN'); this.setOutput(true); } }; const pins_pwm_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_touch_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.touch_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_touch = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.touch), 'PIN'); this.setOutput(true); } }; const pins_serial = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.serial_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_builtinimg = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.builtinimg), 'PIN'); this.setOutput(true, "esp32_image"); } }; const pins_imglist = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.imglist), 'PIN'); this.setOutput(true); } }; const pins_playlist = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.playlist), 'PIN'); this.setOutput(true); } }; const pins_exlcdh = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.exlcdh), 'PIN'); this.setOutput(true, Number); } }; const pins_exlcdv = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.exlcdv), 'PIN'); this.setOutput(true, Number); } }; const pins_axis = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.axis), 'PIN'); this.setOutput(true, Number); } }; const pins_brightness = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.brightness), 'PIN'); this.setOutput(true, Number); } }; const pins_tone_notes = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.tone_notes), 'PIN'); this.setOutput(true, Number); } }; const pins_radio_power = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.radio_power), 'PIN'); this.setOutput(true, Number); } }; const pins_radio_datarate = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.radio_datarate), 'PIN'); this.setOutput(true, Number); } }; const pins_one_more = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.one_more), 'PIN'); this.setOutput(true); } }; const pins_digital_dot = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital_dot), 'PIN'); this.setOutput(true, Number); } }; /***/ }), /***/ "../micropython/blocks/sensor.js": /*!***************************************!*\ !*** ../micropython/blocks/sensor.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ RTC_get_time: () => (/* binding */ RTC_get_time), /* harmony export */ RTC_set_date: () => (/* binding */ RTC_set_date), /* harmony export */ RTC_set_datetime: () => (/* binding */ RTC_set_datetime), /* harmony export */ RTC_set_time: () => (/* binding */ RTC_set_time), /* harmony export */ dht11: () => (/* binding */ dht11), /* harmony export */ number1: () => (/* binding */ number1), /* harmony export */ sensor_adxl345_get_acceleration: () => (/* binding */ sensor_adxl345_get_acceleration), /* harmony export */ sensor_bmp: () => (/* binding */ sensor_bmp), /* harmony export */ sensor_button_get_presses: () => (/* binding */ sensor_button_get_presses), /* harmony export */ sensor_button_is_pressed: () => (/* binding */ sensor_button_is_pressed), /* harmony export */ sensor_button_was_pressed: () => (/* binding */ sensor_button_was_pressed), /* harmony export */ sensor_compass_reset: () => (/* binding */ sensor_compass_reset), /* harmony export */ sensor_dht11: () => (/* binding */ sensor_dht11), /* harmony export */ sensor_distance_hrsc04: () => (/* binding */ sensor_distance_hrsc04), /* harmony export */ sensor_ds18x20: () => (/* binding */ sensor_ds18x20), /* harmony export */ sensor_field_strength: () => (/* binding */ sensor_field_strength), /* harmony export */ sensor_get_acceleration: () => (/* binding */ sensor_get_acceleration), /* harmony export */ sensor_light: () => (/* binding */ sensor_light), /* harmony export */ sensor_light_level: () => (/* binding */ sensor_light_level), /* harmony export */ sensor_lm35: () => (/* binding */ sensor_lm35), /* harmony export */ sensor_mixgo_button_attachInterrupt: () => (/* binding */ sensor_mixgo_button_attachInterrupt), /* harmony export */ sensor_mixgo_button_get_presses: () => (/* binding */ sensor_mixgo_button_get_presses), /* harmony export */ sensor_mixgo_button_is_pressed: () => (/* binding */ sensor_mixgo_button_is_pressed), /* harmony export */ sensor_mixgo_button_was_pressed: () => (/* binding */ sensor_mixgo_button_was_pressed), /* harmony export */ sensor_mixgo_extern_button_attachInterrupt: () => (/* binding */ sensor_mixgo_extern_button_attachInterrupt), /* harmony export */ sensor_mixgo_extern_button_get_presses: () => (/* binding */ sensor_mixgo_extern_button_get_presses), /* harmony export */ sensor_mixgo_extern_button_is_pressed: () => (/* binding */ sensor_mixgo_extern_button_is_pressed), /* harmony export */ sensor_mixgo_extern_button_was_pressed: () => (/* binding */ sensor_mixgo_extern_button_was_pressed), /* harmony export */ sensor_mixgo_extern_light: () => (/* binding */ sensor_mixgo_extern_light), /* harmony export */ sensor_mixgo_extern_pin_near: () => (/* binding */ sensor_mixgo_extern_pin_near), /* harmony export */ sensor_mixgo_extern_sound: () => (/* binding */ sensor_mixgo_extern_sound), /* harmony export */ sensor_mixgo_light: () => (/* binding */ sensor_mixgo_light), /* harmony export */ sensor_mixgo_pin_near: () => (/* binding */ sensor_mixgo_pin_near), /* harmony export */ sensor_mixgo_pin_pressed: () => (/* binding */ sensor_mixgo_pin_pressed), /* harmony export */ sensor_mpu9250_attachGestureInterrupt: () => (/* binding */ sensor_mpu9250_attachGestureInterrupt), /* harmony export */ sensor_mpu9250_calibrate_compass: () => (/* binding */ sensor_mpu9250_calibrate_compass), /* harmony export */ sensor_mpu9250_field_strength: () => (/* binding */ sensor_mpu9250_field_strength), /* harmony export */ sensor_mpu9250_gesture: () => (/* binding */ sensor_mpu9250_gesture), /* harmony export */ sensor_mpu9250_get_acceleration: () => (/* binding */ sensor_mpu9250_get_acceleration), /* harmony export */ sensor_mpu9250_get_gyro: () => (/* binding */ sensor_mpu9250_get_gyro), /* harmony export */ sensor_mpu9250_get_magnetic: () => (/* binding */ sensor_mpu9250_get_magnetic), /* harmony export */ sensor_mpu9250_temperature: () => (/* binding */ sensor_mpu9250_temperature), /* harmony export */ sensor_pin_near: () => (/* binding */ sensor_pin_near), /* harmony export */ sensor_pin_pressed: () => (/* binding */ sensor_pin_pressed), /* harmony export */ sensor_rtc_init: () => (/* binding */ sensor_rtc_init), /* harmony export */ sensor_sht: () => (/* binding */ sensor_sht), /* harmony export */ sensor_temperature: () => (/* binding */ sensor_temperature), /* harmony export */ sensor_use_i2c_init: () => (/* binding */ sensor_use_i2c_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _sensor_onboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sensor_onboard */ "../micropython/blocks/sensor_onboard.js"); const SENSOR_HUE = 40; //'#9e77c9'//40; const sensor_mixgo_button_is_pressed = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_IS_PRESSED); } }; const sensor_mixgo_button_was_pressed = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const sensor_mixgo_button_get_presses = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); } }; const sensor_mixgo_button_attachInterrupt = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("btn") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INTERRUPT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING or machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT); } }; const sensor_mixgo_extern_button_is_pressed = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_PRESSED); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ELECLEVEL); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_IS_PRESSED); } }; const sensor_mixgo_extern_button_was_pressed = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ELECLEVEL); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const sensor_mixgo_extern_button_get_presses = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); } }; const sensor_mixgo_extern_button_attachInterrupt = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING or machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT); } }; const sensor_mpu9250_attachGestureInterrupt = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, "shake"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "right"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, "face up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, "face down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_freefall, "freefall"], ["3g", "3g"], ["6g", "6g"], ["8g", "8g"]]), "gesture"); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('gesture'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_STATE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PERFORMANCE var TOOLTIPS = { 'shake': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'face up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, 'face down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, 'freefall': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_freefall, '3g': '3g', '6g': '6g', '8g': '8g' }; return mode0 + mode1 + mode2 + TOOLTIPS[mode] + mode3; }); } }; const sensor_mpu9250_gesture = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, "shake"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "right"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, "face up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, "face down"]]), "gesture"); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('gesture'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_STATE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PERFORMANCE var TOOLTIPS = { 'shake': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'face up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, 'face down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, // 'freefall':Blockly.Msg.MIXLY_MICROBIT_freefall, // '3g': '3g', // '6g': '6g', // '8g': '8g' }; return mode0 + mode1 + mode2 + TOOLTIPS[mode] + mode3; }); } }; const sensor_mpu9250_get_acceleration = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_adxl345_get_acceleration = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_light_level = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP); } }; const sensor_mpu9250_calibrate_compass = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS); } }; // export const sensor_mpu9250_is_compass_calibrated = { // init: function(){ // this.setColour(SENSOR_HUE); // this.appendValueInput('SUB') // .setCheck("var"); // this.appendDummyInput() // .appendField(Blockly.Msg.MIXLY_MICROBIT_JS_IS_COMPASS_CALIBRATED) // this.setOutput(true, Number); // this.setInputsInline(true); // this.setTooltip(Blockly.Msg.MIXLY_MICROBIT_JS_IS_COMPASS_CALIBRATED1); // } // }; // export const sensor_mpu9250_compass_heading = { // init: function(){ // this.setColour(SENSOR_HUE); // this.appendValueInput('SUB') // .setCheck("var"); // this.appendDummyInput() // .appendField(Blockly.Msg.MIXLY_MICROBIT_JS_BY_ANGLE) // this.setOutput(true, Number); // this.setInputsInline(true); // } // }; const sensor_mpu9250_temperature = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); } }; const sensor_mpu9250_field_strength = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'strength'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, 'heading']]), 'compass'); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('compass'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS; var TOOLTIPS = { 'strength': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'heading': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE }; return mode0 + TOOLTIPS[mode]; }); } }; const sensor_distance_hrsc04 = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO); } }; //传感器-实时时钟块_获取时间 const RTC_get_time = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("RTC") .setCheck("var"); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCGETTIME); // this.appendDummyInput("").setAlign(Blockly.inputs.Align.RIGHT).appendField('myRTC'); // this.appendDummyInput("").setAlign(Blockly.inputs.Align.RIGHT).appendField(new Blockly.FieldDropdown(RTC_TIME_TYPE), "TIME_TYPE"); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP); // var thisBlock = this; // this.setTooltip(function() { // var mode = thisBlock.getFieldValue('TIME_TYPE'); // var mode0 = Blockly.Msg.MIXLY_RTCGETTIME; // var TOOLTIPS = { // 'Year':Blockly.Msg.MIXLY_YEAR, // 'Month':Blockly.Msg.MIXLY_MONTH, // 'Day':Blockly.Msg.MIXLY_DAY, // 'Hour':Blockly.Msg.MIXLY_HOUR, // 'Minute':Blockly.Msg.MIXLY_MINUTE, // 'Second':Blockly.Msg.MIXLY_SECOND, // 'Week':Blockly.Msg.MIXLY_WEEK, // 'Mix1':Blockly.Msg.MIXLY_MIX1, // 'Mix2':Blockly.Msg.MIXLY_MIX2 // }; // return mode0 +TOOLTIPS[mode]; // }); } }; const RTC_set_time = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETTIME) .appendField('myRTC'); this.appendValueInput("hour") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR); this.appendValueInput("minute") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE); this.appendValueInput("second") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETTIME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIX2); } }; const RTC_set_date = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETDATE) .appendField('myRTC'); this.appendValueInput("year") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR); this.appendValueInput("month") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH); this.appendValueInput("day") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETDATE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIX1); } }; const sensor_compass_reset = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS); } }; const HCSR04 = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO); this.appendValueInput("PIN1", Number) .appendField('Trig #') .setCheck(Number); this.appendValueInput("PIN2", Number) .appendField('Echo #') .setCheck(Number); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO); } }; const sensor_dht11 = { init: function () { var WHAT = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, 'temperature'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, 'relative_humidity'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DHT11_T_H, 'tempandhum']]; this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['DHT11', 'dht11'] , ['DHT22', 'dht22']//, ['DHT21', '21'], ['DHT33', '33'], ['DHT44', '44'] ]), 'TYPE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(WHAT), "WHAT"); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('WHAT'); var TOOLTIPS = { 'temperature': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM, 'relative_humidity': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM, 'tempandhum': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM }; return TOOLTIPS[op]; }); } }; const sensor_mixgo_extern_light = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP); } }; const sensor_mixgo_extern_sound = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_SOUND); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP); } }; const number1 = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["1", "touch1"], ["2", "touch2"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const sensor_mixgo_pin_pressed = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("button") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_TOUCHED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_sensor_pin_pressed); } }; const sensor_mixgo_extern_pin_near = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_NEAR); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); } }; const sensor_mixgo_pin_near = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "right"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; var TOOLTIPS = { 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const RTC_set_datetime = { init: function () { this.setColour(SENSOR_HUE); // this.appendDummyInput() this.appendValueInput('SUB') .appendField("RTC") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTC_TIME) .setCheck("var"); this.appendValueInput('year') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR); this.appendValueInput('month') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH); this.appendValueInput('day') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY); this.appendValueInput('weekday') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEEK2); this.appendValueInput('hour') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR); this.appendValueInput('minute') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE); this.appendValueInput('second') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND); this.appendValueInput('millisecond') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLISECOND); this.setInputsInline(false); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP); } }; const sensor_rtc_init = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .appendField("RTC") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP); } }; const sensor_use_i2c_init = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["MPU9250", "MPU9250"], ["BMP280", "BMP280"], ["SHT20", "SHT20"], ["ADXL345", "ADXL345"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setFieldValue("MPU9250", "key"); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP; var TOOLTIPS = { "MPU9250": "MPU9250", "SHT20": "SHT20", "BMP280": "BMP280", "ADXL345": "ADXL345" }; return mode0 + TOOLTIPS[mode] }); } }; const sensor_bmp = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("BMP280") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "get_BMP_temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "get_BMP_pressure()"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "get_BMP_temperature()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP, "get_BMP_pressure()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP, }; return TOOLTIPS[mode] }); } }; const sensor_sht = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("SHT20") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "get_SHT_temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "get_SHT_relative_humidity()"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "get_SHT_temperature()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "get_SHT_relative_humidity()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP, }; return TOOLTIPS[mode] }); } }; const sensor_ds18x20 = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput("PIN", Number) .appendField("DS18x20 " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP); } }; const sensor_mpu9250_get_magnetic = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mpu9250_get_gyro = { init: function () { this.setColour(SENSOR_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_lm35 = { init: function () { this.setColour(SENSOR_HUE); this.appendDummyInput("") .appendField("LM35" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LM35); } }; const sensor_button_is_pressed = sensor_mixgo_button_is_pressed; const sensor_button_was_pressed = sensor_mixgo_button_was_pressed; const sensor_button_get_presses = sensor_mixgo_button_get_presses; const sensor_pin_pressed = sensor_mixgo_pin_pressed; const sensor_pin_near = sensor_mixgo_pin_near; const sensor_mixgo_light = _sensor_onboard__WEBPACK_IMPORTED_MODULE_1__.sensor_LTR308; const sensor_light = sensor_mixgo_light; const sensor_get_acceleration = sensor_mpu9250_get_acceleration; const dht11 = sensor_dht11; const sensor_field_strength = sensor_mpu9250_field_strength; const sensor_temperature = sensor_mpu9250_temperature /***/ }), /***/ "../micropython/blocks/sensor_extern.js": /*!**********************************************!*\ !*** ../micropython/blocks/sensor_extern.js ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CI130X_BROADCAST: () => (/* binding */ CI130X_BROADCAST), /* harmony export */ CI130X_GET_THE_RECOGNIZED_CMD: () => (/* binding */ CI130X_GET_THE_RECOGNIZED_CMD), /* harmony export */ CI130X_GET_WHETHER_IDENTIFY: () => (/* binding */ CI130X_GET_WHETHER_IDENTIFY), /* harmony export */ CI130X_IDENTIFY_AND_SAVE: () => (/* binding */ CI130X_IDENTIFY_AND_SAVE), /* harmony export */ CI130X_SET_SYSTEM_CMD: () => (/* binding */ CI130X_SET_SYSTEM_CMD), /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ PS2_Button: () => (/* binding */ PS2_Button), /* harmony export */ PS2_Buttons: () => (/* binding */ PS2_Buttons), /* harmony export */ PS2_Buttons_new: () => (/* binding */ PS2_Buttons_new), /* harmony export */ PS2_State: () => (/* binding */ PS2_State), /* harmony export */ PS2_init: () => (/* binding */ PS2_init), /* harmony export */ PS2_init_new: () => (/* binding */ PS2_init_new), /* harmony export */ PS2_stk: () => (/* binding */ PS2_stk), /* harmony export */ PS2_stk_new: () => (/* binding */ PS2_stk_new), /* harmony export */ PS2_vibration: () => (/* binding */ PS2_vibration), /* harmony export */ PS2_vibration_new: () => (/* binding */ PS2_vibration_new), /* harmony export */ camera_sensor_init: () => (/* binding */ camera_sensor_init), /* harmony export */ camera_sensor_result: () => (/* binding */ camera_sensor_result), /* harmony export */ educore_body_sensor: () => (/* binding */ educore_body_sensor), /* harmony export */ educore_button_sensor_extern: () => (/* binding */ educore_button_sensor_extern), /* harmony export */ educore_camera_sensor: () => (/* binding */ educore_camera_sensor), /* harmony export */ educore_infrared_sensor: () => (/* binding */ educore_infrared_sensor), /* harmony export */ educore_soilhum_sensor: () => (/* binding */ educore_soilhum_sensor), /* harmony export */ educore_temp_sensor: () => (/* binding */ educore_temp_sensor), /* harmony export */ educore_temphum_sensor: () => (/* binding */ educore_temphum_sensor), /* harmony export */ educore_ultrasonic_sensor: () => (/* binding */ educore_ultrasonic_sensor), /* harmony export */ esp32_s2_weather_init: () => (/* binding */ esp32_s2_weather_init), /* harmony export */ esp32_s2_weather_rain: () => (/* binding */ esp32_s2_weather_rain), /* harmony export */ esp32_s2_weather_wd: () => (/* binding */ esp32_s2_weather_wd), /* harmony export */ esp32_s2_weather_ws: () => (/* binding */ esp32_s2_weather_ws), /* harmony export */ extern_rfid_read: () => (/* binding */ extern_rfid_read), /* harmony export */ extern_rfid_readcontent: () => (/* binding */ extern_rfid_readcontent), /* harmony export */ extern_rfid_readid: () => (/* binding */ extern_rfid_readid), /* harmony export */ extern_rfid_status: () => (/* binding */ extern_rfid_status), /* harmony export */ extern_rfid_write: () => (/* binding */ extern_rfid_write), /* harmony export */ extern_rfid_write_return: () => (/* binding */ extern_rfid_write_return), /* harmony export */ gnss_get_data: () => (/* binding */ gnss_get_data), /* harmony export */ gnss_have_data: () => (/* binding */ gnss_have_data), /* harmony export */ interaction_whether_to_interaction: () => (/* binding */ interaction_whether_to_interaction), /* harmony export */ interaction_whether_to_interaction_SANT: () => (/* binding */ interaction_whether_to_interaction_SANT), /* harmony export */ mixbot_sensor_extern_get_addr: () => (/* binding */ mixbot_sensor_extern_get_addr), /* harmony export */ mixbot_sensor_extern_set_addr: () => (/* binding */ mixbot_sensor_extern_set_addr), /* harmony export */ pm25_get_data: () => (/* binding */ pm25_get_data), /* harmony export */ radar_set_DETECTION_THRESHOLD: () => (/* binding */ radar_set_DETECTION_THRESHOLD), /* harmony export */ radar_set_DETECTION_THRESHOLD_SANT: () => (/* binding */ radar_set_DETECTION_THRESHOLD_SANT), /* harmony export */ robot_button_extern_get_value: () => (/* binding */ robot_button_extern_get_value), /* harmony export */ robot_color_extern_get_value: () => (/* binding */ robot_color_extern_get_value), /* harmony export */ robot_infrared_extern_get_value: () => (/* binding */ robot_infrared_extern_get_value), /* harmony export */ robot_infrared_extern_grey_get_value: () => (/* binding */ robot_infrared_extern_grey_get_value), /* harmony export */ robot_potentiometer_extern_get_value: () => (/* binding */ robot_potentiometer_extern_get_value), /* harmony export */ robot_sonar_extern_get_value: () => (/* binding */ robot_sonar_extern_get_value), /* harmony export */ robot_sonar_extern_led: () => (/* binding */ robot_sonar_extern_led), /* harmony export */ robot_touch_extern_get_value: () => (/* binding */ robot_touch_extern_get_value), /* harmony export */ sensor_APDS9960_extern: () => (/* binding */ sensor_APDS9960_extern), /* harmony export */ sensor_DS18X20: () => (/* binding */ sensor_DS18X20), /* harmony export */ sensor_LTR308_extern: () => (/* binding */ sensor_LTR308_extern), /* harmony export */ sensor_LTR390UV_extern: () => (/* binding */ sensor_LTR390UV_extern), /* harmony export */ sensor_MAX30102_extern: () => (/* binding */ sensor_MAX30102_extern), /* harmony export */ sensor_QMC5883L_extern: () => (/* binding */ sensor_QMC5883L_extern), /* harmony export */ sensor_VL530LX_extern: () => (/* binding */ sensor_VL530LX_extern), /* harmony export */ sensor_adxl345_get_acceleration: () => (/* binding */ sensor_adxl345_get_acceleration), /* harmony export */ sensor_aht11_extern: () => (/* binding */ sensor_aht11_extern), /* harmony export */ sensor_bmp: () => (/* binding */ sensor_bmp), /* harmony export */ sensor_compass_reset: () => (/* binding */ sensor_compass_reset), /* harmony export */ sensor_dht11: () => (/* binding */ sensor_dht11), /* harmony export */ sensor_hp203_extern: () => (/* binding */ sensor_hp203_extern), /* harmony export */ sensor_light_level: () => (/* binding */ sensor_light_level), /* harmony export */ sensor_lm35: () => (/* binding */ sensor_lm35), /* harmony export */ sensor_ltr381_extern: () => (/* binding */ sensor_ltr381_extern), /* harmony export */ sensor_mixgo_extern_button_attachInterrupt: () => (/* binding */ sensor_mixgo_extern_button_attachInterrupt), /* harmony export */ sensor_mixgo_extern_button_get_presses: () => (/* binding */ sensor_mixgo_extern_button_get_presses), /* harmony export */ sensor_mixgo_extern_button_is_pressed: () => (/* binding */ sensor_mixgo_extern_button_is_pressed), /* harmony export */ sensor_mixgo_extern_button_was_pressed: () => (/* binding */ sensor_mixgo_extern_button_was_pressed), /* harmony export */ sensor_mixgo_extern_light: () => (/* binding */ sensor_mixgo_extern_light), /* harmony export */ sensor_mixgo_extern_pin_near: () => (/* binding */ sensor_mixgo_extern_pin_near), /* harmony export */ sensor_mixgo_extern_sound: () => (/* binding */ sensor_mixgo_extern_sound), /* harmony export */ sensor_mixgoce_hot_wheel_degrees: () => (/* binding */ sensor_mixgoce_hot_wheel_degrees), /* harmony export */ sensor_mixgoce_hot_wheel_is_touched: () => (/* binding */ sensor_mixgoce_hot_wheel_is_touched), /* harmony export */ sensor_mpu9250_attachGestureInterrupt: () => (/* binding */ sensor_mpu9250_attachGestureInterrupt), /* harmony export */ sensor_mpu9250_calibrate_compass: () => (/* binding */ sensor_mpu9250_calibrate_compass), /* harmony export */ sensor_mpu9250_field_strength: () => (/* binding */ sensor_mpu9250_field_strength), /* harmony export */ sensor_mpu9250_gesture: () => (/* binding */ sensor_mpu9250_gesture), /* harmony export */ sensor_mpu9250_get_acceleration: () => (/* binding */ sensor_mpu9250_get_acceleration), /* harmony export */ sensor_mpu9250_get_gyro: () => (/* binding */ sensor_mpu9250_get_gyro), /* harmony export */ sensor_mpu9250_get_magnetic: () => (/* binding */ sensor_mpu9250_get_magnetic), /* harmony export */ sensor_mpu9250_temperature: () => (/* binding */ sensor_mpu9250_temperature), /* harmony export */ sensor_read_humiture: () => (/* binding */ sensor_read_humiture), /* harmony export */ sensor_sht: () => (/* binding */ sensor_sht), /* harmony export */ sensor_shtc3_extern: () => (/* binding */ sensor_shtc3_extern), /* harmony export */ sensor_spl06_001_extern: () => (/* binding */ sensor_spl06_001_extern), /* harmony export */ sensor_ucs12071_extern: () => (/* binding */ sensor_ucs12071_extern), /* harmony export */ sensor_use_i2c_init: () => (/* binding */ sensor_use_i2c_init), /* harmony export */ sensor_use_spi_init: () => (/* binding */ sensor_use_spi_init), /* harmony export */ sensor_use_uart_init: () => (/* binding */ sensor_use_uart_init), /* harmony export */ sensor_weather_solo_init: () => (/* binding */ sensor_weather_solo_init), /* harmony export */ sensor_weather_solo_rain: () => (/* binding */ sensor_weather_solo_rain), /* harmony export */ sensor_weather_solo_wd: () => (/* binding */ sensor_weather_solo_wd), /* harmony export */ sensor_weather_solo_ws: () => (/* binding */ sensor_weather_solo_ws), /* harmony export */ sensor_weigh_init: () => (/* binding */ sensor_weigh_init), /* harmony export */ ultrasonic_sensor_read_distance: () => (/* binding */ ultrasonic_sensor_read_distance), /* harmony export */ weather_data: () => (/* binding */ weather_data), /* harmony export */ weather_have_data: () => (/* binding */ weather_have_data), /* harmony export */ weather_set_label: () => (/* binding */ weather_set_label), /* harmony export */ weather_set_label_container: () => (/* binding */ weather_set_label_container), /* harmony export */ weather_set_label_item: () => (/* binding */ weather_set_label_item), /* harmony export */ weather_uart_mixio: () => (/* binding */ weather_uart_mixio), /* harmony export */ weigh_sensor_get_weight: () => (/* binding */ weigh_sensor_get_weight) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const SENSOR_EXTERN_HUE = '#A58C5B'; //'#9e77c9'//40; const sensor_mixgo_extern_button_is_pressed = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_PRESSED); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ELECLEVEL); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_IS_PRESSED); } }; const sensor_mixgo_extern_button_was_pressed = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ELECLEVEL); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const sensor_mixgo_extern_button_get_presses = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); } }; const sensor_mixgo_extern_button_attachInterrupt = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT); } }; const sensor_mpu9250_attachGestureInterrupt = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, "shake"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "right"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, "face up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, "face down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_freefall, "freefall"], ["3g", "3g"], ["6g", "6g"], ["8g", "8g"]]), "gesture"); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('gesture'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_STATE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PERFORMANCE var TOOLTIPS = { 'shake': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'face up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, 'face down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, 'freefall': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_freefall, '3g': '3g', '6g': '6g', '8g': '8g' }; return mode0 + mode1 + mode2 + TOOLTIPS[mode] + mode3; }); } }; const sensor_adxl345_get_acceleration = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345) .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_light_level = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP); } }; const sensor_dht11 = { init: function () { var WHAT = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, 'temperature'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, 'humidity']]; this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['DHT11', 'DHT11'] , ['DHT22', 'DHT22']//, ['DHT21', '21'], ['DHT33', '33'], ['DHT44', '44'] ]), 'TYPE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(WHAT), "WHAT"); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('WHAT'); var TOOLTIPS = { 'temperature': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM, 'relative_humidity': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM, 'tempandhum': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM }; return TOOLTIPS[op]; }); } }; const sensor_mixgo_extern_light = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP); } }; const sensor_mixgo_extern_sound = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_SOUND); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP); } }; const sensor_mixgo_extern_pin_near = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "right"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; var TOOLTIPS = { 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const sensor_bmp = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "get_BMP_temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "get_BMP_pressure()"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "get_BMP_temperature()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP, "get_BMP_pressure()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP, }; return TOOLTIPS[mode] }); } }; const sensor_sht = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR +" SHT20") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "get_SHT_temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "get_SHT_relative_humidity()"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "get_SHT_temperature()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "get_SHT_relative_humidity()": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP, }; return TOOLTIPS[mode] }); } }; const sensor_DS18X20 = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN", Number) .appendField("DS18X20 " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP); } }; const sensor_lm35 = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField("LM35" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LM35); } }; //pe const sensor_use_i2c_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('I2CSUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "I2C") .setCheck("var"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)", "LTR308"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)", "LTR381RGB"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LIGHTUV +"(LTR390UV)","LTR390UV"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)", "HP203X"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)", "BMP280"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "(SHTC3)", "SHTC3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "(AHT21)", "AHT21"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "(SHT20)", "SHT20"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LASER_RANGE_SENSOR + "(VL53L0X)", "VL53L0X"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOMAGNETIC_SENSOR + "(QMC5883L)", "QMC5883L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)", "MAX30102"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR +"、"+ blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NEXT+"、"+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)", "APDS9960"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)", "MPU9250"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MixGo_MPU9250+"(ADXL345)", "ADXL345"], ["RFID", "RFID"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RADAR_SENSOR+"(CBR817)", "CBR817"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setFieldValue("LTR308", "key"); } }; const radar_set_DETECTION_THRESHOLD = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RADAR+'CBR817') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_INTERACTION) this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DETECTION_THRESHOLD); this.appendValueInput('VAR2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY_TIME); this.appendDummyInput() .appendField('ms'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THRESHOLD_TOOLTIP+' ; '+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY_TIME_RANGE) } }; const radar_set_DETECTION_THRESHOLD_SANT = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RADAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXlY_INTERACTION) this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DETECTION_THRESHOLD); this.appendValueInput('VAR2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY_TIME); this.appendDummyInput() .appendField('ms'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THRESHOLD_TOOLTIP+' ; '+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY_TIME_RANGE) } }; const interaction_whether_to_interaction = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RADAR+'CBR817') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_TO_INTERACTION) this.setOutput(true); this.setInputsInline(true); } }; const interaction_whether_to_interaction_SANT = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RADAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_TO_INTERACTION) this.setOutput(true); this.setInputsInline(true); } }; const CI130X_IDENTIFY_AND_SAVE = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+'CI130X') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const CI130X_GET_WHETHER_IDENTIFY = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+'CI130X') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HELLO_XIAOZHI,"1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_XIAOZHIXIAOZHI ,"2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FIRST ,"3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SECOND ,"4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_THIRD ,"5"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FOURTH ,"6"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FIFTH ,"7"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SIXTH ,"8"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SEVENTH ,"9"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_EIGHTH ,"10"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_NINTH ,"11"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_TENTH ,"12"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_ELEVENTH ,"13"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_TWELFTH ,"14"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_13TH ,"15"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_14TH ,"16"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_15TH ,"17"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_16TH ,"18"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_17TH ,"19"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_18TH ,"20"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_19TH ,"21"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_20TH ,"22"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_on_the_lights ,"23"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_off_the_lights ,"24"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_up_the_brightness ,"25"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_down_the_brightness ,"26"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_red ,"27"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_orange ,"28"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_yellow ,"29"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_green ,"30"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_cyan ,"31"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_blue ,"32"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_purple ,"33"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_white ,"34"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_on_the_fan ,"35"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_off_the_fan ,"36"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_First_gear ,"37"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Wind_speed_second ,"38"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Third_gear ,"39"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Previous ,"40"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Next_page ,"41"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_smiley_face ,"42"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_crying_face ,"43"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_love ,"44"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Close_display ,"45"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Start_execution ,"46"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FORWARD ,"47"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BACKWARD ,"48"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNLEFT ,"49"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNRIGHT ,"50"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP ,"51"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Accelerate ,"52"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_retard ,"53"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD ,"54"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD ,"55"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_temperature ,"56"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_humidity ,"57"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_brightness ,"58"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_sound ,"59"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_time ,"60"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_distance ,"61"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_pressure ,"62"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_key ,"63"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_touch ,"64"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_color ,"65"] ]),"cmd") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHETHER+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BE_IDENTIFIED); this.setOutput(true); this.setInputsInline(true); } }; const CI130X_GET_THE_RECOGNIZED_CMD = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+'CI130X') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECOGNIZED_STATE,"status1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHETHER_BROADCAST,"status2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"] ]),"key") this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP); } }; const CI130X_BROADCAST = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+'CI130X') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_PLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_SPEED,"154"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HYETAL,"155"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE,"156"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Humidity,"157"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude, "158"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SOUND, "159"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS, "160"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO,"162"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON2,"164"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH,"165"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PAY,"166"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CARSH_CHANGE,"167"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COUNTDOWN,"168"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIMING,"169"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AT_THE_MOMENT,"170"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FORWARD ,"172"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BACKWARD ,"173"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNLEFT ,"174"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNRIGHT ,"175"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP ,"176"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Accelerate ,"177"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_retard ,"178"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD ,"179"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD ,"180"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_JOIN,"181"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SHOW,"182"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LAMPLIGHT,"183"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ACCELERATION,"184"] ]),"star"); this.appendValueInput('NUM') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NUMBER); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UNIT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR,"117"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH,"118"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY,"119"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR,"120"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE,"121"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND,"122"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEEK2,"123"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RMB_UNIT,"124"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_setheading_degree,"125"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEAR,"126"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LAYER,"127"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GRAM,"128"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_METER,"129"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CENTIMETER,"130"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIMETER,"131"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LUMEN,"132"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DECIBEL,"133"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_hectopascal,"134"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PERCENT,"135"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CELSIUS,"136"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_METER_PER_SEC,"137"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display,"138"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display,"139"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SUCCESS,"140"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FAILED,"141"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WRONG,"142"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GOOD,"143"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_blockpy_set_add,"144"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DECREASE,"145"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED,"146"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_ORANGE,"147"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_YELLOW,"148"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN,"149"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_CYAN,"150"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE,"151"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_PURPLE,"152"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE,"153"] ]),"end"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const CI130X_SET_SYSTEM_CMD = { init:function(){ this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+'CI130X') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SYSTEM + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CMD) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MILXY_ENTER_WAKE_UP,"1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_INCREASE_VOLUME,"202"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REDUCE_VOLUME,"203"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAX_VOLUME,"204"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINIMUM,"205"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OPEN_RESPONSE,"206"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CLOSE_RESPONSE,"207"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_QUIT_WAKE_UP,"208"] ]),"cmd") this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const sensor_MAX30102_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102 + " MAX30102"); this.appendValueInput('SUB') //.appendField("BMP280") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102_IR, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102_RED, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102_IR + ',' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MAX30102_RED, ""], ]), "key") this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_APDS9960_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_APDS9960 + " APDS9960"); this.appendValueInput('SUB') //.appendField("BMP280") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_APDS9960_COLOR, "color"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_APDS9960_GESTURE, "gesture"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_APDS9960_APPROACH, "proximity"], ]), "key") this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_LTR308_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT + " LTR308ALS"); this.appendValueInput('SUB') //.appendField("BMP280") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_LIGHT_INTENSITY); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_ltr381_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " LTR381RGB") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IR_STRENGTH, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_STRENGTH, "[0]"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_ucs12071_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " UCS12071") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET +'RGB'+ blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RGB_RAW, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ENV_LIGHT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.GET_IR_STRENGTH+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS,"3"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_LTR390UV_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LIGHTUV + " LTR390UV") .setCheck("var"); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ENV_LIGHT, "E"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ULTRAVIOLET, "U"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_VL530LX_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LASER_RANGE + " VL53L0X"); this.appendValueInput('SUB') //.appendField("BMP280") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_DISTANCE + '(mm)'); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_shtc3_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEM_HUM + " SHTC3") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "humidity"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "temperature": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "humidity": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP }; return TOOLTIPS[mode] }); } }; const sensor_aht11_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEM_HUM + " AHT21") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "humidity"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "temperature": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "relative_humidity": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP }; return TOOLTIPS[mode] }); } }; const sensor_hp203_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " HP203X") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "pressure()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ALTITUDE, "altitude()"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_spl06_001_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " SPL06_001") .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "pressure()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ALTITUDE, "altitude()"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_QMC5883L_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGOPE_FIELD + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " QMC5883L") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, "get_bearing()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE, "get_temp()"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_mpu9250_gesture = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, "shake"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "right"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, "face up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, "face down"]]), "gesture"); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('gesture'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_STATE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PERFORMANCE var TOOLTIPS = { 'shake': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'face up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, 'face down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, // 'freefall':Blockly.Msg.MIXLY_MICROBIT_freefall, // '3g': '3g', // '6g': '6g', // '8g': '8g' }; return mode0 + mode1 + mode2 + TOOLTIPS[mode] + mode3; }); } }; const sensor_mpu9250_get_acceleration = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mpu9250_get_magnetic = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mpu9250_get_gyro = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mpu9250_calibrate_compass = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS); } }; const sensor_mpu9250_temperature = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); } }; const sensor_mpu9250_field_strength = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'strength'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, 'heading']]), 'compass'); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('compass'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS; var TOOLTIPS = { 'strength': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'heading': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE }; return mode0 + TOOLTIPS[mode]; }); } }; const sensor_compass_reset = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("MPU9250") .setCheck("var"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS); } }; const sensor_use_spi_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SPISUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "SPI") .setCheck("var"); this.appendValueInput('PINSUB') .appendField("CS") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["RFID", "RFID"], ["WS-LoRa", "Weather"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setFieldValue("RFID", "key"); } }; const extern_rfid_read = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendValueInput('SUB') .setCheck("var"); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD_UID, "id"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL, "content"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, "ALL"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const extern_rfid_readid = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendValueInput('SUB') .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD_UID); this.setOutput(true, Number); this.setInputsInline(true); } }; const extern_rfid_readcontent = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendValueInput('SUB') .setCheck("var"); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL); this.setOutput(true, 'Tuple'); this.setInputsInline(true); } }; const extern_rfid_write = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SUB') .setCheck("var") this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const extern_rfid_write_return = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SUB') .setCheck("var") this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.RETURN_SUCCESS_OR_NOT); this.setInputsInline(true); this.setOutput(true, Boolean); } }; const extern_rfid_status = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField("RFID"); this.appendValueInput('SUB') .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_OK, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_NOTAGERR, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_ERROR, "2"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; //--------------------待写气象数据 const weather_data = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("无线气象站" + " WS-LoRa") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["全部(元组)", "data()[0]"], ["全部(json)", "data()[1]"], ["全部(json,附带位置信息)", "data()[2]"], ["编号", "data()[0][0]"], ["电量", "data()[0][1]"], ["风速", "data()[0][2]"], ["阵风", "data()[0][3]"], ["风向", "data()[0][4]"], ["雨量", "data()[0][5]"], ["温度", "data()[0][6]"], ["湿度", "data()[0][7]"], ["光照", "data()[0][8]"], ["紫外线", "data()[0][9]"], ["大气压", "data()[0][10]"], ["信号强度", "data()[0][11]"], ["信噪比", "data()[0][12]"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)"); } }; const weather_have_data = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("无线气象站" + " WS-LoRa") .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_AVAILABLE) this.setOutput(true, Number); this.setInputsInline(true); } }; const weather_uart_mixio = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("无线气象站" + " WS-LoRa") .setCheck("var"); this.appendValueInput('BASE') .appendField("以主题") this.appendDummyInput("") .appendField("串口发送至MixIO") this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const weather_set_label = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField("无线气象站" + " WS-LoRa") .setCheck("var"); this.itemCount_ = 2; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['weather_set_label_item'], this)); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(); }, mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, decompose: function (workspace) { var containerBlock = workspace.newBlock('weather_set_label_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('weather_set_label_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i) .connection.connect(connections[i]); } } }, saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_LOCATION + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PYLAB_TICKS_TAG + '(id,long,lat)'); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_LOCATION + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PYLAB_TICKS_TAG + '(id,long,lat)'); } } } } }; const weather_set_label_container = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_LOCATION + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PYLAB_TICKS_TAG); this.appendStatementInput('STACK'); this.contextMenu = false; } }; const weather_set_label_item = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.contextMenu = false; } }; const sensor_mixgoce_hot_wheel_is_touched = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOT_WHEEL) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"], ["OK", "0"] ]), "key"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA, "value"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT, "is_touched()"] ]), "stat"); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(); } }; const sensor_mixgoce_hot_wheel_degrees = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOT_WHEEL) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE + '(-180°~180°)'); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(); } }; const esp32_s2_weather_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastType + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor); this.appendValueInput('wd') .setCheck(Number) .appendField('wd'); this.appendValueInput('ws') .setCheck(Number) .appendField('ws'); this.appendValueInput('rain') .setCheck(Number) .appendField('rain'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const esp32_s2_weather_wd = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastType + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastFx) this.setOutput(true, Number); this.setInputsInline(true); } }; const esp32_s2_weather_rain = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('rain') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastType + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAIN_TIME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAIN) this.setOutput(true, Number); this.setInputsInline(true); } }; const esp32_s2_weather_ws = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastType + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_IOT_IR_FAN, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_RATING, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blynk_IOT_IR_FAN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_RATING, "ALL"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const HCSR04 = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO); this.appendValueInput("PIN1", Number) .appendField('Trig #') .setCheck(Number); this.appendValueInput("PIN2", Number) .appendField('Echo #') .setCheck(Number); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO); } }; //PS2 const PS2_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2); this.appendDummyInput("") .appendField('CLK#') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), "PS2_CLK") .appendField('DOU#') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), "PS2_DOU") .appendField('DIN#') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), "PS2_DIN") .appendField('CS#') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), "PS2_CS"); // this.appendDummyInput("") // .appendField(Blockly.Msg.PS2_setRumble) // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_ON,"true"],[Blockly.Msg.MIXLY_OFF,"false"]]), "rumble"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); } }; var PSBUTTON = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_TRIANGLE, "PSB_GREEN"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_CIRCLE, "PSB_RED"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_CROSS, "PSB_BLUE"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_SQUARE, "PSB_PINK"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_L1, "PSB_L1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_L2, "PSB_L2"], // ["PSB_L3","PSB_L3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_R1, "PSB_R1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_R2, "PSB_R2"], // ["PSB_R3","PSB_R3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_UP, "PSB_PAD_UP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_RIGHT, "PSB_PAD_RIGHT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_DOWN, "PSB_PAD_DOWN"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_LEFT, "PSB_PAD_LEFT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_SELECT, "PSB_SELECT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_START, "PSB_START"] ]; // const PS2_vibration = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_setRumble) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_SMALL + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON, "1"], ]), "smotorstate") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_BIG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGOPE_AMPLITUDE) this.appendValueInput("AMP", Number) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_BIG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGOPE_AMPLITUDE + "0-100"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; // const PS2_Button = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_BUTTON) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(PSBUTTON), "psbt") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON_HOLD, "Button"] // ,[Blockly.Msg.MIXLY_BUTTON_PRESSED, "ButtonPressed"] // ,[Blockly.Msg.MIXLY_BUTTON_RELEASED,"ButtonReleased"] // ,[Blockly.Msg.MIXLY_CHANGE,"NewButtonState"] ]), "btstate"); this.setOutput(true, Boolean); this.setTooltip(''); } }; // const PS2_State = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_BUTTON) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT, "0"] , [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_VALUE, "1"] // ,[Blockly.Msg.MIXLY_BUTTON_RELEASED,"ButtonReleased"] // ,[Blockly.Msg.MIXLY_CHANGE,"NewButtonState"] ]), "btstate"); this.setOutput(true, Boolean); this.setTooltip(''); } }; const PS2_Buttons = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_BUTTON) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(PSBUTTON), "psbt") this.setOutput(true, Boolean); this.setTooltip(''); } }; const PS2_stk = { init: function () { this.setColour(SENSOR_EXTERN_HUE); var PSSTK = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_RX, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_RY, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_LX, "2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_LY, "3"], ]; this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_stick) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(PSSTK), "psstk"); this.setOutput(true, Number); this.setTooltip(''); } }; const PS2_init_new = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2); this.appendValueInput('CLK') .appendField('CLK#'); this.appendValueInput('DOU') .appendField('DOU#'); this.appendValueInput('DIN') .appendField('DIN#'); this.appendValueInput('CS') .appendField('CS#'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); } }; const PS2_vibration_new = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_setRumble) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_SMALL + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON, "1"], ]), "smotorstate") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_BIG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGOPE_AMPLITUDE) this.appendValueInput("AMP", Number) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STM32_OLED_BIG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catActuator_motor + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGOPE_AMPLITUDE + "0-100"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const PS2_Buttons_new = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_BUTTON.slice(3)) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(PSBUTTON), "psbt") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED) this.setOutput(true, Boolean); this.setTooltip(''); } }; const PS2_stk_new = { init: function () { this.setColour(SENSOR_EXTERN_HUE); var PSSTK = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_RX, "RX"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_RY, "RY"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_LX, "LX"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2_LY, "LY"], ]; this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PS2); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_JOYSTICK) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(PSSTK), "psstk"); this.setOutput(true, Number); this.setTooltip(''); } }; const sensor_use_uart_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "uart") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["uart1", "uart1"], ["uart2", "uart2"] ]), "key"); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PM25_SENSOR, "PM"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR, "GNSS"] ]), "sensor"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const pm25_get_data = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField('PM2.5' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ['PM2.5', "[0]"], ['PM10', "[1]"], ['(PM2.5, PM10)', ""], ]), "pm") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONCENTRATION) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PM_CONCENTRATION_TOOLTIP); } } const gnss_have_data = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_AVAILABLE) this.setOutput(true, Number); this.setInputsInline(true); } }; const gnss_get_data = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_TIME, "time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_LOCATION, "locate"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT, "status"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { 'time': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR_GET_TIME_TOOLTIP, 'locate': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR_GET_LOCATE_TOOLTIP, 'status': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GNSS_SENSOR_GET_STATUS_TOOLTIP }; return TOOLTIPS[mode]; }); } }; //mixbot/feiyi extern below: const robot_button_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TURTLE_POS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PL_TEXT_TOP, '[0]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PL_TEXT_BOTTOM, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, '[2]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, '[3]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.mixpy_PL_TEXT_CENTER, '[4]'] ]), "num"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA) this.setOutput(true, Number); this.setInputsInline(true); } } const robot_touch_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_EXTERN_TOUCHED + "?") this.setOutput(true, Boolean); this.setInputsInline(true); } } const robot_infrared_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_NEAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA) this.setOutput(true, Number); this.setInputsInline(true); } } const robot_infrared_extern_grey_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_GRAY_NEAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA) this.setOutput(true, Number); this.setInputsInline(true); } } const robot_potentiometer_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KNOB_POTENTIOMETER) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA) this.setOutput(true, Number); this.setInputsInline(true); } } const robot_color_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME, '[0]'], ["RGB" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ENVIRONMENT_BRIGHTNESS, '[2]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REFLECTION_BRIGHTNESS, '[3]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ''] ]), "color"); this.setOutput(true, Boolean); this.setInputsInline(true); } } const mixbot_sensor_extern_get_addr = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON, 'ext_button'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor, 'ext_collision'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_NEAR, 'ext_infrared'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KNOB_POTENTIOMETER, 'ext_potentiometer'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor, 'ext_color'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_SONAR, 'ext_sonar'] ]), "name") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR) this.setOutput(true); this.setInputsInline(true); } } const mixbot_sensor_extern_set_addr = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXBOT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON, 'ext_button'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor, 'ext_collision'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_NEAR, 'ext_infrared'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_KNOB_POTENTIOMETER, 'ext_potentiometer'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor, 'ext_color'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_SONAR, 'ext_sonar'] ]), "name") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR) this.appendValueInput('old') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE); this.appendValueInput('new') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UPDATE); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const robot_sonar_extern_get_value = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_SONAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA + '(cm)') this.setOutput(true, Number); this.setInputsInline(true); } } const robot_sonar_extern_led = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_SONAR) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PIN_NUMBERING) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "1"]]), "mode"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_INDICATOR_LIGHT) this.appendValueInput('light') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING); this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const sensor_weather_solo_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.weather_solo); this.appendValueInput('wd') .appendField('W-D#'); this.appendValueInput('ws') .appendField('W-S#'); this.appendValueInput('rain') .appendField('Rain#'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); } }; const sensor_weather_solo_wd = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.weather_solo); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastFx) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ABBR, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, "[1]"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_weather_solo_ws = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.weather_solo); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_SPEED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SPEED + 'm/s', "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_RATING, "[1]"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_weather_solo_rain = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.weather_solo); this.appendValueInput('time') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAIN_TIME) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ACCUMULATED, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AVERAGE, "[1]"] ]), "key"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAIN + '(mm)'); this.setOutput(true, Number); this.setInputsInline(true); } }; //educore sensor_extern const educore_body_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BODY_SENSOR); this.setOutput(true); this.setInputsInline(true); } }; const educore_soilhum_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SOILHUM_SENSOR); this.setOutput(true); this.setInputsInline(true); } }; const educore_temphum_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR); this.setOutput(true); this.setInputsInline(true); } }; const educore_infrared_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Infrared_pyroelectric_sensor); this.setOutput(true); this.setInputsInline(true); } }; const educore_button_sensor_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BUTTON); this.setOutput(true); this.setInputsInline(true); } }; const sensor_read_humiture = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE,"0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Humidity,"1"] ]),"key"); this.setInputsInline(true); this.setOutput(true); } }; const educore_ultrasonic_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_SONAR); this.setOutput(true); this.setInputsInline(true); } }; const ultrasonic_sensor_read_distance = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR_DISTANCE); this.setInputsInline(true); this.setOutput(true); } }; const educore_temp_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DS18B20); this.setOutput(true); this.setInputsInline(true); } }; const educore_camera_sensor = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SMARTCAMERA); this.setOutput(true); this.setInputsInline(true); } }; const camera_sensor_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SMARTCAMERA); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PROCCED) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipFace,"FACE_RECOGNIZE"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FACE_CLASSIFIER,"FACE_DETECT"] ]),"key"); this.setOutput(true); this.setInputsInline(true); } }; const camera_sensor_result = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SMARTCAMERA); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECOGNIZED_RESULT); this.setOutput(true); this.setInputsInline(true); } }; const sensor_weigh_init = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + 'HX711/720' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEIGH_SENSOR); this.appendValueInput('sck') .appendField('#SCK'); this.appendValueInput('dat') .appendField('#DAT'); this.appendValueInput('pc') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Calibration_ratio); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); } }; const weigh_sensor_get_weight = { init: function () { this.setColour(SENSOR_EXTERN_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEIGH_SENSOR) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA) this.setOutput(true); this.setInputsInline(true); } } /***/ }), /***/ "../micropython/blocks/sensor_onboard.js": /*!***********************************************!*\ !*** ../micropython/blocks/sensor_onboard.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CI130X_BROADCAST_SANT: () => (/* binding */ CI130X_BROADCAST_SANT), /* harmony export */ CI130X_GET_THE_RECOGNIZED_CMD_SANT: () => (/* binding */ CI130X_GET_THE_RECOGNIZED_CMD_SANT), /* harmony export */ CI130X_GET_WHETHER_IDENTIFY_SANT: () => (/* binding */ CI130X_GET_WHETHER_IDENTIFY_SANT), /* harmony export */ CI130X_IDENTIFY_AND_SAVE_SANT: () => (/* binding */ CI130X_IDENTIFY_AND_SAVE_SANT), /* harmony export */ CI130X_SET_SYSTEM_CMD_SANT: () => (/* binding */ CI130X_SET_SYSTEM_CMD_SANT), /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ RTC_set_date: () => (/* binding */ RTC_set_date), /* harmony export */ RTC_set_time: () => (/* binding */ RTC_set_time), /* harmony export */ bitbot_als_num: () => (/* binding */ bitbot_als_num), /* harmony export */ dht11: () => (/* binding */ dht11), /* harmony export */ educore_button_sensor: () => (/* binding */ educore_button_sensor), /* harmony export */ educore_button_was_pressed: () => (/* binding */ educore_button_was_pressed), /* harmony export */ educore_gyroscope_sensor: () => (/* binding */ educore_gyroscope_sensor), /* harmony export */ educore_gyroscope_sensor_read: () => (/* binding */ educore_gyroscope_sensor_read), /* harmony export */ educore_gyroscope_sensor_shake: () => (/* binding */ educore_gyroscope_sensor_shake), /* harmony export */ educore_light_sensor: () => (/* binding */ educore_light_sensor), /* harmony export */ educore_rfid_sensor: () => (/* binding */ educore_rfid_sensor), /* harmony export */ educore_rfid_sensor_scan: () => (/* binding */ educore_rfid_sensor_scan), /* harmony export */ educore_rfid_sensor_scan_data: () => (/* binding */ educore_rfid_sensor_scan_data), /* harmony export */ educore_voice_sensor: () => (/* binding */ educore_voice_sensor), /* harmony export */ number1: () => (/* binding */ number1), /* harmony export */ number2: () => (/* binding */ number2), /* harmony export */ number3: () => (/* binding */ number3), /* harmony export */ number4: () => (/* binding */ number4), /* harmony export */ number5: () => (/* binding */ number5), /* harmony export */ number6: () => (/* binding */ number6), /* harmony export */ number7: () => (/* binding */ number7), /* harmony export */ onboard_RTC_get_time: () => (/* binding */ onboard_RTC_get_time), /* harmony export */ onboard_RTC_get_time_str: () => (/* binding */ onboard_RTC_get_time_str), /* harmony export */ onboard_RTC_get_timestamp: () => (/* binding */ onboard_RTC_get_timestamp), /* harmony export */ onboard_RTC_get_timetuple_to_str: () => (/* binding */ onboard_RTC_get_timetuple_to_str), /* harmony export */ onboard_RTC_set_datetime: () => (/* binding */ onboard_RTC_set_datetime), /* harmony export */ onboard_RTC_settime_string: () => (/* binding */ onboard_RTC_settime_string), /* harmony export */ onboard_RTC_timestamp_totuple: () => (/* binding */ onboard_RTC_timestamp_totuple), /* harmony export */ rfid_readcontent: () => (/* binding */ rfid_readcontent), /* harmony export */ rfid_readid: () => (/* binding */ rfid_readid), /* harmony export */ rfid_write: () => (/* binding */ rfid_write), /* harmony export */ rfid_write_return: () => (/* binding */ rfid_write_return), /* harmony export */ sensor_LTR308: () => (/* binding */ sensor_LTR308), /* harmony export */ sensor_aht11: () => (/* binding */ sensor_aht11), /* harmony export */ sensor_bitbot_ALS: () => (/* binding */ sensor_bitbot_ALS), /* harmony export */ sensor_button_get_presses: () => (/* binding */ sensor_button_get_presses), /* harmony export */ sensor_button_is_pressed: () => (/* binding */ sensor_button_is_pressed), /* harmony export */ sensor_button_was_pressed: () => (/* binding */ sensor_button_was_pressed), /* harmony export */ sensor_distance_hrsc04: () => (/* binding */ sensor_distance_hrsc04), /* harmony export */ sensor_eulerangles: () => (/* binding */ sensor_eulerangles), /* harmony export */ sensor_field_strength: () => (/* binding */ sensor_field_strength), /* harmony export */ sensor_get_acceleration: () => (/* binding */ sensor_get_acceleration), /* harmony export */ sensor_get_temperature: () => (/* binding */ sensor_get_temperature), /* harmony export */ sensor_hp203: () => (/* binding */ sensor_hp203), /* harmony export */ sensor_light: () => (/* binding */ sensor_light), /* harmony export */ sensor_mixbot_get_gyro: () => (/* binding */ sensor_mixbot_get_gyro), /* harmony export */ sensor_mixbot_patrol_calibrate: () => (/* binding */ sensor_mixbot_patrol_calibrate), /* harmony export */ sensor_mixbot_patrol_value: () => (/* binding */ sensor_mixbot_patrol_value), /* harmony export */ sensor_mixbot_temperature: () => (/* binding */ sensor_mixbot_temperature), /* harmony export */ sensor_mixgo_LTR308: () => (/* binding */ sensor_mixgo_LTR308), /* harmony export */ sensor_mixgo_button_attachInterrupt: () => (/* binding */ sensor_mixgo_button_attachInterrupt), /* harmony export */ sensor_mixgo_button_get_presses: () => (/* binding */ sensor_mixgo_button_get_presses), /* harmony export */ sensor_mixgo_button_is_pressed: () => (/* binding */ sensor_mixgo_button_is_pressed), /* harmony export */ sensor_mixgo_button_was_pressed: () => (/* binding */ sensor_mixgo_button_was_pressed), /* harmony export */ sensor_mixgo_cc_mmc5603_calibrate_compass: () => (/* binding */ sensor_mixgo_cc_mmc5603_calibrate_compass), /* harmony export */ sensor_mixgo_cc_mmc5603_get_angle: () => (/* binding */ sensor_mixgo_cc_mmc5603_get_angle), /* harmony export */ sensor_mixgo_cc_mmc5603_get_magnetic: () => (/* binding */ sensor_mixgo_cc_mmc5603_get_magnetic), /* harmony export */ sensor_mixgo_light: () => (/* binding */ sensor_mixgo_light), /* harmony export */ sensor_mixgo_nova_LTR308: () => (/* binding */ sensor_mixgo_nova_LTR308), /* harmony export */ sensor_mixgo_nova_pin_near: () => (/* binding */ sensor_mixgo_nova_pin_near), /* harmony export */ sensor_mixgo_pin_near: () => (/* binding */ sensor_mixgo_pin_near), /* harmony export */ sensor_mixgo_pin_near_double: () => (/* binding */ sensor_mixgo_pin_near_double), /* harmony export */ sensor_mixgo_pin_near_single: () => (/* binding */ sensor_mixgo_pin_near_single), /* harmony export */ sensor_mixgo_pin_pressed: () => (/* binding */ sensor_mixgo_pin_pressed), /* harmony export */ sensor_mixgo_sant_color: () => (/* binding */ sensor_mixgo_sant_color), /* harmony export */ sensor_mixgo_touch_slide: () => (/* binding */ sensor_mixgo_touch_slide), /* harmony export */ sensor_mixgocar42_button_attachInterrupt: () => (/* binding */ sensor_mixgocar42_button_attachInterrupt), /* harmony export */ sensor_mixgocar42_button_get_presses: () => (/* binding */ sensor_mixgocar42_button_get_presses), /* harmony export */ sensor_mixgocar42_button_is_pressed: () => (/* binding */ sensor_mixgocar42_button_is_pressed), /* harmony export */ sensor_mixgocar42_button_was_pressed: () => (/* binding */ sensor_mixgocar42_button_was_pressed), /* harmony export */ sensor_mixgocar_battery_left: () => (/* binding */ sensor_mixgocar_battery_left), /* harmony export */ sensor_mixgocar_pin_near: () => (/* binding */ sensor_mixgocar_pin_near), /* harmony export */ sensor_mixgocar_pin_near_line: () => (/* binding */ sensor_mixgocar_pin_near_line), /* harmony export */ sensor_mixgocar_pin_near_state_change: () => (/* binding */ sensor_mixgocar_pin_near_state_change), /* harmony export */ sensor_mixgoce_pin_pressed: () => (/* binding */ sensor_mixgoce_pin_pressed), /* harmony export */ sensor_mixgoce_temperature: () => (/* binding */ sensor_mixgoce_temperature), /* harmony export */ sensor_mixgome_temperature: () => (/* binding */ sensor_mixgome_temperature), /* harmony export */ sensor_mpython_pin_pressed: () => (/* binding */ sensor_mpython_pin_pressed), /* harmony export */ sensor_mpython_qmi8658_get_gyro: () => (/* binding */ sensor_mpython_qmi8658_get_gyro), /* harmony export */ sensor_mpython_qmi8658_temperature: () => (/* binding */ sensor_mpython_qmi8658_temperature), /* harmony export */ sensor_onboard_compass_reset: () => (/* binding */ sensor_onboard_compass_reset), /* harmony export */ sensor_onboard_mpu9250_calibrate_compass: () => (/* binding */ sensor_onboard_mpu9250_calibrate_compass), /* harmony export */ sensor_onboard_mpu9250_field_strength: () => (/* binding */ sensor_onboard_mpu9250_field_strength), /* harmony export */ sensor_onboard_mpu9250_gesture: () => (/* binding */ sensor_onboard_mpu9250_gesture), /* harmony export */ sensor_onboard_mpu9250_get_acceleration: () => (/* binding */ sensor_onboard_mpu9250_get_acceleration), /* harmony export */ sensor_onboard_mpu9250_get_gyro: () => (/* binding */ sensor_onboard_mpu9250_get_gyro), /* harmony export */ sensor_onboard_mpu9250_get_magnetic: () => (/* binding */ sensor_onboard_mpu9250_get_magnetic), /* harmony export */ sensor_onboard_mpu9250_temperature: () => (/* binding */ sensor_onboard_mpu9250_temperature), /* harmony export */ sensor_pin_near: () => (/* binding */ sensor_pin_near), /* harmony export */ sensor_pin_pressed: () => (/* binding */ sensor_pin_pressed), /* harmony export */ sensor_read: () => (/* binding */ sensor_read), /* harmony export */ sensor_rm_acc: () => (/* binding */ sensor_rm_acc), /* harmony export */ sensor_rm_battery_left: () => (/* binding */ sensor_rm_battery_left), /* harmony export */ sensor_rm_pin_near_double: () => (/* binding */ sensor_rm_pin_near_double), /* harmony export */ sensor_rtc_init: () => (/* binding */ sensor_rtc_init), /* harmony export */ sensor_sound: () => (/* binding */ sensor_sound), /* harmony export */ sensor_temperature: () => (/* binding */ sensor_temperature) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _sensor_extern_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sensor_extern.js */ "../micropython/blocks/sensor_extern.js"); const SENSOR_ONBOARD_HUE = '#947C54'; //'#9e77c9'//40; const sensor_mixgo_button_is_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_IS_PRESSED); } }; const sensor_mixgo_button_was_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const sensor_mixgo_button_get_presses = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('btn') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); } }; const sensor_mixgo_button_attachInterrupt = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("btn") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INTERRUPT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT); } }; const sensor_mixgocar42_button_is_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_IS_PRESSED); } }; const sensor_mixgocar42_button_was_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const sensor_mixgocar42_button_get_presses = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES_TIME); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_PRESSES); } }; const sensor_mixgocar42_button_attachInterrupt = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INTERRUPT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT); } }; const sensor_mixgo_pin_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("button") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_TOUCHED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_sensor_pin_pressed); } }; const sensor_mixgoce_pin_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("button") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_TOUCHED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_sensor_pin_pressed); } }; const sensor_mpython_pin_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("button") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IS_TOUCHED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_sensor_pin_pressed); } }; const sensor_mixgo_touch_slide = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOUCH_SLIDE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP); } }; const sensor_distance_hrsc04 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO); } }; // var RTC_TIME_TYPE = [ // [Blockly.Msg.MIXLY_YEAR, "Year"], // [Blockly.Msg.MIXLY_MONTH, "Month"], // [Blockly.Msg.MIXLY_DAY, "Day"], // [Blockly.Msg.MIXLY_HOUR, "Hour"], // [Blockly.Msg.MIXLY_MINUTE, "Minute"], // [Blockly.Msg.MIXLY_SECOND, "Second"], // [Blockly.Msg.MIXLY_WEEK, "Week"], // [Blockly.Msg.MIXLY_MIX1, "Mix1"], // [Blockly.Msg.MIXLY_MIX2, "Mix2"], // ]; const RTC_set_time = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETTIME) .appendField('myRTC'); this.appendValueInput("hour") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR); this.appendValueInput("minute") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE); this.appendValueInput("second") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETTIME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIX2); } }; const RTC_set_date = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETDATE) .appendField('myRTC'); this.appendValueInput("year") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR); this.appendValueInput("month") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH); this.appendValueInput("day") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETDATE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIX1); } }; const HCSR04 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHAOSHENGBO); this.appendValueInput("PIN1", Number) .appendField('Trig #') .setCheck(Number); this.appendValueInput("PIN2", Number) .appendField('Echo #') .setCheck(Number); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO); } }; const sensor_mixgo_light = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LIGHT); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP); } }; const number1 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["1", "touch1"], ["2", "touch2"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number2 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number3 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "12"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "14"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "13"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "15"], ["A", "32"], ["B", "33"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number4 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number5 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number6 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["3", "3"], ["4", "4"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const number7 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["0", "0"], ["1", "1"]]), 'op') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW); } }; const sensor_mixgo_pin_near_single = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_NEAR); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_VALUE); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); } }; const sensor_mixgo_pin_near_double = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "right"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; var TOOLTIPS = { 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const sensor_mixgo_pin_near = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction") this.setOutput(true, Number); this.setInputsInline(true); // var thisBlock = this; // this.setTooltip(function () { // var mode = thisBlock.getFieldValue('direction'); // var mode0 = Blockly.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; // var mode1 = Blockly.Msg.MIXLY_ESP32_NEAR; // var TOOLTIPS = { // 'l': Blockly.Msg.mixpy_PL_TEXT_TOP, // 'r': Blockly.Msg.mixpy_PL_TEXT_BOTTOM, // }; // return mode0 + TOOLTIPS[mode] + mode1 // }); } }; const sensor_mixgo_nova_pin_near = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "l"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "r"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; var TOOLTIPS = { 'l': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'r': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const sensor_mixgo_nova_LTR308 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "l"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "r"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT; var TOOLTIPS = { 'l': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'r': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const sensor_mixgo_LTR308 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_mixgo_sant_color = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COLOR_SENSOR + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DATA); this.setOutput(true, Number); this.setInputsInline(true); } }; //传感器-实时时钟块_获取时间 const onboard_RTC_get_time = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField("RTC") this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCGETTIME); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP + ' (year, month, mday, hour, minute, second, weekday, yearday)'); // var thisBlock = this; // this.setTooltip(function() { // var mode = thisBlock.getFieldValue('TIME_TYPE'); // var mode0 = Blockly.Msg.MIXLY_RTCGETTIME; // var TOOLTIPS = { // 'Year':Blockly.Msg.MIXLY_YEAR, // 'Month':Blockly.Msg.MIXLY_MONTH, // 'Day':Blockly.Msg.MIXLY_DAY, // 'Hour':Blockly.Msg.MIXLY_HOUR, // 'Minute':Blockly.Msg.MIXLY_MINUTE, // 'Second':Blockly.Msg.MIXLY_SECOND, // 'Week':Blockly.Msg.MIXLY_WEEK, // 'Mix1':Blockly.Msg.MIXLY_MIX1, // 'Mix2':Blockly.Msg.MIXLY_MIX2 // }; // return mode0 +TOOLTIPS[mode]; // }); } }; const onboard_RTC_get_timestamp = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCGETTIMESTAMP); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP); } }; const onboard_RTC_timestamp_totuple = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTC_TIMESTAMP); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_TO_TUPLE); this.setInputsInline(true); this.setOutput(true, Number); } }; const onboard_RTC_settime_string = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField('RTC'); this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_USE_STRING_TUPLE) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTCSETTIME); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const onboard_RTC_set_datetime = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField("RTC") this.appendValueInput('year') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR); this.appendValueInput('month') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH); this.appendValueInput('day') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY); this.appendValueInput('hour') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR); this.appendValueInput('minute') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE); this.appendValueInput('second') .setCheck(Number) .appendField(" " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND); this.setInputsInline(false); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP); } }; const sensor_rtc_init = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("RTC") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .setCheck("var"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP); } }; const onboard_RTC_get_time_str = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTC_GET_TIME_STR); this.setOutput(true, String); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP); } }; const onboard_RTC_get_timetuple_to_str = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_TIME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE) .setCheck() this.appendDummyInput() .appendField( blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.A_TO_B + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_TIME + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_STRING) this.setOutput(true, String); this.setInputsInline(true); } }; const sensor_LTR308 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LIGHT); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP); } }; const sensor_sound = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SOUND); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP); } }; const sensor_aht11 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEM_HUM + " ") this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "humidity"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "temperature": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "humidity": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP }; return TOOLTIPS[mode] }); } }; const sensor_get_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_hp203 = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " ") this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "pressure()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ALTITUDE, "altitude()"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const rfid_readid = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD_UID); this.setOutput(true, Number); this.setInputsInline(true); } }; const rfid_readcontent = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL); this.setOutput(true, Number); this.setInputsInline(true); } }; const rfid_write = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const rfid_write_return = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.RETURN_SUCCESS_OR_NOT); this.setInputsInline(true); this.setOutput(true, Boolean); } }; const sensor_get_acceleration = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "[0]"], ["y", "[1]"], ["z", "[2]"], ["(x,y,z)", ""], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STRENGTH, "strength"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { '[0]': 'x', '[1]': 'y', '[2]': 'z', '': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_eulerangles = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_GESTURE_ALL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH, '[0]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH + ', ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, ''] ]), 'angle'); this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_onboard_mpu9250_gesture = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, "shake"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, "up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, "down"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, "left"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, "right"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, "face up"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, "face down"]]), "gesture"); this.setOutput(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('gesture'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_STATE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PERFORMANCE var TOOLTIPS = { 'shake': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_shake, 'up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UP, 'down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DOWN, 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RIGHT, 'face up': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_up, 'face down': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_face_down, // 'freefall':Blockly.Msg.MIXLY_MICROBIT_freefall, // '3g': '3g', // '6g': '6g', // '8g': '8g' }; return mode0 + mode1 + mode2 + TOOLTIPS[mode] + mode3; }); } }; const sensor_onboard_mpu9250_get_acceleration = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION1; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_onboard_mpu9250_get_magnetic = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_onboard_mpu9250_get_gyro = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "x"], ["y", "y"], ["z", "z"], ["(x,y,z)", "values"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO; var TOOLTIPS = { 'x': 'x', 'y': 'y', 'z': 'z', '(x,y,z)': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_onboard_mpu9250_calibrate_compass = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS); } }; const sensor_onboard_mpu9250_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); } }; const sensor_onboard_mpu9250_field_strength = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'strength'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE, 'heading']]), 'compass'); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('compass'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS; var TOOLTIPS = { 'strength': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH, 'heading': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE }; return mode0 + TOOLTIPS[mode]; }); } }; const sensor_onboard_compass_reset = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField("MPU9250") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_COMPASS); } }; //mixgo_cc onboard_sensor blocks: const sensor_mixgo_cc_mmc5603_get_magnetic = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "[0]"], ["y", "[1]"], ["z", "[2]"], ["(x,y,z)", ""], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL, "all"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH; var TOOLTIPS = { '[0]': 'x', '[1]': 'y', '[2]': 'z', '': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mixgo_cc_mmc5603_get_angle = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET_COMPASS + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE) this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_mixgo_cc_mmc5603_calibrate_compass = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS); } }; //mixgo_me onboard_sensor blocks: const sensor_mixgome_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; //mixgo_ce onboard_sensor blocks: const sensor_mixgoce_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_mpython_qmi8658_get_gyro = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "[0]"], ["y", "[1]"], ["z", "[2]"], ["(x,y,z)", ""] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO; var TOOLTIPS = { '[0]': 'x', '[1]': 'y', '[2]': 'z', '': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_mpython_qmi8658_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE); } }; const sensor_rm_pin_near_double = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "2"]]), "direction") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('direction'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; var TOOLTIPS = { 'left': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'right': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, }; return mode0 + TOOLTIPS[mode] + mode1 }); } }; const sensor_rm_battery_left = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT); this.setOutput(true); this.setInputsInline(true); } }; const sensor_rm_acc = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField("acc" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345_XA, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345_YA, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ACC_SHAKE, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345_XA + ',' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ADXL345_YA + ',' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ACC_SHAKE, ""] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_ACCELERATION); } }; //car4.2 const sensor_mixgocar_pin_near_line = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_MID, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR_VAL); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const sensor_mixgocar_pin_near = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_PROXIMITY_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const sensor_mixgocar_pin_near_state_change = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE, "AS"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY, "LP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY, "OA"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const sensor_mixgocar_battery_left = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT); this.setOutput(true); this.setInputsInline(true); } }; //mixbot onboard_sensor below: const sensor_mixbot_patrol_calibrate = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE, "WHITE"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK, "BLACK"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET, "RESET_TO_FAB"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const sensor_mixbot_patrol_value = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR_VAL); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const sensor_mixbot_temperature = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Board_temperature) this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; const sensor_mixbot_get_gyro = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["x", "[0]"], ["y", "[1]"], ["z", "[2]"], ["(x,y,z)", ""] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENOR_GYRO; var TOOLTIPS = { '[0]': 'x', '[1]': 'y', '[2]': 'z', '': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Shiliang_Direction, }; return mode0 + TOOLTIPS[mode] + mode1 + mode2; }); } }; const sensor_bitbot_ALS = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ANALOG + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_LIGHT) this.appendValueInput('mode') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LCD_NUMBERING); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_LIGHT_INTENSITY + "(%)"); this.setOutput(true, Number); this.setInputsInline(true); } }; const bitbot_als_num = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.als_num), 'PIN'); this.setOutput(true, Number); } }; const sensor_button_is_pressed = sensor_mixgo_button_is_pressed; const sensor_button_was_pressed = sensor_mixgo_button_was_pressed; const sensor_button_get_presses = sensor_mixgo_button_get_presses; const sensor_pin_pressed = sensor_mixgo_pin_pressed; const sensor_pin_near = sensor_mixgo_pin_near; const sensor_light = sensor_mixgo_light; const dht11 = _sensor_extern_js__WEBPACK_IMPORTED_MODULE_2__.sensor_dht11; const sensor_field_strength = _sensor_extern_js__WEBPACK_IMPORTED_MODULE_2__.sensor_mpu9250_field_strength; const sensor_temperature = _sensor_extern_js__WEBPACK_IMPORTED_MODULE_2__.sensor_mpu9250_temperature //educore sensor_onboard const educore_voice_sensor = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_EXTERN_SOUND); this.setInputsInline(true); this.setOutput(true); } }; const sensor_read = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_VALUE); this.setInputsInline(true); this.setOutput(true); } }; const educore_light_sensor = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIGHT_SENSOR); this.setInputsInline(true); this.setOutput(true); } }; const educore_gyroscope_sensor = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GYROSCOPE_SENSOR); this.setInputsInline(true); this.setOutput(true); } }; const educore_gyroscope_sensor_read = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .setCheck("var"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Horizontal_inclination, "X"], ["y", "[1]"], ["z", "[2]"] ]), "key"); this.setInputsInline(true); this.setOutput(true); } }; const educore_gyroscope_sensor_shake = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BE_SHAKED) this.setInputsInline(true); this.setOutput(true); } }; const educore_button_sensor = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["a", "a"], ["b", "b"], ["c", "c"] ]), "btn"); this.setOutput(true); this.setInputsInline(true); } }; const educore_button_was_pressed = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WAS_PRESSED); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SENOR_WAS_PRESSED); } }; const educore_rfid_sensor = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("PIN") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_INITIAL); this.setOutput(true); this.setInputsInline(true); } }; const educore_rfid_sensor_scan = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("SUB") this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_READ); this.setOutput(true); this.setInputsInline(true); } }; const educore_rfid_sensor_scan_data = { init: function () { this.setColour(SENSOR_ONBOARD_HUE); this.appendValueInput("SUB") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_READ + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_DATA_FROM); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_NUMBER,"serial_number"] ]),"key"); this.setOutput(true); this.setInputsInline(true); } }; const CI130X_IDENTIFY_AND_SAVE_SANT = { init:function(){ this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const CI130X_GET_WHETHER_IDENTIFY_SANT = { init:function(){ this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HELLO_XIAOZHI,"1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_XIAOZHIXIAOZHI ,"2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FIRST ,"3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SECOND ,"4"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_THIRD ,"5"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FOURTH ,"6"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_FIFTH ,"7"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SIXTH ,"8"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_SEVENTH ,"9"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_EIGHTH ,"10"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_NINTH ,"11"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_TENTH ,"12"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_ELEVENTH ,"13"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_TWELFTH ,"14"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_13TH ,"15"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_14TH ,"16"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_15TH ,"17"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_16TH ,"18"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_17TH ,"19"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_18TH ,"20"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_19TH ,"21"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_20TH ,"22"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_on_the_lights ,"23"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_off_the_lights ,"24"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_up_the_brightness ,"25"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_down_the_brightness ,"26"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_red ,"27"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_orange ,"28"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_yellow ,"29"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_green ,"30"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_cyan ,"31"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_blue ,"32"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_purple ,"33"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Set_it_to_white ,"34"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_on_the_fan ,"35"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Turn_off_the_fan ,"36"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_First_gear ,"37"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Wind_speed_second ,"38"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Third_gear ,"39"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Previous ,"40"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Next_page ,"41"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_smiley_face ,"42"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_crying_face ,"43"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Show_love ,"44"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Close_display ,"45"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Start_execution ,"46"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FORWARD ,"47"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BACKWARD ,"48"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNLEFT ,"49"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNRIGHT ,"50"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP ,"51"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Accelerate ,"52"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_retard ,"53"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD ,"54"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD ,"55"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_temperature ,"56"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_humidity ,"57"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_brightness ,"58"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_sound ,"59"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_time ,"60"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_distance ,"61"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_pressure ,"62"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_key ,"63"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_touch ,"64"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Query_color ,"65"] ]),"cmd") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHETHER+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BE_IDENTIFIED); this.setOutput(true); this.setInputsInline(true); } }; const CI130X_GET_THE_RECOGNIZED_CMD_SANT = { init:function(){ this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECOGNIZED_STATE,"status1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WHETHER_BROADCAST,"status2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"] ]),"key") this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP); } }; const CI130X_BROADCAST_SANT = { init:function(){ this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MP3_PLAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_SPEED,"154"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HYETAL,"155"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE,"156"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Humidity,"157"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude, "158"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SOUND, "159"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS, "160"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERVO,"162"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUTTON2,"164"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH,"165"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PAY,"166"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CARSH_CHANGE,"167"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COUNTDOWN,"168"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIMING,"169"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AT_THE_MOMENT,"170"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FORWARD ,"172"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BACKWARD ,"173"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNLEFT ,"174"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURNRIGHT ,"175"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STOP ,"176"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Accelerate ,"177"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_retard ,"178"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD ,"179"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD ,"180"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_JOIN,"181"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SHOW,"182"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LAMPLIGHT,"183"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ACCELERATION,"184"] ]),"star"); this.appendValueInput('NUM') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_NUMBER); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_UNIT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_YEAR,"117"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MONTH,"118"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAY,"119"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HOUR,"120"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINUTE,"121"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND,"122"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEEK2,"123"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RMB_UNIT,"124"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_setheading_degree,"125"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEAR,"126"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LAYER,"127"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GRAM,"128"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_METER,"129"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CENTIMETER,"130"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MILLIMETER,"131"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LUMEN,"132"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DECIBEL,"133"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_hectopascal,"134"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PERCENT,"135"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CELSIUS,"136"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_METER_PER_SEC,"137"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_on_display,"138"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Turn_off_display,"139"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SUCCESS,"140"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FAILED,"141"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WRONG,"142"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GOOD,"143"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_blockpy_set_add,"144"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DECREASE,"145"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED,"146"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_ORANGE,"147"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_YELLOW,"148"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN,"149"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_CYAN,"150"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_BLUE,"151"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_PURPLE,"152"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_WHITE,"153"] ]),"end"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const CI130X_SET_SYSTEM_CMD_SANT = { init:function(){ this.setColour(SENSOR_ONBOARD_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AipSpeech_asr+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SYSTEM + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CMD) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MILXY_ENTER_WAKE_UP,"1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_INCREASE_VOLUME,"202"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_REDUCE_VOLUME,"203"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAX_VOLUME,"204"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MINIMUM,"205"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OPEN_RESPONSE,"206"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CLOSE_RESPONSE,"207"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_QUIT_WAKE_UP,"208"] ]),"cmd") this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; /***/ }), /***/ "../micropython/blocks/serial.js": /*!***************************************!*\ !*** ../micropython/blocks/serial.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ serial_any: () => (/* binding */ serial_any), /* harmony export */ serial_begin: () => (/* binding */ serial_begin), /* harmony export */ serial_print: () => (/* binding */ serial_print), /* harmony export */ serial_print_byte: () => (/* binding */ serial_print_byte), /* harmony export */ serial_print_hex: () => (/* binding */ serial_print_hex), /* harmony export */ serial_println: () => (/* binding */ serial_println), /* harmony export */ serial_read_from_ai: () => (/* binding */ serial_read_from_ai), /* harmony export */ serial_readline: () => (/* binding */ serial_readline), /* harmony export */ serial_readstr: () => (/* binding */ serial_readstr), /* harmony export */ serial_readstr_until: () => (/* binding */ serial_readstr_until), /* harmony export */ serial_receive_data_event: () => (/* binding */ serial_receive_data_event), /* harmony export */ serial_send_to_ai: () => (/* binding */ serial_send_to_ai), /* harmony export */ serial_softserial: () => (/* binding */ serial_softserial), /* harmony export */ serial_softserial_new: () => (/* binding */ serial_softserial_new), /* harmony export */ system_input: () => (/* binding */ system_input), /* harmony export */ system_print: () => (/* binding */ system_print), /* harmony export */ system_print_container: () => (/* binding */ system_print_container), /* harmony export */ system_print_end: () => (/* binding */ system_print_end), /* harmony export */ system_print_inline: () => (/* binding */ system_print_inline), /* harmony export */ system_print_item: () => (/* binding */ system_print_item), /* harmony export */ system_print_many: () => (/* binding */ system_print_many) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const SERIAL_HUE = 65; //'#58a8de'//65; const serial_print_byte = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("CONTENT", String) .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_WRITE + '(' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE + ')'); //this.setFieldValue('1','mode') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); } }; const serial_print = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("CONTENT", String) .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINT); //this.setFieldValue('1','mode') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); } }; const serial_println = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("CONTENT", String) .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINTLN); //this.setFieldValue('1','mode') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_Huanhang_TOOLTIP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); } }; //打印16进制数 const serial_print_hex = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINTLN); this.appendValueInput("CONTENT", Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_BIN, "bin"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_OCT, "oct"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_DEC, "int"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_HEX, "hex"]]), "STAT") .setCheck(Number); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setFieldValue('hex', 'STAT') this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_HEX_TOOLTIP); } }; const serial_receive_data_event = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput('char_marker') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA) this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); } }; const serial_readstr = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READSTR); //this.setFieldValue('1','mode') this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR); } }; const serial_any = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_AVAILABLE); //this.setFieldValue('1','mode') this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_AVAILABLE1); } }; const serial_readline = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_READ_LINE); //this.setFieldValue('1','mode') this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1); } }; const serial_readstr_until = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_READSTR_UNTIL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["new line", "serial.delimiters(Delimiters.NewLine)"], [",", "serial.delimiters(Delimiters.Comma)"], ["$", "serial.delimiters(Delimiters.Dollar)"], [":", "serial.delimiters(Delimiters.Colon)"], [".", "serial.delimiters(Delimiters.Fullstop)"], ["#", "serial.delimiters(Delimiters.Hash)"] ]), "char_marker"); this.setInputsInline(true); this.setOutput(true, String); } }; const serial_softserial_new = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("RX") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField("RX#") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendValueInput("TX") .appendField("TX#") .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['115200', '115200'], ['57600', '57600'], ['37400', '38400'], ['31250', '31250'], ['28800', '28800'], ['19200', '19200'], ['14400', '14400'], ['9600', '9600'], ['4800', '4800'], ['2400', '2400'], ['1200', '1200'], ['300', '300']]), 'baudrate'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_softserial); } }; const serial_softserial = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1 (RX=23,TX=19)', '1'], ['uart2 (RX=5,TX=18)', '2']]), 'mode'); //this.setFieldValue('1','mode') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['115200', '115200'], ['57600', '57600'], ['37400', '38400'], ['31250', '31250'], ['28800', '28800'], ['19200', '19200'], ['14400', '14400'], ['9600', '9600'], ['4800', '4800'], ['2400', '2400'], ['1200', '1200'], ['300', '300']]), 'baudrate'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_softserial); } }; const serial_begin = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['115200', '115200'], ['57600', '57600'], ['37400', '38400'], ['31250', '31250'], ['28800', '28800'], ['19200', '19200'], ['14400', '14400'], ['9600', '9600'], ['4800', '4800'], ['2400', '2400'], ['1200', '1200'], ['300', '300']]), 'baudrate'); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_SET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_BEGIN); } }; const system_input = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_inout_raw_input) .setCheck(String); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.INOUT_input_TOOLTIP); } } const system_print = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINTLN); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BLOCKPY_PRINT_TOOLTIP); } }; const system_print_inline = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINT); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); } }; const system_print_end = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINT); this.appendValueInput("END") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ENDSWITH); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP); } }; const system_print_many = { init: function () { this.setColour(SERIAL_HUE); this.itemCount_ = 2; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['system_print_item'], this)); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP); }, mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, decompose: function (workspace) { var containerBlock = workspace.newBlock('system_print_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('system_print_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i) .connection.connect(connections[i]); } } }, saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_INOUT_PRINT_EMPTY); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINTLN); } } } } }; const system_print_container = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SERIAL_PRINTLN); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const system_print_item = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_ITEM_TOOLTIP); this.contextMenu = false; } }; const serial_send_to_ai = { init: function () { this.setColour(SERIAL_HUE); this.appendValueInput("CONTENT") .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMQX_PUBLISH); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_TO + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OTHER + 'MP' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DEVICE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, 'True'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, 'False']]), 'STAT') this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const serial_read_from_ai = { init: function () { this.setColour(SERIAL_HUE); this.appendDummyInput() .appendField("Serial") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['uart1', '1']]), 'mode') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_READ + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OTHER + 'MP' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DEVICE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SD_DATA); this.setOutput(true, Boolean); } }; /***/ }), /***/ "../micropython/blocks/system.js": /*!***************************************!*\ !*** ../micropython/blocks/system.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Panic_with_status_code: () => (/* binding */ Panic_with_status_code), /* harmony export */ Timer_init: () => (/* binding */ Timer_init), /* harmony export */ base_delay: () => (/* binding */ base_delay), /* harmony export */ controls_delay: () => (/* binding */ controls_delay), /* harmony export */ controls_delay_new: () => (/* binding */ controls_delay_new), /* harmony export */ controls_millis: () => (/* binding */ controls_millis), /* harmony export */ controls_uname: () => (/* binding */ controls_uname), /* harmony export */ raw_block: () => (/* binding */ raw_block), /* harmony export */ reset: () => (/* binding */ reset), /* harmony export */ system_bitbot_shutdown: () => (/* binding */ system_bitbot_shutdown), /* harmony export */ system_machine_reset: () => (/* binding */ system_machine_reset), /* harmony export */ system_ticks_diff: () => (/* binding */ system_ticks_diff), /* harmony export */ system_timer: () => (/* binding */ system_timer), /* harmony export */ system_timer_init: () => (/* binding */ system_timer_init), /* harmony export */ system_wdt_feed: () => (/* binding */ system_wdt_feed), /* harmony export */ system_wdt_init: () => (/* binding */ system_wdt_init), /* harmony export */ time_ticks_diff: () => (/* binding */ time_ticks_diff), /* harmony export */ timer: () => (/* binding */ timer), /* harmony export */ timer2: () => (/* binding */ timer2) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const SYSTEM_HUE = 120; //'#EB8045'; const controls_delay_new = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY) this.appendValueInput("DELAY_TIME", Number) .setCheck(Number); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND, "s"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "ms"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "us"]]), 'Time'); this.setFieldValue('s', 'Time') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_DELAY); } }; const controls_delay = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SECOND, "s"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "ms"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "us"]]), 'Time'); this.appendValueInput("DELAY_TIME", Number) .setCheck(Number); this.setFieldValue('ms', 'Time') this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_DELAY); } }; const Panic_with_status_code = { init: function () { this.setColour(SYSTEM_HUE); this.appendValueInput("STATUS_CODE", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Panic_with_status_code) .setCheck(Number); this.setPreviousStatement(true, null); // this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Panic_with_status_code); } }; const reset = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_micro); this.setPreviousStatement(true); // this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Reset_micro); } }; const controls_millis = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RUNTIME); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "ms"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "us"]]), 'Time'); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_CONTROLS_MILLIS_TOOLTIP); } }; const raw_block = { // Container. init: function () { this.setColour(SYSTEM_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendDummyInput() .appendField('Code Block:'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput('12345'), 'TEXT'); } }; const controls_uname = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME); } }; const timer = { init: function () { this.setColour(SYSTEM_HUE); this.appendValueInput('VAR') .appendField("Timer") .setCheck("var"); this.appendValueInput('period') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) // .appendField("Timer") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL); this.appendValueInput('mode') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE); this.appendValueInput('callback') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_INPUT_DO); // this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TIMER_TOOLTIP); } }; const system_timer = { init: function () { this.setColour(SYSTEM_HUE); this.appendValueInput('VAR') .appendField("Timer") .setCheck("var"); // .appendField("I2C " + Blockly.Msg.MIXLY_SETUP) this.appendValueInput("period") .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_ONE_SHOT, "ONE_SHOT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_PERIODIC, "PERIODIC"]]), "mode"); this.appendValueInput('callback') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SYSTEM_TIMER_TOOLTIP); } }; const system_ticks_diff = { init: function () { this.setColour(SYSTEM_HUE); this.appendValueInput('END') // .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TIME_TICKS_DIFF); this.appendValueInput('START') // .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TIME_MINUS); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SYSTEM_TICKS_DIFF_TOOLTIP); } }; const system_timer_init = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput("") .appendField("Timer") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SYSTEM_TIMER_INIT_TOOLTIP); } }; const system_wdt_init = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_WDT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) this.appendValueInput('period') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_WDT_TIMEOUT) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_WDT_INIT_TOOLTIP); } }; const system_wdt_feed = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_WDT) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_FEED) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_WDT_FEED_TOOLTIP); } }; const system_machine_reset = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_RESET) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MACHINE_RESET_TOOLTIP); } }; const system_bitbot_shutdown = { init: function () { this.setColour(SYSTEM_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.BITBOT) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SHUTDOWN) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROPYTHON_BITBOT_SHUTDOWN_TOOLTIP); } }; const Timer_init = system_timer_init; const timer2 = system_timer; const time_ticks_diff = system_ticks_diff; const base_delay = controls_delay; /***/ }), /***/ "../micropython/blocks/weather.js": /*!****************************************!*\ !*** ../micropython/blocks/weather.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Air_daily_content: () => (/* binding */ Air_daily_content), /* harmony export */ Air_now_content: () => (/* binding */ Air_now_content), /* harmony export */ Geo_moon_content: () => (/* binding */ Geo_moon_content), /* harmony export */ Geo_sun_content: () => (/* binding */ Geo_sun_content), /* harmony export */ Life_suggestion_content: () => (/* binding */ Life_suggestion_content), /* harmony export */ Location_search_content: () => (/* binding */ Location_search_content), /* harmony export */ Tide_daily_content: () => (/* binding */ Tide_daily_content), /* harmony export */ WEATHER_DAILY: () => (/* binding */ WEATHER_DAILY), /* harmony export */ WEATHER_HOUR: () => (/* binding */ WEATHER_HOUR), /* harmony export */ WEATHER_NOW: () => (/* binding */ WEATHER_NOW), /* harmony export */ Weather_alarm_content: () => (/* binding */ Weather_alarm_content), /* harmony export */ Weather_daily: () => (/* binding */ Weather_daily), /* harmony export */ Weather_daily_content: () => (/* binding */ Weather_daily_content), /* harmony export */ Weather_now: () => (/* binding */ Weather_now), /* harmony export */ Weather_now_content: () => (/* binding */ Weather_now_content) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const WEATHER_HUE = '#27b6ac'; const WEATHER_NOW = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catweather) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW, "weather_now"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_ALARM, "weather_alarm"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_NOW, "air_now"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_TIDE_DAILY, "tide_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_PLACE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SEARCH, "location_search"] ]), "mode"); this.appendValueInput('key') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_API_PRIVATE_KEY); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOGRAPHIC_LOCATION); this.setInputsInline(true); this.setOutput(true); } }; const WEATHER_DAILY = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catweather) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY, "weather_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_LIFE_SUGGESTION, "life_suggestion"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_DAILY, "air_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_SUN, "geo_sun"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_MOON, "geo_moon"] ]), "mode"); this.appendValueInput('key') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_API_PRIVATE_KEY); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOGRAPHIC_LOCATION); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DAILY); this.setInputsInline(true); this.setOutput(true); } }; const WEATHER_HOUR = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catweather) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_HOURS); this.appendValueInput('key') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_API_PRIVATE_KEY); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOGRAPHIC_LOCATION); this.appendValueInput('hour') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_HOURS); this.setInputsInline(true); this.setOutput(true); } }; const Weather_now = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catweather) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW, "Weather_now"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_ALARM, "Weather_alarm"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_NOW, "Air_now"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_TIDE_DAILY, "Tide_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_PLACE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SEARCH, "Location_search"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_LIFE_SUGGESTION, "Life_suggestion"] ]), "mode"); this.appendValueInput('key') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_API_PRIVATE_KEY); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOGRAPHIC_LOCATION); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const Weather_now_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_PHENOMENON, "text"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_PHENOMENON_CODE, "code"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE_UNIT_, "temperature"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_FEEL, "feels_like"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PRESSURE_UNIT, "pressure"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_HUMIDITY, "humidity"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_VISIBILITY, "visibility"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastFx, "wind_direction"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_WIND_DIRECT_DEGREE, "wind_direction_degree"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_WIND_SPEED, "wind_speed"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_RATING, "wind_scale"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_CLOUDS, "clouds"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Air_now_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_NOW + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_AIRQUAILTY, "api"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_PM25, "pm25"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_PM10, "pm10"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_so2, "so2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_no2, "no2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_co, "co"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_o3, "o3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_pp, "primary_pollutant"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_quailty, "quality"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_last_update, "last_update"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Weather_alarm_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_ALARM + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_ALARM_TITLE, "title"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_ALARM_TYPE, "type"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_ALARM_LEVEL, "level"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_ALARM_DESCRIPTION, "description"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEATHER_ALARM_PUB_DATE, "pub_date"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Life_suggestion_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_LIFE_SUGGESTION + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_AC, "ac"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_AP, "air_pollution"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_AIRING, "airing"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_ALLERGY, "allergy"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_BEER, "beer"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_BOATING, "boating"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_CAR_WS, "car_washing"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_CHILL, "chill"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_COMFORT, "comfort"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_DATING, "dating"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_DRESSING, "dressing"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_FISHING, "fishing"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_FLU, "flu"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_HAIR_DRESS, "hair_dressing"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_KITEFLYING, "kiteflying"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_MAKEUP, "makeup"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_MOOD, "mood"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_MORNINIG_SPORT, "morning_sport"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_NIGHT_LIFE, "night_life"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_ROAD_CONDI, "road_condition"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_SHOPPING, "shopping"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_SPORT, "sport"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_SUNSCREEN, "sunscreen"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_TRAFFIC, "traffic"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_TRAVEL, "travel"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_UMBRELLA, "umbrella"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIFE_SUGGESTION_UV, "uv"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Tide_daily_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_TIDE_DAILY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_DATE, "date"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_HEIGHT, "tide"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_0_TIME, "0,time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_0_HEIGHT, "0,height"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_1_TIME, "1,time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_1_HEIGHT, "1,height"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_2_TIME, "2,time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_2_HEIGHT, "2,height"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_3_TIME, "3,time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIDE_DAILY_3_HEIGHT, "3,height"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Location_search_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_PLACE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SEARCH + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_ID, "id"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_NAME, "name"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_COUNTRY, "country"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_PATH, "path"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_TIMEZONE, "timezone"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOCATION_SEARCH_TIMEZONE_O, "timezone_offset"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Weather_daily = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catweather) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY, "Weather_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_DAILY, "Air_daily"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_SUN, "Geo_sun"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_MOON, "Geo_moon"] ]), "mode"); this.appendValueInput('key') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_API_PRIVATE_KEY); this.appendValueInput('addr') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GEOGRAPHIC_LOCATION); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DAILY); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const Weather_daily_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY_DAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_DATE, "date"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON, "text_day"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE, "code_day"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EVENING_WEATHER_PHENOMENON, "text_night"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE, "code_night"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastHigh + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE_UNIT_, "high"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastLow + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEMPERATURE_UNIT_, "low"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION, "precip"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ForecastFx, "wind_direction"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_WIND_DIRECT_DEGREE, "wind_direction_degree"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_WIND_SPEED, "wind_speed"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIND_RATING, "wind_scale"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RAINFALL, "rainfall"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW_HUMIDITY, "humidity"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Air_daily_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_DAILY); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY_DAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_AIRQUAILTY, "api"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_PM25, "pm25"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_PM10, "pm10"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_so2, "so2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_no2, "no2"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_co, "co"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_o3, "o3"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIR_NOW_quailty, "quality"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_DATE, "date"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Geo_sun_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_SUN); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY_DAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_DATE, "date"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SUNRISE_T, "sunrise"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SUNSET_T, "sunset"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; const Geo_moon_content = { init: function () { this.setColour(WEATHER_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_MOON); this.appendValueInput('day') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY_DAY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMETER_FREE, "none"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GPS_DATE, "date"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLT_MOONRISE_T, "rise"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOONSET_T, "set"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOON_FRACTION, "fraction"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOON_PHASE, "phase"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MOON_PHASE_NAME, "phase_name"] ]), "content"); this.setInputsInline(true); this.setOutput(true); } }; /***/ }), /***/ "../micropython/export.js": /*!********************************!*\ !*** ../micropython/export.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MicroPythonAIBlocks: () => (/* reexport module object */ _blocks_ai__WEBPACK_IMPORTED_MODULE_4__), /* harmony export */ MicroPythonAIGenerators: () => (/* reexport module object */ _generators_ai__WEBPACK_IMPORTED_MODULE_30__), /* harmony export */ MicroPythonAISensorBlocks: () => (/* reexport module object */ _blocks_ai_sensor__WEBPACK_IMPORTED_MODULE_3__), /* harmony export */ MicroPythonAISensorGenerators: () => (/* reexport module object */ _generators_ai_sensor__WEBPACK_IMPORTED_MODULE_29__), /* harmony export */ MicroPythonActuatorBlocks: () => (/* reexport module object */ _blocks_actuator__WEBPACK_IMPORTED_MODULE_2__), /* harmony export */ MicroPythonActuatorExternBlocks: () => (/* reexport module object */ _blocks_actuator_extern__WEBPACK_IMPORTED_MODULE_0__), /* harmony export */ MicroPythonActuatorExternGenerators: () => (/* reexport module object */ _generators_actuator_extern__WEBPACK_IMPORTED_MODULE_26__), /* harmony export */ MicroPythonActuatorGenerators: () => (/* reexport module object */ _generators_actuator__WEBPACK_IMPORTED_MODULE_28__), /* harmony export */ MicroPythonActuatorOnBoardBlocks: () => (/* reexport module object */ _blocks_actuator_onboard__WEBPACK_IMPORTED_MODULE_1__), /* harmony export */ MicroPythonActuatorOnBoardGenerators: () => (/* reexport module object */ _generators_actuator_onboard__WEBPACK_IMPORTED_MODULE_27__), /* harmony export */ MicroPythonBlynkBlocks: () => (/* reexport module object */ _blocks_blynk__WEBPACK_IMPORTED_MODULE_5__), /* harmony export */ MicroPythonBlynkGenerators: () => (/* reexport module object */ _generators_blynk__WEBPACK_IMPORTED_MODULE_31__), /* harmony export */ MicroPythonCCG1Blocks: () => (/* reexport module object */ _blocks_cc_g1__WEBPACK_IMPORTED_MODULE_6__), /* harmony export */ MicroPythonCCG1Generators: () => (/* reexport module object */ _generators_cc_g1__WEBPACK_IMPORTED_MODULE_32__), /* harmony export */ MicroPythonCEGOBlocks: () => (/* reexport module object */ _blocks_ce_go__WEBPACK_IMPORTED_MODULE_7__), /* harmony export */ MicroPythonCEGOGenerators: () => (/* reexport module object */ _generators_ce_go__WEBPACK_IMPORTED_MODULE_33__), /* harmony export */ MicroPythonCommunicateBlocks: () => (/* reexport module object */ _blocks_communicate__WEBPACK_IMPORTED_MODULE_8__), /* harmony export */ MicroPythonCommunicateGenerators: () => (/* reexport module object */ _generators_communicate__WEBPACK_IMPORTED_MODULE_34__), /* harmony export */ MicroPythonControlBlocks: () => (/* reexport module object */ _blocks_control__WEBPACK_IMPORTED_MODULE_9__), /* harmony export */ MicroPythonControlGenerators: () => (/* reexport module object */ _generators_control__WEBPACK_IMPORTED_MODULE_35__), /* harmony export */ MicroPythonDisplayBlocks: () => (/* reexport module object */ _blocks_display__WEBPACK_IMPORTED_MODULE_12__), /* harmony export */ MicroPythonDisplayExternBlocks: () => (/* reexport module object */ _blocks_display_extern__WEBPACK_IMPORTED_MODULE_10__), /* harmony export */ MicroPythonDisplayExternGenerators: () => (/* reexport module object */ _generators_display_extern__WEBPACK_IMPORTED_MODULE_36__), /* harmony export */ MicroPythonDisplayGenerators: () => (/* reexport module object */ _generators_display__WEBPACK_IMPORTED_MODULE_38__), /* harmony export */ MicroPythonDisplayOnBoardBlocks: () => (/* reexport module object */ _blocks_display_onboard__WEBPACK_IMPORTED_MODULE_11__), /* harmony export */ MicroPythonDisplayOnBoardGenerators: () => (/* reexport module object */ _generators_display_onboard__WEBPACK_IMPORTED_MODULE_37__), /* harmony export */ MicroPythonFactoryBlocks: () => (/* reexport module object */ _blocks_factory__WEBPACK_IMPORTED_MODULE_13__), /* harmony export */ MicroPythonFactoryGenerators: () => (/* reexport module object */ _generators_factory__WEBPACK_IMPORTED_MODULE_39__), /* harmony export */ MicroPythonInputBlocks: () => (/* reexport module object */ _blocks_inout__WEBPACK_IMPORTED_MODULE_14__), /* harmony export */ MicroPythonInputGenerators: () => (/* reexport module object */ _generators_inout__WEBPACK_IMPORTED_MODULE_40__), /* harmony export */ MicroPythonIotBlocks: () => (/* reexport module object */ _blocks_iot__WEBPACK_IMPORTED_MODULE_15__), /* harmony export */ MicroPythonIotGenerators: () => (/* reexport module object */ _generators_iot__WEBPACK_IMPORTED_MODULE_41__), /* harmony export */ MicroPythonNetworkBlocks: () => (/* reexport module object */ _blocks_network__WEBPACK_IMPORTED_MODULE_16__), /* harmony export */ MicroPythonNetworkGenerators: () => (/* reexport module object */ _generators_network__WEBPACK_IMPORTED_MODULE_42__), /* harmony export */ MicroPythonNovaG1Blocks: () => (/* reexport module object */ _blocks_nova_g1__WEBPACK_IMPORTED_MODULE_17__), /* harmony export */ MicroPythonNovaG1Generators: () => (/* reexport module object */ _generators_nova_g1__WEBPACK_IMPORTED_MODULE_43__), /* harmony export */ MicroPythonPeG1Blocks: () => (/* reexport module object */ _blocks_pe_g1__WEBPACK_IMPORTED_MODULE_18__), /* harmony export */ MicroPythonPeG1Generators: () => (/* reexport module object */ _generators_pe_g1__WEBPACK_IMPORTED_MODULE_44__), /* harmony export */ MicroPythonPinsBlocks: () => (/* reexport module object */ _blocks_pins__WEBPACK_IMPORTED_MODULE_19__), /* harmony export */ MicroPythonPinsGenerators: () => (/* reexport module object */ _generators_pins__WEBPACK_IMPORTED_MODULE_45__), /* harmony export */ MicroPythonSensorBlocks: () => (/* reexport module object */ _blocks_sensor__WEBPACK_IMPORTED_MODULE_22__), /* harmony export */ MicroPythonSensorExternBlocks: () => (/* reexport module object */ _blocks_sensor_extern__WEBPACK_IMPORTED_MODULE_20__), /* harmony export */ MicroPythonSensorExternGenerators: () => (/* reexport module object */ _generators_sensor_extern__WEBPACK_IMPORTED_MODULE_46__), /* harmony export */ MicroPythonSensorGenerators: () => (/* reexport module object */ _generators_sensor__WEBPACK_IMPORTED_MODULE_48__), /* harmony export */ MicroPythonSensorOnBoardBlocks: () => (/* reexport module object */ _blocks_sensor_onboard__WEBPACK_IMPORTED_MODULE_21__), /* harmony export */ MicroPythonSensorOnBoardGenerators: () => (/* reexport module object */ _generators_sensor_onboard__WEBPACK_IMPORTED_MODULE_47__), /* harmony export */ MicroPythonSerialBlocks: () => (/* reexport module object */ _blocks_serial__WEBPACK_IMPORTED_MODULE_23__), /* harmony export */ MicroPythonSerialGenerators: () => (/* reexport module object */ _generators_serial__WEBPACK_IMPORTED_MODULE_49__), /* harmony export */ MicroPythonSystemBlocks: () => (/* reexport module object */ _blocks_system__WEBPACK_IMPORTED_MODULE_24__), /* harmony export */ MicroPythonSystemGenerators: () => (/* reexport module object */ _generators_system__WEBPACK_IMPORTED_MODULE_50__), /* harmony export */ MicroPythonWeatherBlocks: () => (/* reexport module object */ _blocks_weather__WEBPACK_IMPORTED_MODULE_25__), /* harmony export */ MicroPythonWeatherGenerators: () => (/* reexport module object */ _generators_weather__WEBPACK_IMPORTED_MODULE_51__) /* harmony export */ }); /* harmony import */ var _blocks_actuator_extern__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blocks/actuator_extern */ "../micropython/blocks/actuator_extern.js"); /* harmony import */ var _blocks_actuator_onboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocks/actuator_onboard */ "../micropython/blocks/actuator_onboard.js"); /* harmony import */ var _blocks_actuator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocks/actuator */ "../micropython/blocks/actuator.js"); /* harmony import */ var _blocks_ai_sensor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blocks/ai_sensor */ "../micropython/blocks/ai_sensor.js"); /* harmony import */ var _blocks_ai__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blocks/ai */ "../micropython/blocks/ai.js"); /* harmony import */ var _blocks_blynk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blocks/blynk */ "../micropython/blocks/blynk.js"); /* harmony import */ var _blocks_cc_g1__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blocks/cc_g1 */ "../micropython/blocks/cc_g1.js"); /* harmony import */ var _blocks_ce_go__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blocks/ce_go */ "../micropython/blocks/ce_go.js"); /* harmony import */ var _blocks_communicate__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blocks/communicate */ "../micropython/blocks/communicate.js"); /* harmony import */ var _blocks_control__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./blocks/control */ "../micropython/blocks/control.js"); /* harmony import */ var _blocks_display_extern__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./blocks/display_extern */ "../micropython/blocks/display_extern.js"); /* harmony import */ var _blocks_display_onboard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./blocks/display_onboard */ "../micropython/blocks/display_onboard.js"); /* harmony import */ var _blocks_display__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./blocks/display */ "../micropython/blocks/display.js"); /* harmony import */ var _blocks_factory__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./blocks/factory */ "../micropython/blocks/factory.js"); /* harmony import */ var _blocks_inout__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./blocks/inout */ "../micropython/blocks/inout.js"); /* harmony import */ var _blocks_iot__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./blocks/iot */ "../micropython/blocks/iot.js"); /* harmony import */ var _blocks_network__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./blocks/network */ "../micropython/blocks/network.js"); /* harmony import */ var _blocks_nova_g1__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./blocks/nova_g1 */ "../micropython/blocks/nova_g1.js"); /* harmony import */ var _blocks_pe_g1__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./blocks/pe_g1 */ "../micropython/blocks/pe_g1.js"); /* harmony import */ var _blocks_pins__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./blocks/pins */ "../micropython/blocks/pins.js"); /* harmony import */ var _blocks_sensor_extern__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./blocks/sensor_extern */ "../micropython/blocks/sensor_extern.js"); /* harmony import */ var _blocks_sensor_onboard__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./blocks/sensor_onboard */ "../micropython/blocks/sensor_onboard.js"); /* harmony import */ var _blocks_sensor__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./blocks/sensor */ "../micropython/blocks/sensor.js"); /* harmony import */ var _blocks_serial__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./blocks/serial */ "../micropython/blocks/serial.js"); /* harmony import */ var _blocks_system__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./blocks/system */ "../micropython/blocks/system.js"); /* harmony import */ var _blocks_weather__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./blocks/weather */ "../micropython/blocks/weather.js"); /* harmony import */ var _generators_actuator_extern__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./generators/actuator_extern */ "../micropython/generators/actuator_extern.js"); /* harmony import */ var _generators_actuator_onboard__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./generators/actuator_onboard */ "../micropython/generators/actuator_onboard.js"); /* harmony import */ var _generators_actuator__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./generators/actuator */ "../micropython/generators/actuator.js"); /* harmony import */ var _generators_ai_sensor__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./generators/ai_sensor */ "../micropython/generators/ai_sensor.js"); /* harmony import */ var _generators_ai__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./generators/ai */ "../micropython/generators/ai.js"); /* harmony import */ var _generators_blynk__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./generators/blynk */ "../micropython/generators/blynk.js"); /* harmony import */ var _generators_cc_g1__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./generators/cc_g1 */ "../micropython/generators/cc_g1.js"); /* harmony import */ var _generators_ce_go__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./generators/ce_go */ "../micropython/generators/ce_go.js"); /* harmony import */ var _generators_communicate__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./generators/communicate */ "../micropython/generators/communicate.js"); /* harmony import */ var _generators_control__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./generators/control */ "../micropython/generators/control.js"); /* harmony import */ var _generators_display_extern__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./generators/display_extern */ "../micropython/generators/display_extern.js"); /* harmony import */ var _generators_display_onboard__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./generators/display_onboard */ "../micropython/generators/display_onboard.js"); /* harmony import */ var _generators_display__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./generators/display */ "../micropython/generators/display.js"); /* harmony import */ var _generators_factory__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./generators/factory */ "../micropython/generators/factory.js"); /* harmony import */ var _generators_inout__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./generators/inout */ "../micropython/generators/inout.js"); /* harmony import */ var _generators_iot__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./generators/iot */ "../micropython/generators/iot.js"); /* harmony import */ var _generators_network__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./generators/network */ "../micropython/generators/network.js"); /* harmony import */ var _generators_nova_g1__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./generators/nova_g1 */ "../micropython/generators/nova_g1.js"); /* harmony import */ var _generators_pe_g1__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./generators/pe_g1 */ "../micropython/generators/pe_g1.js"); /* harmony import */ var _generators_pins__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./generators/pins */ "../micropython/generators/pins.js"); /* harmony import */ var _generators_sensor_extern__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./generators/sensor_extern */ "../micropython/generators/sensor_extern.js"); /* harmony import */ var _generators_sensor_onboard__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./generators/sensor_onboard */ "../micropython/generators/sensor_onboard.js"); /* harmony import */ var _generators_sensor__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./generators/sensor */ "../micropython/generators/sensor.js"); /* harmony import */ var _generators_serial__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./generators/serial */ "../micropython/generators/serial.js"); /* harmony import */ var _generators_system__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./generators/system */ "../micropython/generators/system.js"); /* harmony import */ var _generators_weather__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./generators/weather */ "../micropython/generators/weather.js"); /***/ }), /***/ "../micropython/generators/actuator.js": /*!*********************************************!*\ !*** ../micropython/generators/actuator.js ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ actuator_extern_get_led_bright: () => (/* binding */ actuator_extern_get_led_bright), /* harmony export */ actuator_extern_led_bright: () => (/* binding */ actuator_extern_led_bright), /* harmony export */ actuator_extern_led_brightness: () => (/* binding */ actuator_extern_led_brightness), /* harmony export */ actuator_get_led_bright: () => (/* binding */ actuator_get_led_bright), /* harmony export */ actuator_led_bright: () => (/* binding */ actuator_led_bright), /* harmony export */ actuator_led_brightness: () => (/* binding */ actuator_led_brightness), /* harmony export */ actuator_neopixel_init: () => (/* binding */ actuator_neopixel_init), /* harmony export */ actuator_neopixel_rgb: () => (/* binding */ actuator_neopixel_rgb), /* harmony export */ actuator_neopixel_write: () => (/* binding */ actuator_neopixel_write), /* harmony export */ actuator_onboard_neopixel_rgb: () => (/* binding */ actuator_onboard_neopixel_rgb), /* harmony export */ actuator_onboard_neopixel_rgb_all: () => (/* binding */ actuator_onboard_neopixel_rgb_all), /* harmony export */ actuator_onboard_neopixel_write: () => (/* binding */ actuator_onboard_neopixel_write), /* harmony export */ esp32_mixgo_music_play_list_show: () => (/* binding */ esp32_mixgo_music_play_list_show), /* harmony export */ esp32_music_get_tempo: () => (/* binding */ esp32_music_get_tempo), /* harmony export */ esp32_music_pitch: () => (/* binding */ esp32_music_pitch), /* harmony export */ esp32_music_pitch_with_time: () => (/* binding */ esp32_music_pitch_with_time), /* harmony export */ esp32_music_play_list: () => (/* binding */ esp32_music_play_list), /* harmony export */ esp32_music_reset: () => (/* binding */ esp32_music_reset), /* harmony export */ esp32_music_set_tempo: () => (/* binding */ esp32_music_set_tempo), /* harmony export */ esp32_music_stop: () => (/* binding */ esp32_music_stop), /* harmony export */ esp32_onboard_music_pitch: () => (/* binding */ esp32_onboard_music_pitch), /* harmony export */ esp32_onboard_music_pitch_with_time: () => (/* binding */ esp32_onboard_music_pitch_with_time), /* harmony export */ esp32_onboard_music_play_list: () => (/* binding */ esp32_onboard_music_play_list), /* harmony export */ esp32_onboard_music_stop: () => (/* binding */ esp32_onboard_music_stop), /* harmony export */ get_led_bright: () => (/* binding */ get_led_bright), /* harmony export */ led_brightness: () => (/* binding */ led_brightness), /* harmony export */ led_light: () => (/* binding */ led_light), /* harmony export */ ledswitch: () => (/* binding */ ledswitch), /* harmony export */ number: () => (/* binding */ number), /* harmony export */ servo_move: () => (/* binding */ servo_move) /* harmony export */ }); const esp32_music_pitch = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var number_pitch = generator.valueToCode(this, 'pitch', generator.ORDER_ATOMIC); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'music.pitch(' + pin + ', ' + number_pitch + ')\n'; return code; } const esp32_music_pitch_with_time = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var number_pitch = generator.valueToCode(this, 'pitch', generator.ORDER_ATOMIC); var number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'music.pitch_time(' + pin + ', ' + number_pitch + ', ' + number_time + ')\n'; return code; } const esp32_music_stop = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'music.stop(' + pin + ')\n'; return code; } const esp32_music_set_tempo = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var bpm = generator.valueToCode(this, 'BPM', generator.ORDER_ASSIGNMENT); var ticks = generator.valueToCode(this, 'TICKS', generator.ORDER_ASSIGNMENT); var code = "music.set_tempo(" + ticks + ", " + bpm + ")\n"; return code; } const esp32_music_get_tempo = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var code = "music.get_tempo()"; return [code, generator.ORDER_ATOMIC]; } const esp32_onboard_music_pitch = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var number_pitch = generator.valueToCode(this, 'pitch', generator.ORDER_ATOMIC); var code = 'music.pitch(' + number_pitch + ')\n'; return code; } const esp32_onboard_music_pitch_with_time = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var number_pitch = generator.valueToCode(this, 'pitch', generator.ORDER_ATOMIC); var number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var code = 'music.pitch_time(' + number_pitch + ', ' + number_time + ')\n'; return code; } const esp32_onboard_music_stop = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var code = 'music.stop(' + ')\n'; return code; } const esp32_onboard_music_play_list = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT); var code = "music.play(" + lst + ")\n"; return code; } const esp32_music_play_list = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ASSIGNMENT); var code = "music.play(" + lst + ", " + pin + ")\n"; return code; } const esp32_mixgo_music_play_list_show = function (_, generator) { generator.definitions_['import_music'] = 'import music'; generator.definitions_['import_matrix'] = 'import matrix'; var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ASSIGNMENT); // var display = generator.valueToCode(this, 'DISPLAY', generator.ORDER_ASSIGNMENT); var code = "music.play_show(" + lst + ", " + pin + ")\n"; return code; } const esp32_music_reset = function (_, generator) { generator.definitions_['import_music'] = 'import music'; return "music.reset()\n"; } const servo_move = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_degree = generator.valueToCode(this, 'DEGREE', generator.ORDER_ATOMIC); var code = 'servo.servo_write_angle(' + dropdown_pin + ',' + value_degree + ')\n'; return code; } const number = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const ledswitch = function (_, generator) { var code = this.getFieldValue('flag'); return [code, generator.ORDER_ATOMIC]; } const actuator_extern_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); // var bright = this.getFieldValue('bright'); var code = "mixgo.led(" + pin + ").setonoff(" + bright + ")\n"; return code; } const actuator_extern_get_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = "mixgo.led(" + pin + ").getonoff(" + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_extern_led_brightness = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = 'mixgo.led(' + pin + ').setbrightness(' + flag + ')\n'; return code; } const actuator_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); // var bright = this.getFieldValue('bright'); var code = "mixgo.led" + op + ".setonoff(" + bright + ")\n"; return code; } const actuator_get_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var code = "mixgo.led" + op + ".getonoff(" + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_led_brightness = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = 'mixgo.led' + op + '.setbrightness(' + flag + ')\n'; return code; } const actuator_neopixel_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_rgbpin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_ledcount = generator.valueToCode(this, 'LEDCOUNT', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var code = v + ' = neopixel.NeoPixel(machine.Pin(' + dropdown_rgbpin + '), ' + value_ledcount + ', timing = True)\n'; return code; } const actuator_neopixel_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.write()\n'; return code; } const actuator_neopixel_rgb = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var v = generator.valueToCode(this, 'SUB', 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 = v + '[' + value_led + '] = (' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + ')\n'; return code; } const actuator_onboard_neopixel_write = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var code = 'mixgo.rgb.write()\n'; return code; } const actuator_onboard_neopixel_rgb = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; 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 = 'mixgo.rgb[' + value_led + '] = (' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + ')\n'; return code; } const actuator_onboard_neopixel_rgb_all = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; 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 = 'mixgo.rgb.fill((' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + '))\n'; return code; } const led_light = actuator_led_bright; const get_led_bright = actuator_get_led_bright; const led_brightness = actuator_led_brightness; /***/ }), /***/ "../micropython/generators/actuator_extern.js": /*!****************************************************!*\ !*** ../micropython/generators/actuator_extern.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ PIN_init: () => (/* binding */ PIN_init), /* harmony export */ actuator_extern_get_led_bright: () => (/* binding */ actuator_extern_get_led_bright), /* harmony export */ actuator_extern_get_led_state: () => (/* binding */ actuator_extern_get_led_state), /* harmony export */ actuator_extern_led_bright: () => (/* binding */ actuator_extern_led_bright), /* harmony export */ actuator_extern_led_brightness: () => (/* binding */ actuator_extern_led_brightness), /* harmony export */ actuator_ms32006_dcmotor: () => (/* binding */ actuator_ms32006_dcmotor), /* harmony export */ actuator_ms32006_init: () => (/* binding */ actuator_ms32006_init), /* harmony export */ actuator_ms32006_stepper: () => (/* binding */ actuator_ms32006_stepper), /* harmony export */ actuator_neopixel_init: () => (/* binding */ actuator_neopixel_init), /* harmony export */ actuator_neopixel_rgb: () => (/* binding */ actuator_neopixel_rgb), /* harmony export */ actuator_neopixel_rgb_all: () => (/* binding */ actuator_neopixel_rgb_all), /* harmony export */ actuator_neopixel_write: () => (/* binding */ actuator_neopixel_write), /* harmony export */ actuator_use_uart_init: () => (/* binding */ actuator_use_uart_init), /* harmony export */ esp32_music_get_tempo_extern: () => (/* binding */ esp32_music_get_tempo_extern), /* harmony export */ esp32_music_pitch: () => (/* binding */ esp32_music_pitch), /* harmony export */ esp32_music_pitch_init: () => (/* binding */ esp32_music_pitch_init), /* harmony export */ esp32_music_pitch_with_time: () => (/* binding */ esp32_music_pitch_with_time), /* harmony export */ esp32_music_play_list: () => (/* binding */ esp32_music_play_list), /* harmony export */ esp32_music_reset_extern: () => (/* binding */ esp32_music_reset_extern), /* harmony export */ esp32_music_set_tempo_extern: () => (/* binding */ esp32_music_set_tempo_extern), /* harmony export */ esp32_music_stop: () => (/* binding */ esp32_music_stop), /* harmony export */ mixbot_actuator_extern_get_addr: () => (/* binding */ mixbot_actuator_extern_get_addr), /* harmony export */ mixbot_actuator_extern_set_addr: () => (/* binding */ mixbot_actuator_extern_set_addr), /* harmony export */ mixbot_addr_extern: () => (/* binding */ mixbot_addr_extern), /* harmony export */ parrot_PIN_init: () => (/* binding */ parrot_PIN_init), /* harmony export */ parrot_move_speed: () => (/* binding */ parrot_move_speed), /* harmony export */ pin_led_bright: () => (/* binding */ pin_led_bright), /* harmony export */ player_play_music: () => (/* binding */ player_play_music), /* harmony export */ player_set_mode: () => (/* binding */ player_set_mode), /* harmony export */ player_set_play: () => (/* binding */ player_set_play), /* harmony export */ player_set_volume: () => (/* binding */ player_set_volume), /* harmony export */ player_whether_stop: () => (/* binding */ player_whether_stop), /* harmony export */ robot_led_extern: () => (/* binding */ robot_led_extern), /* harmony export */ robot_led_extern_get_value: () => (/* binding */ robot_led_extern_get_value), /* harmony export */ robot_motor_extern: () => (/* binding */ robot_motor_extern), /* harmony export */ robot_motor_extern_get_speed: () => (/* binding */ robot_motor_extern_get_speed), /* harmony export */ robot_servo_extern_absolute_run: () => (/* binding */ robot_servo_extern_absolute_run), /* harmony export */ robot_servo_extern_get_status: () => (/* binding */ robot_servo_extern_get_status), /* harmony export */ robot_servo_extern_relative_continue: () => (/* binding */ robot_servo_extern_relative_continue), /* harmony export */ robot_servo_extern_relative_origin: () => (/* binding */ robot_servo_extern_relative_origin), /* harmony export */ robot_servo_extern_relative_run: () => (/* binding */ robot_servo_extern_relative_run), /* harmony export */ robot_servo_extern_stop: () => (/* binding */ robot_servo_extern_stop), /* harmony export */ robot_servo_extern_stop_mode: () => (/* binding */ robot_servo_extern_stop_mode), /* harmony export */ robot_traffic_light_extern: () => (/* binding */ robot_traffic_light_extern), /* harmony export */ servo_PIN_init: () => (/* binding */ servo_PIN_init), /* harmony export */ servo_get_angle: () => (/* binding */ servo_get_angle), /* harmony export */ servo_get_speed: () => (/* binding */ servo_get_speed), /* harmony export */ servo_init: () => (/* binding */ servo_init), /* harmony export */ servo_move: () => (/* binding */ servo_move), /* harmony export */ servo_move_angle: () => (/* binding */ servo_move_angle), /* harmony export */ servo_set_angle: () => (/* binding */ servo_set_angle), /* harmony export */ servo_set_speed: () => (/* binding */ servo_set_speed), /* harmony export */ servo_speed_360: () => (/* binding */ servo_speed_360), /* harmony export */ syn6288_builtin_voice: () => (/* binding */ syn6288_builtin_voice), /* harmony export */ syn6288_get_voice: () => (/* binding */ syn6288_get_voice), /* harmony export */ syn6288_set_voice: () => (/* binding */ syn6288_set_voice), /* harmony export */ syn6288_tts_play: () => (/* binding */ syn6288_tts_play) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const servo_init = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; generator.definitions_['import_board'] = 'import board'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = v + ' = servo.Servo(board.' + dropdown_pin + ')\n'; return code; } const servo_speed_360 = function (_, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var speed = generator.valueToCode(this, 'SPEED', generator.ORDER_ATOMIC); var code = v + '.set_speed(' + speed + ')\n'; return code; } const servo_set_angle = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var code = 'servo.servo180_angle(' + dropdown_pin + ',' + num + ')\n'; return code; } const servo_set_speed = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var code = 'servo.servo360_speed(' + dropdown_pin + ',' + num + ')\n'; return code; } const servo_get_angle = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'servo.servo180_angle(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const servo_get_speed = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'servo.servo360_speed(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const actuator_ms32006_init = function (_, generator) { generator.definitions_['import ms32006'] = 'import ms32006'; var address = this.getFieldValue('mode') var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub1 = generator.valueToCode(this, 'SUB1', generator.ORDER_ATOMIC); var code = sub + '=ms32006.MS32006(' + sub1 + ',addr=' + address + ')\n'; return code; } const actuator_ms32006_dcmotor = function (_, generator) { generator.definitions_['import ms32006'] = 'import ms32006'; var direction = this.getFieldValue('direction') var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var code = sub + '.dc_motor(' + direction + ',' + speed + ')\n'; return code; } const actuator_ms32006_stepper = function (_, generator) { generator.definitions_['import ms32006'] = 'import ms32006'; var mode = this.getFieldValue('mode') var direction = this.getFieldValue('direction') var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var steps = generator.valueToCode(this, 'steps', generator.ORDER_ATOMIC); var code = sub + '.move(' + mode + ',' + direction + ',' + speed + ',' + steps + ')\n'; return code; } const esp32_music_pitch_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_rgbpin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); generator.definitions_['import_music'] = 'import music'; var code = v + ' = music.MIDI(' + dropdown_rgbpin + ')\n'; return code; } const esp32_music_pitch = function (block, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var number_pitch = generator.valueToCode(block, 'pitch', generator.ORDER_ATOMIC); var code = v + '.pitch(' + number_pitch + ')\n'; return code; } const esp32_music_pitch_with_time = function (block, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', 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 = v + '.pitch_time(' + number_pitch + ', ' + number_time + ')\n'; return code; } const esp32_music_stop = function (block, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.stop(' + ')\n'; return code; } const esp32_music_set_tempo_extern = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bpm = generator.valueToCode(this, 'BPM', generator.ORDER_ASSIGNMENT); var ticks = generator.valueToCode(this, 'TICKS', generator.ORDER_ASSIGNMENT); var code = v + ".set_tempo(" + ticks + ", " + bpm + ")\n"; return code; } const esp32_music_get_tempo_extern = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + ".get_tempo()"; return [code, generator.ORDER_ATOMIC]; } const esp32_music_play_list = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + ".play(" + v + '.' + lst + ")\n"; return code; } const esp32_music_reset_extern = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return v + ".reset()\n"; } const servo_move = function (_, generator) { generator.definitions_['import_servo'] = 'import servo'; generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_degree = generator.valueToCode(this, 'DEGREE', generator.ORDER_ATOMIC); var code = 'servo.servo_write_angle(' + dropdown_pin + ',' + value_degree + ')\n'; return code; } const actuator_extern_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); // var bright = this.getFieldValue('bright'); var code = "mixgo.LED(" + pin + ").setonoff(" + bright + ")\n"; return code; } const actuator_extern_get_led_bright = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = "mixgo.LED(" + pin + ").getbrightness(" + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_extern_get_led_state = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = "mixgo.LED(" + pin + ").getonoff(" + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_extern_led_brightness = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = 'mixgo.LED(' + pin + ').setbrightness(' + flag + ')\n'; return code; } const actuator_neopixel_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_rgbpin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_ledcount = generator.valueToCode(this, 'LEDCOUNT', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var code = v + ' = neopixel.NeoPixel(machine.Pin(' + dropdown_rgbpin + '), ' + value_ledcount + ')\n'; return code; } const actuator_neopixel_rgb_all = function (_, generator) { var v = generator.valueToCode(this, 'SUB', 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 = v + '.fill((' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + '))\n'; return code; } const actuator_neopixel_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.write()\n'; return code; } const actuator_neopixel_rgb = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_neopixel'] = 'import neopixel'; var v = generator.valueToCode(this, 'SUB', 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 = v + '[' + value_led + '] = (' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + ')\n'; return code; } const actuator_use_uart_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var key2 = this.getFieldValue('key2'); if (key2=='SYN6288'){ generator.definitions_['import_syn6288'] = 'import syn6288'; var code = v + '=syn6288.SYN6288(' + key + ')\n'; return code; }else if(key2=='NS9300'){ generator.definitions_['import_ns9300'] = 'import ns9300'; var code = v + '=ns9300.NS9300(' + key + ')\n'; return code; } } const player_whether_stop = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v+'.status('+key+')'; return [code,generator.ORDER_ATOMIC]; } const player_set_play = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v+'.control('+key+')\n'; return code; } const player_set_volume = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var vol = generator.valueToCode(this, 'volume', generator.ORDER_ATOMIC); var code = v+'.volume('+vol+')\n'; return code; } const player_set_mode = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v +'.mode('+key+')\n'; return code; } const player_play_music = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var s = generator.valueToCode(this, 'song', generator.ORDER_ATOMIC); var code = v +'.'+key+'('+s+')\n'; return code; } const syn6288_set_voice = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var voice = generator.valueToCode(this, 'VOICE', generator.ORDER_ASSIGNMENT); var code = v + ".volume(" + voice + ")\n"; return code; } const syn6288_get_voice = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + ".volume()"; return [code, generator.ORDER_ATOMIC]; } const syn6288_builtin_voice = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); var voice = generator.valueToCode(this, 'VOICE', generator.ORDER_ASSIGNMENT); var code = v + ".hint_tones(" + voice + ',blocking=' + mode + ")\n"; return code; } const syn6288_tts_play = function (_, generator) { generator.definitions_['import_music'] = 'import music'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); var voice = generator.valueToCode(this, 'VOICE', generator.ORDER_ASSIGNMENT); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".synthesis(" + data + ',music=' + voice + ',blocking=' + mode + ")\n"; return code; } //mixbot extern below: const mixbot_addr_extern = function (_, generator) { var code = this.getFieldValue('PIN'); return [code, generator.ORDER_ATOMIC]; } const robot_motor_extern = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_motor'] = 'from mixbot_ext import ext_motor'; var code = 'ext_motor.run(' + mode + ',' + speed + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_motor'] = 'ext_motor_left = i2cdevice.Motor(ext_i2c_left)'; var code = 'ext_motor_left.run(0,' + speed + ')\n'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_motor'] = 'ext_motor_right = i2cdevice.Motor(ext_i2c_right)'; var code = 'ext_motor_right.run(0,' + speed + ')\n'; } return code; } } const robot_motor_extern_get_speed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { var code = 'ext_motor.run(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_motor'] = 'ext_motor_left = i2cdevice.Motor(ext_i2c_left)'; var code = 'ext_motor_left.run()'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_motor'] = 'ext_motor_right = i2cdevice.Motor(ext_i2c_right)'; var code = 'ext_motor_right.run()'; } return [code, generator.ORDER_ATOMIC]; } } const robot_traffic_light_extern = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var light = this.getFieldValue('light'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_traffic'] = 'from mixbot_ext import ext_traffic'; var mode = this.getFieldValue('mode'); var light = this.getFieldValue('light'); var code = 'ext_traffic.led(' + mode + ','; if (light == '0' || light == '1' || light == '2') { code += '0' + ',' } else if (light == '3' || light == '4') { code += '1' + ',' } else if (light == '5' || light == '6') { code += '2' + ',' } if (light == '0') { code += '0' } else if (light == '1' || light == '3' || light == '5') { code += '1' } else if (light == '2' || light == '4' || light == '6') { code += '-1' } code += ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_traffic'] = 'ext_traffic_left = i2cdevice.Traffic_LED(ext_i2c_left)'; var code = 'ext_traffic_left.led(0,'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_traffic'] = 'ext_traffic_right = i2cdevice.Traffic_LED(ext_i2c_right)'; var code = 'ext_traffic_right.led(0,'; } if (light == '0' || light == '1' || light == '2') { code += '0' + ',' } else if (light == '3' || light == '4') { code += '1' + ',' } else if (light == '5' || light == '6') { code += '2' + ',' } if (light == '0') { code += '0' } else if (light == '1' || light == '3' || light == '5') { code += '1' } else if (light == '2' || light == '4' || light == '6') { code += '-1' } code += ")\n"; return code; } } const robot_led_extern = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var color = this.getFieldValue('color'); var value = generator.valueToCode(this, 'value', generator.ORDER_ATOMIC); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_' + color + '_LED'] = 'from mixbot_ext import ' + color + '_LED'; var code = color + '_LED.brightness(' + mode + ',' + value + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_' + color + '_LED'] = 'ext_' + color + '_LED_left = i2cdevice.' + color + '_LED(ext_i2c_left)'; var code = 'ext_' + color + '_LED_left.brightness(' + '0,' + value + ")\n"; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_' + color + '_LED'] = 'ext_' + color + '_LED_right = i2cdevice.' + color + '_LED(ext_i2c_right)'; var code = 'ext_' + color + '_LED_right.brightness(' + '0,' + value + ")\n"; } return code; } } const robot_led_extern_get_value = function (_, generator) { var mode = this.getFieldValue('mode'); var color = this.getFieldValue('color'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_' + color + '_LED'] = 'from mixbot_ext import ' + color + '_LED'; var code = color + '_LED.brightness(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_' + color + '_LED'] = 'ext_' + color + '_LED_left = i2cdevice.' + color + '_LED(ext_i2c_left)'; var code = 'ext_' + color + '_LED_left.brightness(0)'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_' + color + '_LED'] = 'ext_' + color + '_LED_right = i2cdevice.' + color + '_LED(ext_i2c_right)'; var code = 'ext_' + color + '_LED_right.brightness(0)'; } return [code, generator.ORDER_ATOMIC]; } } const robot_servo_extern_get_status = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var status = this.getFieldValue('status'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.state(' + mode + ")" + status; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.state(0)' + status; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.state(0)' + status; } return [code, generator.ORDER_ATOMIC]; } } const robot_servo_extern_stop_mode = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var status = this.getFieldValue('status'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.stop_mode(' + mode + "," + status + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.stop_mode(' + "0," + status + ")\n"; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.stop_mode(' + "0," + status + ")\n"; } return code; } } const robot_servo_extern_stop = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.stop(' + mode + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.stop(0)\n'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.stop(0)\n'; } return code; } } const robot_servo_extern_absolute_run = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var status = this.getFieldValue('status'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var direction = this.getFieldValue('direction'); var angle = generator.valueToCode(this, 'angle', generator.ORDER_ATOMIC); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.absolute_run(' + mode + "," + status + "," + speed + "," + direction + "," + angle + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.absolute_run(' + "0," + status + "," + speed + "," + direction + "," + angle + ")\n"; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.absolute_run(' + "0," + status + "," + speed + "," + direction + "," + angle + ")\n"; } return code; } } const robot_servo_extern_relative_origin = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.relative_origin(' + mode + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.relative_origin(0)\n'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.relative_origin(0)\n'; } return code; } } const robot_servo_extern_relative_run = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var status = this.getFieldValue('status'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var angle = generator.valueToCode(this, 'angle', generator.ORDER_ATOMIC); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.relative_run(' + mode + "," + status + "," + speed + "," + angle + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.relative_run(' + "0," + status + "," + speed + "," + angle + ")\n"; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.relative_run(' + "0," + status + "," + speed + "," + angle + ")\n"; } return code; } } const robot_servo_extern_relative_continue = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var status = this.getFieldValue('status'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var direction = this.getFieldValue('direction'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_servo'] = 'from mixbot_ext import ext_servo'; var code = 'ext_servo.relative_continue(' + mode + "," + status + "," + speed + "," + direction + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_servo'] = 'ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)'; var code = 'ext_servo_left.relative_continue(' + "0," + status + "," + speed + "," + direction + ")\n"; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_servo'] = 'ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)'; var code = 'ext_servo_right.relative_continue(' + "0," + status + "," + speed + "," + direction + ")\n"; } return code; } } const mixbot_actuator_extern_get_addr = function (_, generator) { var name = this.getFieldValue('name'); generator.definitions_['import_mixbot_ext_' + name] = 'from mixbot_ext import ' + name; var code = name + '.addr_get()'; return [code, generator.ORDER_ATOMIC]; } const mixbot_actuator_extern_set_addr = function (_, generator) { var name = this.getFieldValue('name'); generator.definitions_['import_mixbot_ext_' + name] = 'from mixbot_ext import ' + name; var oldaddr = generator.valueToCode(this, 'old', generator.ORDER_ATOMIC); var newaddr = generator.valueToCode(this, 'new', generator.ORDER_ATOMIC); var code = name + '.addr_set(' + oldaddr + ',' + newaddr + ')\n'; return code; } //educore const PIN_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const pin_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const servo_PIN_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const servo_move_angle = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const parrot_PIN_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const parrot_move_speed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } /***/ }), /***/ "../micropython/generators/actuator_onboard.js": /*!*****************************************************!*\ !*** ../micropython/generators/actuator_onboard.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ actuator_dc_motor: () => (/* binding */ actuator_dc_motor), /* harmony export */ actuator_dc_motor_stop: () => (/* binding */ actuator_dc_motor_stop), /* harmony export */ actuator_get_led_bright: () => (/* binding */ actuator_get_led_bright), /* harmony export */ actuator_get_led_state: () => (/* binding */ actuator_get_led_state), /* harmony export */ actuator_led_bright: () => (/* binding */ actuator_led_bright), /* harmony export */ actuator_led_brightness: () => (/* binding */ actuator_led_brightness), /* harmony export */ actuator_mixbot_buzzer_on_off: () => (/* binding */ actuator_mixbot_buzzer_on_off), /* harmony export */ actuator_mixgo_nova_mic_get: () => (/* binding */ actuator_mixgo_nova_mic_get), /* harmony export */ actuator_mixgo_nova_mic_set: () => (/* binding */ actuator_mixgo_nova_mic_set), /* harmony export */ actuator_mixgo_nova_onboard_music_pitch: () => (/* binding */ actuator_mixgo_nova_onboard_music_pitch), /* harmony export */ actuator_mixgo_nova_onboard_music_stop: () => (/* binding */ actuator_mixgo_nova_onboard_music_stop), /* harmony export */ actuator_mixgo_nova_play_audio: () => (/* binding */ actuator_mixgo_nova_play_audio), /* harmony export */ actuator_mixgo_nova_play_online_audio: () => (/* binding */ actuator_mixgo_nova_play_online_audio), /* harmony export */ actuator_mixgo_nova_record_audio: () => (/* binding */ actuator_mixgo_nova_record_audio), /* harmony export */ actuator_mixgo_nova_voice_get: () => (/* binding */ actuator_mixgo_nova_voice_get), /* harmony export */ actuator_mixgo_nova_voice_set: () => (/* binding */ actuator_mixgo_nova_voice_set), /* harmony export */ actuator_mixgo_zero_led_color: () => (/* binding */ actuator_mixgo_zero_led_color), /* harmony export */ actuator_onboard_neopixel_rgb: () => (/* binding */ actuator_onboard_neopixel_rgb), /* harmony export */ actuator_onboard_neopixel_rgb_all: () => (/* binding */ actuator_onboard_neopixel_rgb_all), /* harmony export */ actuator_onboard_neopixel_rgb_show_all_chase: () => (/* binding */ actuator_onboard_neopixel_rgb_show_all_chase), /* harmony export */ actuator_onboard_neopixel_rgb_show_all_rainbow: () => (/* binding */ actuator_onboard_neopixel_rgb_show_all_rainbow), /* harmony export */ actuator_onboard_neopixel_write: () => (/* binding */ actuator_onboard_neopixel_write), /* harmony export */ actuator_stepper_keep: () => (/* binding */ actuator_stepper_keep), /* harmony export */ actuator_stepper_stop: () => (/* binding */ actuator_stepper_stop), /* harmony export */ analog_ble_keyboard_init: () => (/* binding */ analog_ble_keyboard_init), /* harmony export */ analog_ble_keyboard_input: () => (/* binding */ analog_ble_keyboard_input), /* harmony export */ analog_ble_keyboard_mouse_init: () => (/* binding */ analog_ble_keyboard_mouse_init), /* harmony export */ analog_ble_keyboard_mouse_input: () => (/* binding */ analog_ble_keyboard_mouse_input), /* harmony export */ analog_ble_keyboard_mouse_send_battery: () => (/* binding */ analog_ble_keyboard_mouse_send_battery), /* harmony export */ analog_ble_keyboard_mouse_str: () => (/* binding */ analog_ble_keyboard_mouse_str), /* harmony export */ analog_ble_keyboard_send_battery: () => (/* binding */ analog_ble_keyboard_send_battery), /* harmony export */ analog_ble_keyboard_str: () => (/* binding */ analog_ble_keyboard_str), /* harmony export */ analog_ble_mouse_init: () => (/* binding */ analog_ble_mouse_init), /* harmony export */ analog_ble_mouse_input: () => (/* binding */ analog_ble_mouse_input), /* harmony export */ analog_ble_mouse_keyboard_input: () => (/* binding */ analog_ble_mouse_keyboard_input), /* harmony export */ analog_ble_mouse_send_battery: () => (/* binding */ analog_ble_mouse_send_battery), /* harmony export */ analog_keyboard_input: () => (/* binding */ analog_keyboard_input), /* harmony export */ analog_keyboard_str: () => (/* binding */ analog_keyboard_str), /* harmony export */ analog_mouse_input: () => (/* binding */ analog_mouse_input), /* harmony export */ bitbot_motor: () => (/* binding */ bitbot_motor), /* harmony export */ bitbot_move: () => (/* binding */ bitbot_move), /* harmony export */ bitbot_stop: () => (/* binding */ bitbot_stop), /* harmony export */ ble_keyboard_connect: () => (/* binding */ ble_keyboard_connect), /* harmony export */ ble_keyboard_get_mac: () => (/* binding */ ble_keyboard_get_mac), /* harmony export */ ble_keyboard_mouse_connect: () => (/* binding */ ble_keyboard_mouse_connect), /* harmony export */ ble_keyboard_mouse_get_mac: () => (/* binding */ ble_keyboard_mouse_get_mac), /* harmony export */ ble_mouse_connect: () => (/* binding */ ble_mouse_connect), /* harmony export */ ble_mouse_get_mac: () => (/* binding */ ble_mouse_get_mac), /* harmony export */ cc_number: () => (/* binding */ cc_number), /* harmony export */ educore_ble_keyboard_input: () => (/* binding */ educore_ble_keyboard_input), /* harmony export */ educore_ble_sensor_connected: () => (/* binding */ educore_ble_sensor_connected), /* harmony export */ educore_ble_sensor_init: () => (/* binding */ educore_ble_sensor_init), /* harmony export */ educore_buzzer: () => (/* binding */ educore_buzzer), /* harmony export */ educore_buzzer_play_tone: () => (/* binding */ educore_buzzer_play_tone), /* harmony export */ educore_buzzer_play_tone_time: () => (/* binding */ educore_buzzer_play_tone_time), /* harmony export */ educore_buzzer_stop: () => (/* binding */ educore_buzzer_stop), /* harmony export */ educore_neopixel_clear: () => (/* binding */ educore_neopixel_clear), /* harmony export */ educore_neopixel_rgb: () => (/* binding */ educore_neopixel_rgb), /* harmony export */ educore_rgb_light: () => (/* binding */ educore_rgb_light), /* harmony export */ esp32_music_get_tempo: () => (/* binding */ esp32_music_get_tempo), /* harmony export */ esp32_music_reset: () => (/* binding */ esp32_music_reset), /* harmony export */ esp32_music_set_tempo: () => (/* binding */ esp32_music_set_tempo), /* harmony export */ esp32_onboard_music_pitch: () => (/* binding */ esp32_onboard_music_pitch), /* harmony export */ esp32_onboard_music_pitch_with_time: () => (/* binding */ esp32_onboard_music_pitch_with_time), /* harmony export */ esp32_onboard_music_play_list: () => (/* binding */ esp32_onboard_music_play_list), /* harmony export */ esp32_onboard_music_stop: () => (/* binding */ esp32_onboard_music_stop), /* harmony export */ general_key: () => (/* binding */ general_key), /* harmony export */ general_key_tuple: () => (/* binding */ general_key_tuple), /* harmony export */ get_power_output: () => (/* binding */ get_power_output), /* harmony export */ ledswitch: () => (/* binding */ ledswitch), /* harmony export */ mixbot_motor: () => (/* binding */ mixbot_motor), /* harmony export */ mixbot_motor_status: () => (/* binding */ mixbot_motor_status), /* harmony export */ mixbot_move: () => (/* binding */ mixbot_move), /* harmony export */ mixbot_stop: () => (/* binding */ mixbot_stop), /* harmony export */ mouse_key: () => (/* binding */ mouse_key), /* harmony export */ number: () => (/* binding */ number), /* harmony export */ rm_actuator_get_led_bright: () => (/* binding */ rm_actuator_get_led_bright), /* harmony export */ rm_actuator_get_led_state: () => (/* binding */ rm_actuator_get_led_state), /* harmony export */ rm_actuator_led_bright: () => (/* binding */ rm_actuator_led_bright), /* harmony export */ rm_actuator_led_brightness: () => (/* binding */ rm_actuator_led_brightness), /* harmony export */ rm_motor: () => (/* binding */ rm_motor), /* harmony export */ set_all_power_output: () => (/* binding */ set_all_power_output), /* harmony export */ set_power_output: () => (/* binding */ set_power_output), /* harmony export */ special_key: () => (/* binding */ special_key) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const esp32_music_set_tempo = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const esp32_music_get_tempo = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const esp32_onboard_music_pitch = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const esp32_onboard_music_pitch_with_time = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const esp32_onboard_music_stop = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music'; var code = 'onboard_music.stop(' + ')\n'; return code; } const esp32_onboard_music_play_list = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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 { generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music'; var code = "onboard_music.play(" + lst + ")\n"; } return code; } const esp32_music_reset = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_music'] = 'from ' + version + ' import onboard_music'; return "onboard_music.reset()\n"; } const number = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const ledswitch = function (_, generator) { var code = this.getFieldValue('flag'); return [code, generator.ORDER_ATOMIC]; } const actuator_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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 bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "onboard_led.setonoff(" + op + "," + bright + ")\n"; return code; } const actuator_get_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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 code = "onboard_led.getbrightness(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_get_led_state = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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 code = "onboard_led.getonoff(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const actuator_led_brightness = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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 flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "onboard_led.setbrightness(" + op + "," + flag + ")\n"; return code; } const actuator_mixgo_zero_led_color = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const cc_number = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const rm_actuator_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const rm_actuator_get_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const rm_actuator_get_led_state = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const rm_actuator_led_brightness = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const actuator_onboard_neopixel_write = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rgb'] = 'from ' + version + ' import onboard_rgb'; var code = 'onboard_rgb.write()\n'; return code; } const actuator_onboard_neopixel_rgb = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rgb'] = 'from ' + version + ' import onboard_rgb'; 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 = 'onboard_rgb[' + value_led + '] = (' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + ')\n'; return code; } const actuator_onboard_neopixel_rgb_all = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rgb'] = 'from ' + version + ' import onboard_rgb'; 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 = 'onboard_rgb.fill((' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + '))\n'; return code; } const actuator_onboard_neopixel_rgb_show_all_chase = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rgb'] = 'from ' + version + ' import onboard_rgb'; 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 number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var code = 'onboard_rgb.color_chase(' + value_rvalue + ', ' + value_gvalue + ', ' + value_bvalue + ', ' + number_time + ')\n'; return code; } const actuator_onboard_neopixel_rgb_show_all_rainbow = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rgb'] = 'from ' + version + ' import onboard_rgb'; var number_time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var code = 'onboard_rgb.rainbow_cycle(' + number_time + ')\n'; return code; } 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 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; } 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; } 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; } 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: const mixbot_motor_status = function (_, generator) { generator.definitions_['import_mixbot_motor'] = 'from mixbot import motor'; var code = 'motor.status()'; return [code, generator.ORDER_ATOMIC]; } 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; } 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; } 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; } const actuator_mixbot_buzzer_on_off = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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: 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; } 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; } 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; } const actuator_mixgo_nova_mic_set = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const actuator_mixgo_nova_mic_get = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const actuator_mixgo_nova_voice_set = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const actuator_mixgo_nova_voice_get = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const actuator_mixgo_nova_record_audio = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const actuator_mixgo_nova_play_audio = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const actuator_mixgo_nova_play_online_audio = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } 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; } 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; } const set_power_output = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const get_power_output = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const set_all_power_output = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const analog_keyboard_input = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const special_key = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const general_key = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const analog_mouse_input = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const mouse_key = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const analog_keyboard_str = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } 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]; }; 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; } 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]; } 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]; } 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; } 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; } 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; } 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; } 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]; } 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]; } 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; } 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; } 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; } 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]; } 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]; } 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; } 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; } 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; } 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 const educore_buzzer = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_speaker'] = 'from ' + version + ' import spesker'; var code = "speaker()"; return [code, generator.ORDER_ATOMIC]; } const educore_buzzer_play_tone = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_buzzer_play_tone_time = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_buzzer_stop = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_rgb_light = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + 'rgb'] = 'from ' + version + ' import rgb'; var code = "rgb()"; return [code, generator.ORDER_ATOMIC]; } const educore_neopixel_rgb = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_neopixel_clear = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_ble_sensor_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_ble_sensor_connected = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_ble_keyboard_input = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } /***/ }), /***/ "../micropython/generators/ai.js": /*!***************************************!*\ !*** ../micropython/generators/ai.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MICROPYTHON_AI_Speech_asr: () => (/* binding */ MICROPYTHON_AI_Speech_asr), /* harmony export */ MICROPYTHON_AI_Speech_unit: () => (/* binding */ MICROPYTHON_AI_Speech_unit), /* harmony export */ MICROPYTHON_AI_client: () => (/* binding */ MICROPYTHON_AI_client) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const MICROPYTHON_AI_client = function (_, generator) { var ctype = this.getFieldValue('CTYPE'); generator.definitions_['import_baidu_speech'] = 'import baidu_speech'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var api_key = generator.valueToCode(this, 'API_KEY', generator.ORDER_ATOMIC); var sound = ''; if (ctype == "ASR") { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_sound'] = "from " + version + " import onboard_sound"; sound += 'onboard_sound.adc' + ','; } var secret_key = generator.valueToCode(this, 'SECRET_KEY', generator.ORDER_ATOMIC); var code = v + ' = ' + 'baidu_speech.' + ctype + '(' + sound + api_key + ', ' + secret_key + ')\n'; return code; } const MICROPYTHON_AI_Speech_unit = function (_, generator) { generator.definitions_['import_baidu_speech'] = 'import baidu_speech'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC); var s = generator.valueToCode(this, 'STR', generator.ORDER_ATOMIC); var code = v + '.chatbot(' + id + ',' + s + ')'; return [code, generator.ORDER_ATOMIC]; } const MICROPYTHON_AI_Speech_asr = function (_, generator) { var language = this.getFieldValue('LANGUAGE'); generator.definitions_['import_baidu_speech'] = 'import baidu_speech'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var fn = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC) || '""'; var code = v + '.recognize(record_time=' + fn + ',dev_pid=' + language + ')'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/ai_sensor.js": /*!**********************************************!*\ !*** ../micropython/generators/ai_sensor.js ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ai_sensor_20object: () => (/* binding */ ai_sensor_20object), /* harmony export */ ai_sensor_ailocal_class: () => (/* binding */ ai_sensor_ailocal_class), /* harmony export */ ai_sensor_ailocal_class_result: () => (/* binding */ ai_sensor_ailocal_class_result), /* harmony export */ ai_sensor_ailocal_train: () => (/* binding */ ai_sensor_ailocal_train), /* harmony export */ ai_sensor_asr_recognize: () => (/* binding */ ai_sensor_asr_recognize), /* harmony export */ ai_sensor_audio_play: () => (/* binding */ ai_sensor_audio_play), /* harmony export */ ai_sensor_audio_record: () => (/* binding */ ai_sensor_audio_record), /* harmony export */ ai_sensor_barcode: () => (/* binding */ ai_sensor_barcode), /* harmony export */ ai_sensor_circle: () => (/* binding */ ai_sensor_circle), /* harmony export */ ai_sensor_classifier_faces: () => (/* binding */ ai_sensor_classifier_faces), /* harmony export */ ai_sensor_color: () => (/* binding */ ai_sensor_color), /* harmony export */ ai_sensor_color_chases: () => (/* binding */ ai_sensor_color_chases), /* harmony export */ ai_sensor_color_chases_result: () => (/* binding */ ai_sensor_color_chases_result), /* harmony export */ ai_sensor_config: () => (/* binding */ ai_sensor_config), /* harmony export */ ai_sensor_face: () => (/* binding */ ai_sensor_face), /* harmony export */ ai_sensor_find_20objects: () => (/* binding */ ai_sensor_find_20objects), /* harmony export */ ai_sensor_find_barcodes: () => (/* binding */ ai_sensor_find_barcodes), /* harmony export */ ai_sensor_find_circles: () => (/* binding */ ai_sensor_find_circles), /* harmony export */ ai_sensor_find_colors: () => (/* binding */ ai_sensor_find_colors), /* harmony export */ ai_sensor_find_licenseplates: () => (/* binding */ ai_sensor_find_licenseplates), /* harmony export */ ai_sensor_find_lines: () => (/* binding */ ai_sensor_find_lines), /* harmony export */ ai_sensor_find_qrcodes: () => (/* binding */ ai_sensor_find_qrcodes), /* harmony export */ ai_sensor_find_rects: () => (/* binding */ ai_sensor_find_rects), /* harmony export */ ai_sensor_find_tags: () => (/* binding */ ai_sensor_find_tags), /* harmony export */ ai_sensor_licenseplate: () => (/* binding */ ai_sensor_licenseplate), /* harmony export */ ai_sensor_line: () => (/* binding */ ai_sensor_line), /* harmony export */ ai_sensor_qrcode: () => (/* binding */ ai_sensor_qrcode), /* harmony export */ ai_sensor_qrcode_lite: () => (/* binding */ ai_sensor_qrcode_lite), /* harmony export */ ai_sensor_rect: () => (/* binding */ ai_sensor_rect), /* harmony export */ ai_sensor_rgb: () => (/* binding */ ai_sensor_rgb), /* harmony export */ ai_sensor_tag: () => (/* binding */ ai_sensor_tag), /* harmony export */ ai_sensor_use_uart_init: () => (/* binding */ ai_sensor_use_uart_init), /* harmony export */ ai_sensor_yolo_recognize: () => (/* binding */ ai_sensor_yolo_recognize), /* harmony export */ ai_sensor_yolo_recognize_result: () => (/* binding */ ai_sensor_yolo_recognize_result) /* harmony export */ }); const ai_sensor_use_uart_init = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v + '=mixgo_ai.AI(' + key + ',quick=1)\n'; return code; } const ai_sensor_qrcode_lite = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var type = this.getFieldValue('TYPE'); var code = sub + '.find_' + type + '()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_config = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var rx = generator.valueToCode(this, 'RX', generator.ORDER_ATOMIC); var tx = generator.valueToCode(this, 'TX', generator.ORDER_ATOMIC); var dropdown_uart = this.getFieldValue('mode'); var code = v + '.configure(' + tx + ',' + rx + ',restart=' + dropdown_uart + ')\n'; return code; } const ai_sensor_rgb = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var led1 = generator.valueToCode(this, 'led1', generator.ORDER_ATOMIC); var led2 = generator.valueToCode(this, 'led2', generator.ORDER_ATOMIC); var code = v + '.led_rgb(' + led1 + ',' + led2 + ')\n'; return code; } const ai_sensor_qrcode = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_qrcodes = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_qrcodes()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_barcode = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_barcodes = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_barcodes()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_tag = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_tags = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_apriltags()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_line = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_lines = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v3 = generator.valueToCode(this, 'VAR3', generator.ORDER_ATOMIC); var code = v + '.find_lines(' + v1 + ',' + v2 + ',' + v3 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_circle = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_circles = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v3 = generator.valueToCode(this, 'VAR3', generator.ORDER_ATOMIC); var code = v + '.find_circles(' + v1 + ',' + v2 + ',' + v3 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_rect = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_rects = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var code = v + '.find_rects(' + v1 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_color = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_colors = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_colors()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_color_chases_result = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_color_chases = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v3 = generator.valueToCode(this, 'VAR3', generator.ORDER_ATOMIC); var code = v + '.color_track(' + v1 + ',' + v2 + ',' + v3 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_ailocal_train = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v3 = generator.valueToCode(this, 'VAR3', generator.ORDER_ATOMIC); var v4 = generator.valueToCode(this, 'VAR4', generator.ORDER_ATOMIC); var code = v + '.ailocal_train(' + v1 + ',' + v2 + ',' + v3 + ',' + v4 + ')\n'; return code; } const ai_sensor_ailocal_class = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v4 = generator.valueToCode(this, 'VAR4', generator.ORDER_ATOMIC); var code = v + '.ailocal_class(' + v1 + ',' + v2 + ',' + v4 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_ailocal_class_result = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_audio_record = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var code = v + '.audio_record(path=' + v1 + ',times=' + v2 + ')\n'; return code; } const ai_sensor_audio_play = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var code = v + '.audio_play(path=' + v1 + ',volume=' + v2 + ')\n'; return code; } const ai_sensor_yolo_recognize = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var v4 = generator.valueToCode(this, 'VAR4', generator.ORDER_ATOMIC); var code = v + '.yolo_recognize(' + v1 + ',' + v2 + ',' + v4 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_yolo_recognize_result = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_asr_recognize = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var v1 = generator.valueToCode(this, 'VAR1', generator.ORDER_ATOMIC); var v2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var code = v + '.asr_recognize(' + v1 + ',threshold=' + v2 + ')'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_licenseplate = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_licenseplates = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_licenseplate()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_face = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_classifier_faces = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.face_detect()'; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_20object = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var sub = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const ai_sensor_find_20objects = function (_, generator) { generator.definitions_['import_mixgo_ai'] = 'import mixgo_ai'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.find_20object()'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/blynk.js": /*!******************************************!*\ !*** ../micropython/generators/blynk.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mpython_blynk_app_data: () => (/* binding */ mpython_blynk_app_data), /* harmony export */ mpython_blynk_app_notify: () => (/* binding */ mpython_blynk_app_notify), /* harmony export */ mpython_blynk_email: () => (/* binding */ mpython_blynk_email), /* harmony export */ mpython_blynk_get_timers: () => (/* binding */ mpython_blynk_get_timers), /* harmony export */ mpython_blynk_on_connected: () => (/* binding */ mpython_blynk_on_connected), /* harmony export */ mpython_blynk_on_disconnected: () => (/* binding */ mpython_blynk_on_disconnected), /* harmony export */ mpython_blynk_run: () => (/* binding */ mpython_blynk_run), /* harmony export */ mpython_blynk_sensor_data_to_app: () => (/* binding */ mpython_blynk_sensor_data_to_app), /* harmony export */ mpython_blynk_set_property: () => (/* binding */ mpython_blynk_set_property), /* harmony export */ mpython_blynk_setup: () => (/* binding */ mpython_blynk_setup), /* harmony export */ mpython_blynk_stop_timers: () => (/* binding */ mpython_blynk_stop_timers), /* harmony export */ mpython_blynk_sync_virtual: () => (/* binding */ mpython_blynk_sync_virtual), /* harmony export */ mpython_blynk_terminal_widget_vpin: () => (/* binding */ mpython_blynk_terminal_widget_vpin), /* harmony export */ mpython_blynktimer: () => (/* binding */ mpython_blynktimer), /* harmony export */ mpython_blynktimer_run: () => (/* binding */ mpython_blynktimer_run) /* harmony export */ }); // Blynk 第二版 // Blynk 自定义终端部件 Terminal const mpython_blynk_terminal_widget_vpin = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var virtual_pin = generator.valueToCode(this, 'virtual_pin', generator.ORDER_ATOMIC); generator.functions_['terminal_widget_vpin_' + virtual_pin] = ` ALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc'] @blynk.handle_event('write V${virtual_pin}') def write_handler(pin, _values): header = '' result = '' delimiter = '{}\\n'.format('=' * 30) if _values and _values[0] in ALLOWED_COMMANDS_LIST: cmd_params = _values[0].split(' ') try: result = subprocess.check_output(cmd_params).decode('utf-8') header = '[output]\\n' except subprocess.CalledProcessError as exe_err: header = '[error]\\n' result = 'Return Code: {}\\n'.format(exe_err.returncode) except Exception as g_err: print("Command caused '{}'".format(g_err)) elif _values and _values[0] == 'help': header = '[help -> allowed commands]\\n' result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST)) # communicate with terminal if help or some allowed command if result: output = '{}{}{}{}'.format(header, delimiter, result, delimiter) print(output) blynk.virtual_write(pin, output) blynk.virtual_write(pin, '\\n') ` var code = ''; return code; } // Blynk 同步虚拟管脚的状态 const mpython_blynk_sync_virtual = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var virtual_pin = generator.valueToCode(this, 'virtual_pin', generator.ORDER_ATOMIC); var code = 'blynk.virtual_sync(' + virtual_pin + ')\n'; return code; } // 斷開连接 Blynk const mpython_blynk_on_disconnected = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var branch = generator.statementToCode(this, 'DO'); branch = generator.addLoopTrap(branch, this.id) || generator.PASS; generator.definitions_['blynk_on_disconnected'] = '@blynk.handle_event("disconnect")\n' + 'def connect_handler():\n' + " print('Blynk disconnected')\n" + branch; return ''; } // 连接上 Blynk const mpython_blynk_on_connected = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var branch = generator.statementToCode(this, 'DO'); branch = generator.addLoopTrap(branch, this.id) || generator.PASS; generator.definitions_['blynk_on_connected'] = '@blynk.handle_event("connect")\n' + 'def connect_handler():\n' + " print('Blynk connected')\n" + branch; return ''; } // Blynk 定时器的进程生效并运行 const mpython_blynktimer_run = function () { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; // generator.definitions_['import_blynktimer'] = 'import blynktimer'; var code = 'blynk_timer.run()\n'; return code; } // Blynk 进程生效并运行 const mpython_blynk_run = function () { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var code = 'blynk.run()\n'; return code; } // Blynk APP 显示通知 const mpython_blynk_app_notify = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var notification = generator.valueToCode(this, 'notification', generator.ORDER_ATOMIC); var code = 'blynk.notify(' + notification + ')\n'; return code; } // 停止 Blynk 定时器 %1 const mpython_blynk_stop_timers = function (_, generator) { generator.definitions_['import_blynktimer'] = 'import blynktimer'; generator.definitions_['def_blynktimer'] = 'blynk_timer = blynktimer.Timer(no_timers_err=False)'; var timer_num = generator.valueToCode(this, 'timer_num', generator.ORDER_ATOMIC); var code = `blynk_timer.stop('${timer_num}_blynk_timer${timer_num}')` + '\n'; return code; } // 可用的 Blynk 定时器 const mpython_blynk_get_timers = function (_, generator) { generator.definitions_['import_blynktimer'] = 'import blynktimer'; generator.definitions_['def_blynktimer'] = 'blynk_timer = blynktimer.Timer(no_timers_err=False)'; var code = `blynk_timer.get_timers()`; return [code, generator.ORDER_ATOMIC]; } //blynk定时器 const mpython_blynktimer = function (_, generator) { generator.definitions_['import_blynktimer'] = 'import blynktimer'; var Num = generator.valueToCode(this, 'Num', generator.ORDER_ATOMIC); var period = generator.valueToCode(this, 'period', generator.ORDER_ATOMIC); var Timer_mode = this.getFieldValue('Timer_mode'); var branch = generator.statementToCode(this, 'DO'); branch = generator.addLoopTrap(branch, this.id) || generator.PASS; generator.definitions_['def_blynktimer'] = 'blynk_timer = blynktimer.Timer(no_timers_err=False)'; generator.definitions_['blynktimer_event' + Num] = ` @blynk_timer.register(interval=${period}, run_once=${Timer_mode}) def blynk_timer${Num}(): ` + branch; return ''; } // 发送数据 %1 到 Bylnk APP 的虚拟管脚 %2 const mpython_blynk_sensor_data_to_app = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var sensor_data = generator.valueToCode(this, 'sensor_data', generator.ORDER_ATOMIC); var virtual_pin = generator.valueToCode(this, 'virtual_pin', generator.ORDER_ATOMIC); var code = 'blynk.virtual_write(' + virtual_pin + ', ' + sensor_data + ')\n'; return code; } // 从 Bylnk APP 获取虚拟管脚 %1 的值 const mpython_blynk_app_data = function (_, generator) { // generator.definitions_['import_BlynkLib'] = 'import blynklib'; var virtual_pin = generator.valueToCode(this, 'virtual_pin', generator.ORDER_ATOMIC); var branch = generator.statementToCode(this, 'DO'); branch = generator.addLoopTrap(branch, this.id) || generator.PASS; generator.definitions_['blynk_VIRTUAL_WRITE_' + virtual_pin] = "@blynk.handle_event('write V" + virtual_pin + "')\n" + 'def write_virtual_pin_handler(pin, _value):\n' + ' for i in range(0, len(_value)):\n' + ' try: _value[i] = eval(_value[i])\n' + ' except: pass\n' + ' if len(_value) == 1: _value = _value[0]\n' + branch; //' print('+'"v' + virtual_pin + '_value: {}".format(_value))\n' // var code = 'blynk.run()\n'; return ''; } // 向 %1 发邮件 主题 %2 正文 %3 const mpython_blynk_email = function (_, generator) { var body = generator.valueToCode(this, 'body', generator.ORDER_ATOMIC); var subject = generator.valueToCode(this, 'subject', generator.ORDER_ATOMIC); var TargetEmail = generator.valueToCode(this, 'TargetEmail', generator.ORDER_ATOMIC); var code = `blynk.email(${TargetEmail}, ${subject}, ${body})` + '\n'; return code; } // 给虚拟管脚添加 属性 %1 值 %2 const mpython_blynk_set_property = function (_, generator) { var attribute_value = generator.valueToCode(this, 'attribute_value', generator.ORDER_ATOMIC); var attribute_name = generator.valueToCode(this, 'attribute_name', generator.ORDER_ATOMIC); var code = `blynk.set_property(pin, ${attribute_name}, ${attribute_value})` + '\n'; return code; } // Bylnk设置 const mpython_blynk_setup = function (_, generator) { generator.definitions_['import_BlynkLib'] = 'import blynklib'; var server = generator.valueToCode(this, 'server', generator.ORDER_ATOMIC); var auth = generator.valueToCode(this, 'auth', generator.ORDER_ATOMIC); var port = generator.valueToCode(this, 'port', generator.ORDER_ATOMIC); generator.definitions_['mpython_blynk_setup'] = "blynk = blynklib.Blynk(" + auth + ", server=" + server + ", port=" + port + ")"; generator.definitions_['blynk_on_connected'] = ` @blynk.handle_event("connect") def connect_handler(): print('Blynk connected') ` generator.definitions_['blynk_on_disconnected'] = ` @blynk.handle_event("disconnect") def connect_handler(): print('Blynk disconnected') ` return ''; } /***/ }), /***/ "../micropython/generators/cc_g1.js": /*!******************************************!*\ !*** ../micropython/generators/cc_g1.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ cc_g1_read_bat: () => (/* binding */ cc_g1_read_bat), /* harmony export */ cc_g1_read_joystick: () => (/* binding */ cc_g1_read_joystick), /* harmony export */ cc_g1_read_key: () => (/* binding */ cc_g1_read_key), /* harmony export */ cc_g1_turnoff: () => (/* binding */ cc_g1_turnoff) /* harmony export */ }); const cc_g1_read_bat = function (_, generator) { generator.definitions_['import_cc_g1'] = 'from cc_g1 import handle'; var code = 'handle.read_bat()'; return [code, generator.ORDER_ATOMIC]; } const cc_g1_read_joystick = function (_, generator) { var v = this.getFieldValue('VAR'); generator.definitions_['import_cc_g1'] = 'from cc_g1 import handle'; var code = 'handle.read_joystick()' + v + ''; return [code, generator.ORDER_ATOMIC]; } const cc_g1_read_key = function (_, generator) { var v = this.getFieldValue('VAR'); generator.definitions_['import_cc_g1'] = 'from cc_g1 import handle'; var code = 'handle.read_key(' + v + ')'; return [code, generator.ORDER_ATOMIC]; } const cc_g1_turnoff = function (_, generator) { generator.definitions_['import_cc_g1'] = 'from cc_g1 import handle'; var code = 'handle.shutdown()'; return code; } /***/ }), /***/ "../micropython/generators/ce_go.js": /*!******************************************!*\ !*** ../micropython/generators/ce_go.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ce_go_dc_motor: () => (/* binding */ ce_go_dc_motor), /* harmony export */ ce_go_get_led_bright: () => (/* binding */ ce_go_get_led_bright), /* harmony export */ ce_go_get_led_state: () => (/* binding */ ce_go_get_led_state), /* harmony export */ ce_go_hall_attachInterrupt: () => (/* binding */ ce_go_hall_attachInterrupt), /* harmony export */ ce_go_hall_data: () => (/* binding */ ce_go_hall_data), /* harmony export */ ce_go_hall_initialize: () => (/* binding */ ce_go_hall_initialize), /* harmony export */ ce_go_led_bright: () => (/* binding */ ce_go_led_bright), /* harmony export */ ce_go_led_brightness: () => (/* binding */ ce_go_led_brightness), /* harmony export */ ce_go_light_number: () => (/* binding */ ce_go_light_number), /* harmony export */ ce_go_pin_light: () => (/* binding */ ce_go_pin_light), /* harmony export */ ce_go_pin_near: () => (/* binding */ ce_go_pin_near), /* harmony export */ ce_go_pin_near_line: () => (/* binding */ ce_go_pin_near_line), /* harmony export */ ce_go_pin_near_state_change: () => (/* binding */ ce_go_pin_near_state_change), /* harmony export */ ce_go_stepper_keep: () => (/* binding */ ce_go_stepper_keep), /* harmony export */ ce_go_stepper_stop: () => (/* binding */ ce_go_stepper_stop), /* harmony export */ educore_car: () => (/* binding */ educore_car), /* harmony export */ educore_car_pin_near: () => (/* binding */ educore_car_pin_near), /* harmony export */ educore_car_pin_near_line: () => (/* binding */ educore_car_pin_near_line), /* harmony export */ educore_car_stepper_keep: () => (/* binding */ educore_car_stepper_keep), /* harmony export */ educore_car_stepper_stop: () => (/* binding */ educore_car_stepper_stop), /* harmony export */ sensor_mixgome_eulerangles: () => (/* binding */ sensor_mixgome_eulerangles) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const ce_go_light_number = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var code = 'car.' + this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const ce_go_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; } var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "car.setonoff(" + op + "," + bright + ")\n"; return code; } const ce_go_get_led_bright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var code = "car.getrightness(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const ce_go_get_led_state = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var code = "car.getonoff(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const ce_go_led_brightness = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "car.setbrightness(" + op + "," + flag + ")\n"; return code; } const ce_go_stepper_keep = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var v = this.getFieldValue('VAR'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT); var code = 'car.move("' + v + '",' + speed + ")\n"; return code; } const ce_go_stepper_stop = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var v = this.getFieldValue('VAR'); var code = 'car.move("' + v + '")\n'; return code; } const ce_go_dc_motor = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_car'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_car'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_car'] = 'from mini_go import car'; } var wheel = this.getFieldValue('wheel'); var v = this.getFieldValue('direction'); if (wheel == 0) { if (v == 'CW') { v = 'CCW' } else if (v == 'CCW') { v = 'CW' } } var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var code = "car.motor(car.MOTO[" + wheel + '],"' + v + '",' + speed + ")\n"; return code; } const ce_go_hall_attachInterrupt = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall_' + dropdown_mode] = 'from ce_go import hall_' + dropdown_mode; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall' + dropdown_mode] = 'from mini_go import hall_'+ dropdown_mode; } var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'hall_' + dropdown_mode + '.irq_cb(' + atta + ')\n' return code; } const ce_go_hall_initialize = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); var args = this.getFieldValue('args'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall_' + dropdown_mode] = 'from ce_go import hall_' + dropdown_mode; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall' + dropdown_mode] = 'from mini_go import hall_'+ dropdown_mode; } var num = generator.valueToCode(this, 'num', generator.ORDER_ATOMIC); if (args == 'all') { var code = 'hall_' + dropdown_mode + '.initial(' + 'turns' + '=' + num + ',distance=' + num + ')\n' return code; } var code = 'hall_' + dropdown_mode + '.initial(' + args + '=' + num + ')\n' return code; } const ce_go_hall_data = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); var args = this.getFieldValue('args'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall_' + dropdown_mode] = 'from ce_go import hall_' + dropdown_mode; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall' + dropdown_mode] = 'from mini_go import hall_'+ dropdown_mode; } var code = 'hall_' + dropdown_mode + '.' + args + ''; return [code, generator.ORDER_ATOMIC]; } const ce_go_pin_near_line = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall'] = 'from mini_go import car'; } var code = 'car.patrol()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const ce_go_pin_near = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall'] = 'from mini_go import car'; } var code = 'car.obstacle()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const ce_go_pin_near_state_change = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall'] = 'from mini_go import car'; } var code = 'car.ir_mode(car.' + key + ')\n'; return code; } const sensor_mixgome_eulerangles = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_mixgo_me_onboard_mxc6655xa'] = "from mixgo_me import onboard_mxc6655xa"; } else if (version == "mixgo_ce") { generator.definitions_['import_mixgo_ce_onboard_mxc6655xa'] = "from mixgo_ce import onboard_mxc6655xa"; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_onboard_mxc6655xa'] = 'from mini_go import onboard_mxc6655xa'; } var angle = this.getFieldValue('angle'); var code = 'onboard_mxc6655xa.eulerangles(upright=True)' + angle; return [code, generator.ORDER_ATOMIC]; } const ce_go_pin_light = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me" || version == "mixgo_cc") { generator.definitions_['import_me_go_hall'] = 'from me_go import car'; } else if (version == "mixgo_ce") { generator.definitions_['import_ce_go_hall'] = 'from ce_go import car'; }else if (version == "mixgo_mini"){ generator.definitions_['import_mini_go_hall'] = 'from mini_go import car'; } var code = 'car.light()' + key + ''; return [code, generator.ORDER_ATOMIC]; } //educore car const educore_car = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_'+version+'_car'] = 'from '+version+' import car'; var code = 'car()'; return [code, generator.ORDER_ATOMIC]; } const educore_car_stepper_keep = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_car_stepper_stop = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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; } const educore_car_pin_near_line = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_car_pin_near = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } /***/ }), /***/ "../micropython/generators/communicate.js": /*!************************************************!*\ !*** ../micropython/generators/communicate.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ communicate_bluetooth_central_init: () => (/* binding */ communicate_bluetooth_central_init), /* harmony export */ communicate_bluetooth_connect: () => (/* binding */ communicate_bluetooth_connect), /* harmony export */ communicate_bluetooth_disconnect: () => (/* binding */ communicate_bluetooth_disconnect), /* harmony export */ communicate_bluetooth_handle: () => (/* binding */ communicate_bluetooth_handle), /* harmony export */ communicate_bluetooth_is_connected: () => (/* binding */ communicate_bluetooth_is_connected), /* harmony export */ communicate_bluetooth_mac: () => (/* binding */ communicate_bluetooth_mac), /* harmony export */ communicate_bluetooth_peripheral_init: () => (/* binding */ communicate_bluetooth_peripheral_init), /* harmony export */ communicate_bluetooth_recv: () => (/* binding */ communicate_bluetooth_recv), /* harmony export */ communicate_bluetooth_recv_only: () => (/* binding */ communicate_bluetooth_recv_only), /* harmony export */ communicate_bluetooth_scan: () => (/* binding */ communicate_bluetooth_scan), /* harmony export */ communicate_bluetooth_send: () => (/* binding */ communicate_bluetooth_send), /* harmony export */ communicate_espnow_init: () => (/* binding */ communicate_espnow_init), /* harmony export */ communicate_espnow_init_new: () => (/* binding */ communicate_espnow_init_new), /* harmony export */ communicate_i2c_available: () => (/* binding */ communicate_i2c_available), /* harmony export */ communicate_i2c_init: () => (/* binding */ communicate_i2c_init), /* harmony export */ communicate_i2c_master_read: () => (/* binding */ communicate_i2c_master_read), /* harmony export */ communicate_i2c_onboard: () => (/* binding */ communicate_i2c_onboard), /* harmony export */ communicate_i2c_read: () => (/* binding */ communicate_i2c_read), /* harmony export */ communicate_i2c_scan: () => (/* binding */ communicate_i2c_scan), /* harmony export */ communicate_i2c_write: () => (/* binding */ communicate_i2c_write), /* harmony export */ communicate_ir_recv_init: () => (/* binding */ communicate_ir_recv_init), /* harmony export */ communicate_ir_send_init: () => (/* binding */ communicate_ir_send_init), /* harmony export */ communicate_ow_init: () => (/* binding */ communicate_ow_init), /* harmony export */ communicate_ow_read: () => (/* binding */ communicate_ow_read), /* harmony export */ communicate_ow_reset: () => (/* binding */ communicate_ow_reset), /* harmony export */ communicate_ow_scan: () => (/* binding */ communicate_ow_scan), /* harmony export */ communicate_ow_select: () => (/* binding */ communicate_ow_select), /* harmony export */ communicate_ow_write: () => (/* binding */ communicate_ow_write), /* harmony export */ communicate_spi_buffer: () => (/* binding */ communicate_spi_buffer), /* harmony export */ communicate_spi_init: () => (/* binding */ communicate_spi_init), /* harmony export */ communicate_spi_onboard: () => (/* binding */ communicate_spi_onboard), /* harmony export */ communicate_spi_read: () => (/* binding */ communicate_spi_read), /* harmony export */ communicate_spi_read_output: () => (/* binding */ communicate_spi_read_output), /* harmony export */ communicate_spi_readinto: () => (/* binding */ communicate_spi_readinto), /* harmony export */ communicate_spi_readinto_output: () => (/* binding */ communicate_spi_readinto_output), /* harmony export */ communicate_spi_set: () => (/* binding */ communicate_spi_set), /* harmony export */ communicate_spi_write: () => (/* binding */ communicate_spi_write), /* harmony export */ communicate_spi_write_readinto: () => (/* binding */ communicate_spi_write_readinto), /* harmony export */ espnow_radio_channel: () => (/* binding */ espnow_radio_channel), /* harmony export */ espnow_radio_channel_new: () => (/* binding */ espnow_radio_channel_new), /* harmony export */ espnow_radio_on_off: () => (/* binding */ espnow_radio_on_off), /* harmony export */ espnow_radio_rec: () => (/* binding */ espnow_radio_rec), /* harmony export */ espnow_radio_recv: () => (/* binding */ espnow_radio_recv), /* harmony export */ espnow_radio_recv_certain_msg: () => (/* binding */ espnow_radio_recv_certain_msg), /* harmony export */ espnow_radio_recv_certain_msg_new: () => (/* binding */ espnow_radio_recv_certain_msg_new), /* harmony export */ espnow_radio_recv_msg: () => (/* binding */ espnow_radio_recv_msg), /* harmony export */ espnow_radio_recv_new: () => (/* binding */ espnow_radio_recv_new), /* harmony export */ espnow_radio_send: () => (/* binding */ espnow_radio_send), /* harmony export */ espnow_radio_txpower: () => (/* binding */ espnow_radio_txpower), /* harmony export */ i2c_slave_onreceive: () => (/* binding */ i2c_slave_onreceive), /* harmony export */ internal_variable: () => (/* binding */ internal_variable), /* harmony export */ ir_recv_timeout: () => (/* binding */ ir_recv_timeout), /* harmony export */ ir_transmit_busy: () => (/* binding */ ir_transmit_busy), /* harmony export */ ir_transmit_conventional_data: () => (/* binding */ ir_transmit_conventional_data), /* harmony export */ ir_transmit_raw_code: () => (/* binding */ ir_transmit_raw_code), /* harmony export */ ir_transmit_study_code: () => (/* binding */ ir_transmit_study_code), /* harmony export */ ir_whether_recv: () => (/* binding */ ir_whether_recv), /* harmony export */ lora_init: () => (/* binding */ lora_init), /* harmony export */ lora_packet: () => (/* binding */ lora_packet), /* harmony export */ lora_recv: () => (/* binding */ lora_recv), /* harmony export */ lora_send: () => (/* binding */ lora_send), /* harmony export */ network_espnow_info: () => (/* binding */ network_espnow_info), /* harmony export */ network_espnow_mac: () => (/* binding */ network_espnow_mac), /* harmony export */ network_espnow_recv: () => (/* binding */ network_espnow_recv), /* harmony export */ network_espnow_recv_handle: () => (/* binding */ network_espnow_recv_handle), /* harmony export */ network_espnow_send: () => (/* binding */ network_espnow_send), /* harmony export */ recv_fun: () => (/* binding */ recv_fun), /* harmony export */ urequests_attribute: () => (/* binding */ urequests_attribute), /* harmony export */ urequests_get: () => (/* binding */ urequests_get), /* harmony export */ urequests_method: () => (/* binding */ urequests_method) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const communicate_i2c_onboard = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_i2c'] = 'from ' + version + ' import onboard_i2c'; var code = 'onboard_i2c'; return [code, generator.ORDER_ATOMIC]; } const communicate_spi_onboard = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_i2c'] = 'from ' + version + ' import onboard_spi'; var code = 'onboard_spi'; return [code, generator.ORDER_ATOMIC]; } const communicate_i2c_init = function (block, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin1 = generator.valueToCode(this, 'RX', generator.ORDER_ATOMIC); var dropdown_pin2 = generator.valueToCode(this, 'TX', generator.ORDER_ATOMIC); var freq = generator.valueToCode(this, 'freq', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return "" + sub + " = machine.SoftI2C(scl = machine.Pin(" + dropdown_pin2 + "), sda = machine.Pin(" + dropdown_pin1 + "), freq = " + freq + ")\n"; } const communicate_i2c_read = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var address = generator.valueToCode(this, 'address', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return ["" + name + ".readfrom(" + address + ", " + data + ")", generator.ORDER_ATOMIC]; } const communicate_i2c_write = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var address = generator.valueToCode(this, 'address', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return "" + name + ".writeto(" + address + ", " + data + ")\n"; } const communicate_i2c_scan = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return ["" + name + ".scan()", generator.ORDER_ATOMIC]; } const communicate_i2c_master_read = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".read()"; return [code, generator.ORDER_ATOMIC]; } const communicate_i2c_available = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".available()"; return [code, generator.ORDER_ATOMIC]; } const i2c_slave_onreceive = function (block, generator) { var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); generator.setups_['setup_i2c_' + pin] = 'Wire.begin(' + pin + ');'; generator.setups_['setup_i2c_onReceive_' + pin] = 'Wire.onReceive(i2cReceiveEvent_' + pin + ');'; var funcName = 'i2cReceiveEvent_' + pin; var branch = generator.statementToCode(this, 'DO'); var code2 = 'void' + ' ' + funcName + '(int howMany) {\n' + branch + '}\n'; generator.definitions_[funcName] = code2; return ''; } const communicate_spi_init = function (block, generator) { generator.definitions_['import_machine'] = 'import machine'; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var freq = generator.valueToCode(this, 'freq', generator.ORDER_ATOMIC); var mosi = generator.valueToCode(this, 'mosi', generator.ORDER_ATOMIC); var miso = generator.valueToCode(this, 'miso', generator.ORDER_ATOMIC); var sck = generator.valueToCode(this, 'sck', generator.ORDER_ATOMIC); return "" + name + " = machine.SoftSPI(baudrate=" + freq + ", sck=machine.Pin(" + sck + "), mosi=machine.Pin(" + mosi + "), miso=machine.Pin(" + miso + "))\n"; } const communicate_spi_set = function (block, generator) { var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return "spi.init(baudrate=" + data + ")\n"; } const communicate_spi_buffer = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return "" + varname + "=bytearray(" + data + ")\n"; } const communicate_spi_read = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return ["" + varname + ".read(" + data + ")", generator.ORDER_ATOMIC]; } const communicate_spi_read_output = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'val', generator.ORDER_ATOMIC); return ["" + varname + ".read(" + data + "," + val + ")", generator.ORDER_ATOMIC]; } const communicate_spi_readinto = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return ["" + varname + ".readinto(" + data + ")", generator.ORDER_ATOMIC]; } const communicate_spi_readinto_output = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'val', generator.ORDER_ATOMIC); return ["" + varname + ".readinto(" + data + "," + val + ")", generator.ORDER_ATOMIC]; } const communicate_spi_write = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); return ["" + varname + ".write(" + data + ".encode('utf-8'))", generator.ORDER_ATOMIC]; } const communicate_spi_write_readinto = function (block, generator) { var varname = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'val', generator.ORDER_ATOMIC); // var op=this.getFieldValue('op'); // if(op=="byte"){ return ["" + varname + ".write_readinto(" + data + ".encode('utf-8')," + val + ")", generator.ORDER_ATOMIC]; // }else{ // return [""+varname+".write_readinto(" + data + ","+val+")", generator.ORDER_ATOMIC]; // } } const communicate_ow_init = function (block, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_onewire'] = "import onewire"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var varName = generator.valueToCode(this, 'BUS', generator.ORDER_ATOMIC); var code = "" + name + "=onewire.OneWire(machine.Pin(" + varName + "))\n"; return code; } const communicate_ow_scan = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".scan()"; return [code, generator.ORDER_ATOMIC]; } const communicate_ow_reset = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".reset()\n"; return code; } const communicate_ow_read = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".readbyte()"; return [code, generator.ORDER_ATOMIC]; } const communicate_ow_write = function (block, generator) { var varName = generator.valueToCode(this, 'byte', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var op = this.getFieldValue('op'); var code = "" + name + "." + op + "(" + varName + ")\n"; return code; } const communicate_ow_select = function (block, generator) { var varName = generator.valueToCode(this, 'byte', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + name + ".select_rom(" + varName + ".encode('utf-8'))\n"; return code; } const communicate_ir_recv_init = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var bit = this.getFieldValue('type'); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (sub == "" && bit == "RC5") { var code = "ir_rx = irremote.RC5_RX(" + pin + ")\n"; } else if (sub == "") { var code = "ir_rx = irremote.NEC_RX(" + pin + "," + bit + ")\n"; } else { var code = "ir_rx = irremote.NEC_RX(" + pin + "," + bit + "," + sub + ")\n"; } return code; } const internal_variable = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var index = this.getFieldValue('index'); var code = "ir_rx.code[" + index + "]"; return [code, generator.ORDER_ATOMIC]; } const recv_fun = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var en = this.getFieldValue('en'); var code = "ir_rx.enable(" + en + ")\n"; return code; } const ir_whether_recv = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var code = "ir_rx.any()"; return [code, generator.ORDER_ATOMIC]; } const ir_recv_timeout = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var code = "ir_rx.timeout(" + time + ")\n"; return code; } const communicate_ir_send_init = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var sam = this.getFieldValue('type'); var power = generator.valueToCode(this, 'power', generator.ORDER_ATOMIC); if (sam == "RC5") { var code = "ir_tx = irremote.RC5_TX(" + pin + "," + power + ")\n"; } else { var code = "ir_tx = irremote.NEC_TX(" + pin + "," + sam + "," + power + ")\n"; } return code; } const ir_transmit_conventional_data = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var cmd = generator.valueToCode(this, 'cmd', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var toggle = generator.valueToCode(this, 'toggle', generator.ORDER_ATOMIC); var code = "ir_tx.transmit(" + cmd + "," + addr + "," + toggle + ")\n"; return code; } const ir_transmit_study_code = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var s_code = generator.valueToCode(this, 'LIST', generator.ORDER_ATOMIC); var code = "ir_tx.transmit(pulses=" + s_code + ")\n"; return code; } const ir_transmit_raw_code = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var raw = generator.valueToCode(this, 'raw', generator.ORDER_ATOMIC); var code = "ir_tx.transmit(raw=" + raw + ")\n"; return code; } const ir_transmit_busy = function (block, generator) { generator.definitions_['import_irremote'] = 'import irremote'; var code = "ir_tx.busy()"; return [code, generator.ORDER_ATOMIC]; } const communicate_bluetooth_central_init = function (block, generator) { generator.definitions_['import_ble_central'] = 'import ble_central'; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + " = ble_central.BLESimpleCentral()\n"; return code; } const communicate_bluetooth_peripheral_init = function (block, generator) { generator.definitions_['import_ble_peripheral'] = 'import ble_peripheral'; var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + " = ble_peripheral.BLESimplePeripheral(" + data + ")\n"; return code; } const communicate_bluetooth_scan = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + ".scan()"; return [code, generator.ORDER_ATOMIC]; } const communicate_bluetooth_connect = function (block, generator) { var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); var code = name + ".connect(" + mode + '=' + data + ")\n"; return code; } const communicate_bluetooth_disconnect = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + '.disconnect()\n'; return code; } const communicate_bluetooth_mac = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return [name + ".mac", generator.ORDER_ATOMIC]; } const communicate_bluetooth_is_connected = function (block, generator) { var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + ".is_connected()"; return [code, generator.ORDER_ATOMIC]; } const communicate_bluetooth_send = function (block, generator) { var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + ".send(" + data + ")\n"; return code; } const communicate_bluetooth_recv_only = function (block, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = v + '.recv()'; return [code, generator.ORDER_ATOMIC]; } const communicate_bluetooth_recv = function (block, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC); var code = v + '.recv(' + method + ')\n'; return code; } const communicate_bluetooth_handle = function (block, generator) { generator.definitions_['import_ble_handle'] = 'import ble_handle'; var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC); var code = v + '=ble_handle.Handle()\n' + v + '.recv(' + method + ')\n'; return code; } //espnow const communicate_espnow_init = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var varName = generator.valueToCode(this, 'CHNL', generator.ORDER_ATOMIC); var power = this.getFieldValue('op'); var code = "" + name + "=radio.ESPNow(channel=" + varName + ",txpower=" + power + ")\n"; return code; } const communicate_espnow_init_new = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var varName = generator.valueToCode(this, 'CHNL', generator.ORDER_ATOMIC); var varName2 = generator.valueToCode(this, 'DB', generator.ORDER_ATOMIC); var code = "" + name + "=radio.ESPNow(channel=" + varName + ',txpower=' + varName2 + ")\n"; return code; } const network_espnow_mac = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return [name + ".mac", generator.ORDER_ATOMIC]; } const network_espnow_info = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return [name + ".info()", generator.ORDER_ATOMIC]; } const network_espnow_recv = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var mode = this.getFieldValue('mode'); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + ".recv()" + mode; return [code, generator.ORDER_ATOMIC]; } const network_espnow_send = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var mac = generator.valueToCode(this, 'mac', generator.ORDER_ATOMIC); var content = generator.valueToCode(this, 'content', generator.ORDER_ATOMIC); var code = name + ".send(" + mac + "," + content + ")\n"; return code; } const network_espnow_recv_handle = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC); var code = name + ".recv_cb(" + method + ")\n"; return code; } //radio const espnow_radio_channel = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['var_declare_ESPNow_radio'] = "ESPNow_radio=radio.ESPNow()"; var varName = generator.valueToCode(this, 'CHNL', generator.ORDER_ATOMIC); var code = "ESPNow_radio.set_channel(channel=" + varName + ")\n"; return code; } const espnow_radio_txpower = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['var_declare_ESPNow_radio'] = "ESPNow_radio=radio.ESPNow()"; var power = this.getFieldValue('op'); var code = "ESPNow_radio.set_channel(txpower=" + power + ")\n"; return code; } const espnow_radio_channel_new = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; var varName2 = generator.valueToCode(this, 'DB', generator.ORDER_ATOMIC); generator.definitions_['var_declare_ESPNow_radio'] = "ESPNow_radio=radio.ESPNow(channel=1,txpower=" + varName2 + ")"; var varName = generator.valueToCode(this, 'CHNL', generator.ORDER_ATOMIC); var code = "ESPNow_radio.set_channel(" + varName + ")\n"; return code; } const espnow_radio_on_off = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var op = this.getFieldValue('on_off'); var code = "ESPNow_radio.active(" + op + ")\n"; return code; } const espnow_radio_send = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var varName = generator.valueToCode(this, 'send', generator.ORDER_ATOMIC); var code = 'ESPNow_radio.send("ffffffffffff",' + varName + ")\n"; return code; } const espnow_radio_rec = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var code = "ESPNow_radio.recv()"; return [code, generator.ORDER_ATOMIC]; } const espnow_radio_recv_msg = function (block, generator) { var code = "ESPNow_radio_msg"; return [code, generator.ORDER_ATOMIC]; } const espnow_radio_recv = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['import_ubinascii'] = 'import ubinascii'; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var doCode = generator.statementToCode(block, 'DO') || generator.PASS; generator.definitions_['def_ESPNow_radio_recv'] = 'def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n' + doCode; generator.definitions_['def_ESPNow_radio_recv_all'] = '_radio_msg_list = []\n' + 'def ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n' + ' global _radio_msg_list\n' + ' try: ESPNow_radio_recv(mac,ESPNow_radio_msg)\n' + ' except: pass\n' + ' if str(ESPNow_radio_msg) in _radio_msg_list:\n' + " eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n"; generator.definitions_['ESPNow_radio_recv_callback'] = "ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n"; return ''; } var writeUTF = function (str, isGetBytes) { var back = []; var byteSize = 0; for (var i = 0; i < str.length; i++) { var code = str.charCodeAt(i); if (0x00 <= code && code <= 0x7f) { byteSize += 1; back.push(code); } else if (0x80 <= code && code <= 0x7ff) { byteSize += 2; back.push((192 | (31 & (code >> 6)))); back.push((128 | (63 & code))) } else if ((0x800 <= code && code <= 0xd7ff) || (0xe000 <= code && code <= 0xffff)) { byteSize += 3; back.push((224 | (15 & (code >> 12)))); back.push((128 | (63 & (code >> 6)))); back.push((128 | (63 & code))) } } for (i = 0; i < back.length; i++) { back[i] &= 0xff; } if (isGetBytes) { return back; } if (byteSize <= 0xff) { return [0, byteSize].concat(back); } return [byteSize >> 8, byteSize & 0xff].concat(back); } var toUTF8Hex = function (str) { var charBuf = writeUTF(str, true); var re = ''; for (var i = 0; i < charBuf.length; i++) { var x = (charBuf[i] & 0xFF).toString(16); if (x.length === 1) { x = '0' + x; } re += x; } return re; } const espnow_radio_recv_certain_msg = function (block, generator) { generator.definitions_['import_radio'] = "import radio"; generator.definitions_['import_ubinascii'] = 'import ubinascii'; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var doCode = generator.statementToCode(block, 'DO') || generator.PASS; generator.definitions_['def_ESPNow_radio_recv_all'] = '_radio_msg_list = []\n' + 'def ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n' + ' global _radio_msg_list\n' + ' try: ESPNow_radio_recv(mac,ESPNow_radio_msg)\n' + ' except: pass\n' + ' if str(ESPNow_radio_msg) in _radio_msg_list:\n' + " eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n"; generator.definitions_['ESPNow_radio_recv_callback'] = "ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n"; var message = block.getFieldValue('msg'); var message_utf8 = toUTF8Hex(message); generator.definitions_['def_radio_recv_' + message_utf8] = '_radio_msg_list.append(\'' + message + '\')\n' + 'def radio_recv_' + message_utf8 + '():\n' + doCode; return ''; } const espnow_radio_recv_new = function (block, generator) { generator.definitions_['import_radio'] = 'import radio'; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var doCode = generator.statementToCode(block, 'DO') || generator.PASS; generator.definitions_['def_ESPNow_radio_recv'] = 'def ESPNow_radio_recv(mac, ESPNow_radio_msg):\n' + `${doCode}\nESPNow_radio.recv_cb("__all__", ESPNow_radio_recv)\n`; return ''; } const espnow_radio_recv_certain_msg_new = function (block, generator) { generator.definitions_['import_radio'] = 'import radio'; generator.definitions_['var_declare_ESPNow_radio'] = 'ESPNow_radio = radio.ESPNow()'; var doCode = generator.statementToCode(block, 'DO') || generator.PASS; var message = block.getFieldValue('msg'); generator.definitions_['def_ESPNow_radio_recv_' + message] = 'def ESPNow_radio_recv(mac, ESPNow_radio_msg):\n' + `${doCode}\nESPNow_radio.recv_cb("${message}", ESPNow_radio_recv)\n`; return ''; } const lora_init = function (block, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sv = generator.valueToCode(this, 'SPISUB', generator.ORDER_ATOMIC); var pv = generator.valueToCode(this, 'PINSUB', generator.ORDER_ATOMIC); var fr = generator.valueToCode(this, 'frequency', generator.ORDER_ATOMIC); var r = generator.valueToCode(this, 'rate', generator.ORDER_ATOMIC); var f = generator.valueToCode(this, 'factor', generator.ORDER_ATOMIC); var p = generator.valueToCode(this, 'power', generator.ORDER_ATOMIC); var bandwidth = this.getFieldValue('bandwidth'); var code; generator.definitions_['import_rfm98'] = 'import rfm98'; var code = v + ' = rfm98.RFM98(' + sv + ',cs_pin=' + pv + ',frequency_mhz=' + fr + ',signal_bandwidth=' + bandwidth + ',coding_rate=' + r + ',spreading_factor=' + f + ',tx_power=' + p + ')\n'; return code; } const lora_packet = function (block, generator) { generator.definitions_['import_rfm98'] = 'import rfm98'; var key = this.getFieldValue('key'); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return [name + "." + key + '()', generator.ORDER_ATOMIC]; } const lora_send = function (block, generator) { generator.definitions_['import_rfm98'] = 'import rfm98'; var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = name + ".send(" + data + ")\n"; return code; } const lora_recv = function (block, generator) { generator.definitions_['import_rfm98'] = 'import rfm98'; var name = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return [name + '.recv()', generator.ORDER_ATOMIC]; } const urequests_get = function (block, generator) { generator.definitions_.import_requests = "import urequests"; var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var str = generator.valueToCode(this, 'DOMAIN', generator.ORDER_ATOMIC); var code = varName + '= ' + 'urequests.get(' + str + ')\n'; return code; } const urequests_attribute = function (block, generator) { generator.definitions_.import_requests = "import urequests"; var varName = generator.valueToCode(this, 'VAL', generator.ORDER_ASSIGNMENT) || '0'; var attr = this.getFieldValue('ATTR'); var code = varName + "." + attr; return [code, generator.ORDER_ATOMIC]; } const urequests_method = function (block, generator) { generator.definitions_.import_requests = "import urequests"; var method = this.getFieldValue('DIR'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "urequests." + method + "(" + str + ')'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/control.js": /*!********************************************!*\ !*** ../micropython/generators/control.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ base_setup: () => (/* binding */ base_setup), /* harmony export */ controls_flow_statements: () => (/* binding */ controls_flow_statements), /* harmony export */ controls_for: () => (/* binding */ controls_for), /* harmony export */ controls_forEach: () => (/* binding */ controls_forEach), /* harmony export */ controls_if: () => (/* binding */ controls_if), /* harmony export */ controls_repeat: () => (/* binding */ controls_repeat), /* harmony export */ controls_type: () => (/* binding */ controls_type), /* harmony export */ controls_typeLists: () => (/* binding */ controls_typeLists), /* harmony export */ controls_whileUntil: () => (/* binding */ controls_whileUntil) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _mixly_python_generators_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mixly/python/generators/control */ "../python/generators/control.js"); const base_setup = function (_, generator) { var branch = generator.statementToCode(this, 'DO'); branch = branch.replace(/(^\s*)|(\s*$)/g, "").replace(/\n {4}/g, '\n');//去除两端空格 if (branch) { if (branch.endsWith('\n')) { generator.setups_['setup_setup'] = branch; } else { generator.setups_['setup_setup'] = branch + '\n'; } } return ''; } // ok const controls_if = function (a, generator) { var b = 0, c = "", d, e; do e = generator.valueToCode(a, "IF" + b, generator.ORDER_NONE) || "False", d = generator.statementToCode(a, "DO" + b) || generator.PASS, c += (0 == b ? "if " : "elif ") + e + ":\n" + d, ++b; while (a.getInput("IF" + b)); a.getInput("ELSE") && (d = generator.statementToCode(a, "ELSE") || generator.PASS, c += "else:\n" + d); return c } // ok const controls_for = function (a, generator) { var b = generator.variableDB_.getName(a.getFieldValue("VAR"), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE), //var b = generator.valueToCode(a, "VAR", generator.ORDER_MEMBER) || "''", c = generator.valueToCode(a, "FROM", generator.ORDER_NONE) || "0", d = generator.valueToCode(a, "TO", generator.ORDER_NONE) || "0", e = generator.valueToCode(a, "STEP", generator.ORDER_NONE) || "1", f = generator.addLoopTrap(generator.statementToCode(a, "DO"), a.id) || generator.PASS, g = "", h = function (_, generator) { return generator.provideFunction_("upRange", ["def " + generator.FUNCTION_NAME_PLACEHOLDER_ + "(start, stop, step):", " while start <= stop:", " yield start", " start += abs(step)"]) }, k = function (_, generator) { return generator.provideFunction_("downRange", ["def " + generator.FUNCTION_NAME_PLACEHOLDER_ + "(start, stop, step):", " while start >= stop:", " yield start", " start -= abs(step)"]) } a = function (a, b, c) { return "(" + a + " <= " + b + ") and " + h() + "(" + a + ", " + b + ", " + c + ") or " + k() + "(" + a + ", " + b + ", " + c + ")" } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(c) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(d) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(e)) c = parseFloat(c), d = parseFloat(d), e = Math.abs(parseFloat(e)), 0 === c % 1 && 0 === d % 1 && 0 === e % 1 ? (c <= d ? (d++, a = 0 == c && 1 == e ? d : c + ", " + d, 1 != e && (a += ", " + e)) : (d--, a = c + ", " + d + ", -" + e), a = "range(" + a + ")") : (a = c < d ? h() : k(), a += "(" + c + ", " + d + ", " + e + ")"); else { var l = function (a, c) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(a)) a = parseFloat(a); else { var d = generator.variableDB_.getDistinctName(b + c, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); g += d + " = " + a + "\n"; a = d } return a } c = l(c, "_start"); d = l(d, "_end"); l(e, "_inc"); a = "number" == typeof c && "number" == typeof d ? c < d ? h(c, d, e) : k(c, d, e) : a(c, d, e) } return g += "for " + b + " in " + a + ":\n" + f } // ok const controls_repeat = _mixly_python_generators_control__WEBPACK_IMPORTED_MODULE_1__.controls_repeat_ext; const controls_whileUntil = function (a, generator) { var b = "UNTIL" == a.getFieldValue("MODE"), c = generator.valueToCode(a, "BOOL", b ? generator.ORDER_LOGICAL_NOT : generator.ORDER_NONE) || "False", d = generator.addLoopTrap(generator.statementToCode(a, "DO"), a.id) || generator.PASS; b && (c = "not " + c); return "while " + c + ":\n" + d } // ok const controls_flow_statements = function (a) { switch (a.getFieldValue("FLOW")) { case "BREAK": return "break\n"; case "CONTINUE": return "continue\n" } throw "Unknown flow statement."; } //ok const controls_forEach = function (block, generator) { // For each loop. var variable0 = generator.variableDB_.getName( block.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var argument0 = generator.valueToCode(block, 'LIST', generator.ORDER_RELATIONAL) || '[]'; var branch = generator.statementToCode(block, 'DO'); branch = generator.addLoopTrap(branch, block.id) || generator.PASS; var code = 'for ' + variable0 + ' in ' + argument0 + ':\n' + branch; return code; } // ok const controls_type = function (_, generator) { var data = generator.valueToCode(this, 'DATA', generator.ORDER_ATOMIC) || '1000' var code = 'type(' + data + ')'; return [code, generator.ORDER_ATOMIC]; } const controls_typeLists = function (_, generator) { generator.definitions_['import_microbit_*'] = 'from microbit import *'; var type = this.getFieldValue('type'); // generator.definitions_['func_type' + type] = code; return [type, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/display.js": /*!********************************************!*\ !*** ../micropython/generators/display.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ display_animate: () => (/* binding */ display_animate), /* harmony export */ display_blink_rate: () => (/* binding */ display_blink_rate), /* harmony export */ display_bright_point: () => (/* binding */ display_bright_point), /* harmony export */ display_bright_screen: () => (/* binding */ display_bright_screen), /* harmony export */ display_circle: () => (/* binding */ display_circle), /* harmony export */ display_clear: () => (/* binding */ display_clear), /* harmony export */ display_draw_4strings: () => (/* binding */ display_draw_4strings), /* harmony export */ display_fill: () => (/* binding */ display_fill), /* harmony export */ display_get_pixel: () => (/* binding */ display_get_pixel), /* harmony export */ display_get_screen_image: () => (/* binding */ display_get_screen_image), /* harmony export */ display_get_screen_pixel: () => (/* binding */ display_get_screen_pixel), /* harmony export */ display_image_builtins: () => (/* binding */ display_image_builtins), /* harmony export */ display_image_create: () => (/* binding */ display_image_create), /* harmony export */ display_line: () => (/* binding */ display_line), /* harmony export */ display_line_arbitrarily: () => (/* binding */ display_line_arbitrarily), /* harmony export */ display_matrix_use_i2c_init: () => (/* binding */ display_matrix_use_i2c_init), /* harmony export */ display_oled_drawPixel: () => (/* binding */ display_oled_drawPixel), /* harmony export */ display_oled_showBitmap: () => (/* binding */ display_oled_showBitmap), /* harmony export */ display_onoff: () => (/* binding */ display_onoff), /* harmony export */ display_rect: () => (/* binding */ display_rect), /* harmony export */ display_scroll_string: () => (/* binding */ display_scroll_string), /* harmony export */ display_scroll_string_delay: () => (/* binding */ display_scroll_string_delay), /* harmony export */ display_scroll_string_extern: () => (/* binding */ display_scroll_string_extern), /* harmony export */ display_show_image: () => (/* binding */ display_show_image), /* harmony export */ display_show_image_or_string: () => (/* binding */ display_show_image_or_string), /* harmony export */ display_show_image_or_string_delay: () => (/* binding */ display_show_image_or_string_delay), /* harmony export */ display_show_static: () => (/* binding */ display_show_static), /* harmony export */ display_tm1650_power: () => (/* binding */ display_tm1650_power), /* harmony export */ display_tm1650_show_dot: () => (/* binding */ display_tm1650_show_dot), /* harmony export */ display_tm1650_show_num: () => (/* binding */ display_tm1650_show_num), /* harmony export */ display_tm_use_i2c_init: () => (/* binding */ display_tm_use_i2c_init), /* harmony export */ display_triangle: () => (/* binding */ display_triangle), /* harmony export */ display_use_i2c_init: () => (/* binding */ display_use_i2c_init), /* harmony export */ image_arithmetic: () => (/* binding */ image_arithmetic), /* harmony export */ image_shift: () => (/* binding */ image_shift) /* harmony export */ }); const display_show_image_or_string = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "matrix.show(" + data + ")\n"; return code; } const display_scroll_string = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "matrix.scroll(" + data + ")\n"; return code; } const display_show_static = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "matrix.showstatic(" + data + ")\n"; return code; } const display_show_image_or_string_delay = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = "matrix.show(" + data + ',' + time + ")\n"; return code; } const display_scroll_string_delay = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = "matrix.scroll(" + data + ',' + time + ")\n"; return code; } const display_image_create = function (block, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var colours = { "#000000": "0", //"#440000": "1", //"#660000": "2", //"#880000": "3", //"#aa0000": "4", //"#bb0000": "5", //"#cc0000": "6", //"#dd0000": "7", //"#ee0000": "8", "#ff0000": "1" } var colour_00 = colours[block.getFieldValue("00")]; var colour_01 = colours[block.getFieldValue("01")]; var colour_02 = colours[block.getFieldValue("02")]; var colour_03 = colours[block.getFieldValue("03")]; var colour_04 = colours[block.getFieldValue("04")]; var colour_05 = colours[block.getFieldValue("05")]; var colour_06 = colours[block.getFieldValue("06")]; var colour_07 = colours[block.getFieldValue("07")]; var colour_08 = colours[block.getFieldValue("08")]; var colour_09 = colours[block.getFieldValue("09")]; var colour_0a = colours[block.getFieldValue("0a")]; var colour_0b = colours[block.getFieldValue("0b")]; var colour_0c = colours[block.getFieldValue("0c")]; var colour_0d = colours[block.getFieldValue("0d")]; var colour_0e = colours[block.getFieldValue("0e")]; var colour_0f = colours[block.getFieldValue("0f")]; var colour_10 = colours[block.getFieldValue("10")]; var colour_11 = colours[block.getFieldValue("11")]; var colour_12 = colours[block.getFieldValue("12")]; var colour_13 = colours[block.getFieldValue("13")]; var colour_14 = colours[block.getFieldValue("14")]; var colour_15 = colours[block.getFieldValue("15")]; var colour_16 = colours[block.getFieldValue("16")]; var colour_17 = colours[block.getFieldValue("17")]; var colour_18 = colours[block.getFieldValue("18")]; var colour_19 = colours[block.getFieldValue("19")]; var colour_1a = colours[block.getFieldValue("1a")]; var colour_1b = colours[block.getFieldValue("1b")]; var colour_1c = colours[block.getFieldValue("1c")]; var colour_1d = colours[block.getFieldValue("1d")]; var colour_1e = colours[block.getFieldValue("1e")]; var colour_1f = colours[block.getFieldValue("1f")]; var colour_20 = colours[block.getFieldValue("20")]; var colour_21 = colours[block.getFieldValue("21")]; var colour_22 = colours[block.getFieldValue("22")]; var colour_23 = colours[block.getFieldValue("23")]; var colour_24 = colours[block.getFieldValue("24")]; var colour_25 = colours[block.getFieldValue("25")]; var colour_26 = colours[block.getFieldValue("26")]; var colour_27 = colours[block.getFieldValue("27")]; var colour_28 = colours[block.getFieldValue("28")]; var colour_29 = colours[block.getFieldValue("29")]; var colour_2a = colours[block.getFieldValue("2a")]; var colour_2b = colours[block.getFieldValue("2b")]; var colour_2c = colours[block.getFieldValue("2c")]; var colour_2d = colours[block.getFieldValue("2d")]; var colour_2e = colours[block.getFieldValue("2e")]; var colour_2f = colours[block.getFieldValue("2f")]; var colour_30 = colours[block.getFieldValue("30")]; var colour_31 = colours[block.getFieldValue("31")]; var colour_32 = colours[block.getFieldValue("32")]; var colour_33 = colours[block.getFieldValue("33")]; var colour_34 = colours[block.getFieldValue("34")]; var colour_35 = colours[block.getFieldValue("35")]; var colour_36 = colours[block.getFieldValue("36")]; var colour_37 = colours[block.getFieldValue("37")]; var colour_38 = colours[block.getFieldValue("38")]; var colour_39 = colours[block.getFieldValue("39")]; var colour_3a = colours[block.getFieldValue("3a")]; var colour_3b = colours[block.getFieldValue("3b")]; var colour_3c = colours[block.getFieldValue("3c")]; var colour_3d = colours[block.getFieldValue("3d")]; var colour_3e = colours[block.getFieldValue("3e")]; var colour_3f = colours[block.getFieldValue("3f")]; var colour_40 = colours[block.getFieldValue("40")]; var colour_41 = colours[block.getFieldValue("41")]; var colour_42 = colours[block.getFieldValue("42")]; var colour_43 = colours[block.getFieldValue("43")]; var colour_44 = colours[block.getFieldValue("44")]; var colour_45 = colours[block.getFieldValue("45")]; var colour_46 = colours[block.getFieldValue("46")]; var colour_47 = colours[block.getFieldValue("47")]; var colour_48 = colours[block.getFieldValue("48")]; var colour_49 = colours[block.getFieldValue("49")]; var colour_4a = colours[block.getFieldValue("4a")]; var colour_4b = colours[block.getFieldValue("4b")]; var colour_4c = colours[block.getFieldValue("4c")]; var colour_4d = colours[block.getFieldValue("4d")]; var colour_4e = colours[block.getFieldValue("4e")]; var colour_4f = colours[block.getFieldValue("4f")]; var colour_50 = colours[block.getFieldValue("50")]; var colour_51 = colours[block.getFieldValue("51")]; var colour_52 = colours[block.getFieldValue("52")]; var colour_53 = colours[block.getFieldValue("53")]; var colour_54 = colours[block.getFieldValue("54")]; var colour_55 = colours[block.getFieldValue("55")]; var colour_56 = colours[block.getFieldValue("56")]; var colour_57 = colours[block.getFieldValue("57")]; var colour_58 = colours[block.getFieldValue("58")]; var colour_59 = colours[block.getFieldValue("59")]; var colour_5a = colours[block.getFieldValue("5a")]; var colour_5b = colours[block.getFieldValue("5b")]; var colour_5c = colours[block.getFieldValue("5c")]; var colour_5d = colours[block.getFieldValue("5d")]; var colour_5e = colours[block.getFieldValue("5e")]; var colour_5f = colours[block.getFieldValue("5f")]; var colour_60 = colours[block.getFieldValue("60")]; var colour_61 = colours[block.getFieldValue("61")]; var colour_62 = colours[block.getFieldValue("62")]; var colour_63 = colours[block.getFieldValue("63")]; var colour_64 = colours[block.getFieldValue("64")]; var colour_65 = colours[block.getFieldValue("65")]; var colour_66 = colours[block.getFieldValue("66")]; var colour_67 = colours[block.getFieldValue("67")]; var colour_68 = colours[block.getFieldValue("68")]; var colour_69 = colours[block.getFieldValue("69")]; var colour_6a = colours[block.getFieldValue("6a")]; var colour_6b = colours[block.getFieldValue("6b")]; var colour_6c = colours[block.getFieldValue("6c")]; var colour_6d = colours[block.getFieldValue("6d")]; var colour_6e = colours[block.getFieldValue("6e")]; var colour_6f = colours[block.getFieldValue("6f")]; var colour_70 = colours[block.getFieldValue("70")]; var colour_71 = colours[block.getFieldValue("71")]; var colour_72 = colours[block.getFieldValue("72")]; var colour_73 = colours[block.getFieldValue("73")]; var colour_74 = colours[block.getFieldValue("74")]; var colour_75 = colours[block.getFieldValue("75")]; var colour_76 = colours[block.getFieldValue("76")]; var colour_77 = colours[block.getFieldValue("77")]; var colour_78 = colours[block.getFieldValue("78")]; var colour_79 = colours[block.getFieldValue("79")]; var colour_7a = colours[block.getFieldValue("7a")]; var colour_7b = colours[block.getFieldValue("7b")]; var colour_7c = colours[block.getFieldValue("7c")]; var colour_7d = colours[block.getFieldValue("7d")]; var colour_7e = colours[block.getFieldValue("7e")]; var colour_7f = colours[block.getFieldValue("7f")]; var code = 'matrix.Image("' + colour_00 + colour_01 + colour_02 + colour_03 + colour_04 + colour_05 + colour_06 + colour_07 + colour_08 + colour_09 + colour_0a + colour_0b + colour_0c + colour_0d + colour_0e + colour_0f + ':' + colour_10 + colour_11 + colour_12 + colour_13 + colour_14 + colour_15 + colour_16 + colour_17 + colour_18 + colour_19 + colour_1a + colour_1b + colour_1c + colour_1d + colour_1e + colour_1f + ':' + colour_20 + colour_21 + colour_22 + colour_23 + colour_24 + colour_25 + colour_26 + colour_27 + colour_28 + colour_29 + colour_2a + colour_2b + colour_2c + colour_2d + colour_2e + colour_2f + ':' + colour_30 + colour_31 + colour_32 + colour_33 + colour_34 + colour_35 + colour_36 + colour_37 + colour_38 + colour_39 + colour_3a + colour_3b + colour_3c + colour_3d + colour_3e + colour_3f + ':' + colour_40 + colour_41 + colour_42 + colour_43 + colour_44 + colour_45 + colour_46 + colour_47 + colour_48 + colour_49 + colour_4a + colour_4b + colour_4c + colour_4d + colour_4e + colour_4f + ':' + colour_50 + colour_51 + colour_52 + colour_53 + colour_54 + colour_55 + colour_56 + colour_57 + colour_58 + colour_59 + colour_5a + colour_5b + colour_5c + colour_5d + colour_5e + colour_5f + ':' + colour_60 + colour_61 + colour_62 + colour_63 + colour_64 + colour_65 + colour_66 + colour_67 + colour_68 + colour_69 + colour_6a + colour_6b + colour_6c + colour_6d + colour_6e + colour_6f + ':' + colour_70 + colour_71 + colour_72 + colour_73 + colour_74 + colour_75 + colour_76 + colour_77 + colour_78 + colour_79 + colour_7a + colour_7b + colour_7c + colour_7d + colour_7e + colour_7f + '")'; return [code, generator.ORDER_ATOMIC]; } const display_image_builtins = function (block, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var dropdown_image = block.getFieldValue('image'); var code = 'matrix.Image.' + dropdown_image; return [code, generator.ORDER_ATOMIC]; } const display_get_pixel = function (block, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = 'matrix.get_pixel(int(' + value_x + '), int(' + value_y + '))'; return [code, generator.ORDER_ATOMIC]; } const display_bright_point = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'matrix.set_pixel(int(' + x + '), int(' + y + '), ' + dropdown_stat + ")\n"; return code; } const display_get_screen_pixel = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var code = 'matrix.get_brightness()'; return [code, generator.ORDER_ATOMIC]; } const display_get_screen_image = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var code = 'matrix.get_screenimage()'; return [code, generator.ORDER_ATOMIC]; } const display_bright_screen = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = 'matrix.set_brightness(' + x + ')\n'; return code; } const display_blink_rate = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = 'matrix.blink_rate(' + x + ')\n'; return code; } const display_clear = function (_, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var code = 'matrix.clear()\n'; return code; } const display_use_i2c_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var i2csub = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var row = generator.valueToCode(this, 'row', generator.ORDER_ATOMIC); var column = generator.valueToCode(this, 'column', generator.ORDER_ATOMIC); var code = sub + " = ssd1306.SSD1306_I2C(" + row + "," + column + "," + i2csub + ")\n"; return code; } const display_draw_4strings = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var value_text_line1 = generator.valueToCode(this, 'Text_line1', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line2 = generator.valueToCode(this, 'Text_line2', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line3 = generator.valueToCode(this, 'Text_line3', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line4 = generator.valueToCode(this, 'Text_line4', generator.ORDER_ASSIGNMENT) || '\'\''; var code = varName + '.show_str(' + value_text_line1 + ',' + value_text_line2 + ',' + value_text_line3 + ',' + value_text_line4 + ')\n' return code; } const display_line_arbitrarily = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x1 = generator.valueToCode(this, 'x1', generator.ORDER_ATOMIC); var location_y1 = generator.valueToCode(this, 'y1', generator.ORDER_ATOMIC); var location_x2 = generator.valueToCode(this, 'x2', generator.ORDER_ATOMIC); var location_y2 = generator.valueToCode(this, 'y2', generator.ORDER_ATOMIC); var code = varName + '.show_line(' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', 1)\n'; return code; } const display_rect = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_width = generator.valueToCode(this, 'width', generator.ORDER_ATOMIC); var value_height = generator.valueToCode(this, 'height', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); var code = ''; switch (checkbox_fill) { case "True": code = varName + '.show_fill_rect(' + location_x + ', ' + location_y + ', ' + value_width + ', ' + value_height + ',' + size + ')\n'; break; case "False": code = varName + '.show_rect(' + location_x + ', ' + location_y + ', ' + value_width + ', ' + value_height + ',' + size + ')\n'; break; } return code; } const image_arithmetic = function (block, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var op = block.getFieldValue("OP"); var imga = generator.valueToCode(block, 'A', generator.ORDER_ATOMIC); var imgb = generator.valueToCode(block, 'B', generator.ORDER_ATOMIC); var code = ''; if (op == 'INTERSECTION') { code = imga + '-(' + imga + '-' + imgb + ')'; } else { code = imga + op + imgb; } return [code, generator.ORDER_ATOMIC]; } const display_line = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_length = generator.valueToCode(this, 'length', generator.ORDER_ATOMIC); var value_direction = this.getFieldValue("direction"); var code = varName + '.show_' + value_direction + '(' + location_x + ', ' + location_y + ', ' + value_length + ', 1)\n'; return code; } const display_onoff = function (_, generator) { var code = (this.getFieldValue('ONOFF') == 'ON') ? '1' : '0'; return [code, generator.ORDER_ATOMIC]; } const image_shift = function (block, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var op = block.getFieldValue("OP"); var image = generator.valueToCode(block, 'img', generator.ORDER_ATOMIC); var value = generator.valueToCode(block, 'val', generator.ORDER_ATOMIC); var code = image + '.shift_' + op + '(' + value + ')'; return [code, generator.ORDER_ATOMIC]; } const display_fill = function (_, generator) { var varName = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_ssd1306'] = 'import ssd1306'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var code = varName + '.show_fill(' + key + ')\n'; return code; } // export const switch = function (_, generator) { // var code = this.getFieldValue('flag'); // return [code, generator.ORDER_ATOMIC]; // } const display_tm_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue("key"); var code; if (key == 'TM1650') { generator.definitions_['import_tm1650'] = 'import tm1650'; code = v + ' = tm1650.' + key + "(" + iv + ')\n'; } else if (key == 'TM1637') { generator.definitions_['import_tm1637'] = 'import tm1637'; code = v + ' = tm1637.' + key + "(" + iv + ')\n'; } return code; } const display_tm1650_power = function (_, generator) { var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var stat = this.getFieldValue("STAT"); var code = v + '.' + type + stat + "()\n"; return code; } const display_tm1650_show_num = function (_, generator) { var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'VALUE', generator.ORDER_ATOMIC); var code = v + '.' + type + "_show_num(" + val + ")\n"; return code; } const display_tm1650_show_dot = function (_, generator) { var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var n = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = v + '.' + type + "_show_dot(" + n + ", " + stat + ")\n"; return code; } const display_animate = function (_, generator) { // Boolean values true and false. var name = this.getFieldValue("ANIMATION"); var code = 'matrix.Image.' + name; return [code, generator.ORDER_ATOMIC]; } const display_circle = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_r = generator.valueToCode(this, 'r', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); var code = ''; switch (checkbox_fill) { case "True": code = varName + '.show_fill_circle(' + location_x + ', ' + location_y + ', ' + value_r + ', ' + size + ')\n'; break; case "False": code = varName + '.show_circle(' + location_x + ', ' + location_y + ', ' + value_r + ', ' + size + ')\n'; break; } return code; } const display_triangle = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var location_x0 = generator.valueToCode(this, 'x0', generator.ORDER_ATOMIC); var location_y0 = generator.valueToCode(this, 'y0', generator.ORDER_ATOMIC); var location_x1 = generator.valueToCode(this, 'x1', generator.ORDER_ATOMIC); var location_y1 = generator.valueToCode(this, 'y1', generator.ORDER_ATOMIC); var location_x2 = generator.valueToCode(this, 'x2', generator.ORDER_ATOMIC); var location_y2 = generator.valueToCode(this, 'y2', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); var code = ''; switch (checkbox_fill) { case "True": code = varName + '.show_fill_triangle(' + location_x0 + ', ' + location_y0 + ', ' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', ' + size + ')\n'; break; case "False": code = varName + '.show_triangle(' + location_x0 + ', ' + location_y0 + ', ' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', ' + size + ')\n'; break; } return code; } const display_oled_showBitmap = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'START_X', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'START_Y', generator.ORDER_ATOMIC); var bmp = generator.valueToCode(this, 'bitmap_name', generator.ORDER_ATOMIC); var w = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC); var code = varName + '.show_bitmap(' + location_x + ', ' + location_y + ', ' + bmp + ',' + w + ',' + h + ')\n'; return code; } const display_oled_drawPixel = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'POS_X', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'POS_Y', generator.ORDER_ATOMIC); var code = varName + '.show_pixel(' + location_x + ', ' + location_y + ')\n'; return code; } // pe: const display_matrix_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue("key"); var code; if (key == '32x12 Matrix') { generator.definitions_['import_matrix32x12'] = 'import matrix32x12'; code = v + ' = matrix32x12.Matrix(' + iv + ')\n'; } else if (key == 'TM1637') { generator.definitions_['import_tm1637'] = 'import tm1637'; code = v + ' = tm1637.' + key + "(" + iv + ')\n'; } return code; } const display_show_image = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_matrix32x12'] = 'import matrix32x12'; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".set_buffer(" + data + ")\n"; return code; } const display_scroll_string_extern = function (_, generator) { generator.definitions_['import_matrix32x12'] = 'import matrix32x12'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".scroll(" + data + ")\n"; return code; } /***/ }), /***/ "../micropython/generators/display_extern.js": /*!***************************************************!*\ !*** ../micropython/generators/display_extern.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ display_animate: () => (/* binding */ display_animate), /* harmony export */ display_circle: () => (/* binding */ display_circle), /* harmony export */ display_color_seclet: () => (/* binding */ display_color_seclet), /* harmony export */ display_draw_4strings: () => (/* binding */ display_draw_4strings), /* harmony export */ display_fill: () => (/* binding */ display_fill), /* harmony export */ display_lcd_use_i2c_init: () => (/* binding */ display_lcd_use_i2c_init), /* harmony export */ display_line: () => (/* binding */ display_line), /* harmony export */ display_line_arbitrarily: () => (/* binding */ display_line_arbitrarily), /* harmony export */ display_matrix_extern_bright_point: () => (/* binding */ display_matrix_extern_bright_point), /* harmony export */ display_matrix_extern_bright_screen: () => (/* binding */ display_matrix_extern_bright_screen), /* harmony export */ display_matrix_extern_clear: () => (/* binding */ display_matrix_extern_clear), /* harmony export */ display_matrix_extern_get_pixel: () => (/* binding */ display_matrix_extern_get_pixel), /* harmony export */ display_matrix_extern_get_screen_pixel: () => (/* binding */ display_matrix_extern_get_screen_pixel), /* harmony export */ display_matrix_extern_image_builtins: () => (/* binding */ display_matrix_extern_image_builtins), /* harmony export */ display_matrix_extern_scroll_string: () => (/* binding */ display_matrix_extern_scroll_string), /* harmony export */ display_matrix_extern_scroll_string_delay: () => (/* binding */ display_matrix_extern_scroll_string_delay), /* harmony export */ display_matrix_extern_shift: () => (/* binding */ display_matrix_extern_shift), /* harmony export */ display_matrix_extern_show_frame_string: () => (/* binding */ display_matrix_extern_show_frame_string), /* harmony export */ display_matrix_extern_show_frame_string_delay: () => (/* binding */ display_matrix_extern_show_frame_string_delay), /* harmony export */ display_matrix_extern_show_image: () => (/* binding */ display_matrix_extern_show_image), /* harmony export */ display_matrix_extern_show_image_or_string_delay: () => (/* binding */ display_matrix_extern_show_image_or_string_delay), /* harmony export */ display_matrix_use_i2c_init: () => (/* binding */ display_matrix_use_i2c_init), /* harmony export */ display_oled_drawPixel: () => (/* binding */ display_oled_drawPixel), /* harmony export */ display_oled_showBitmap: () => (/* binding */ display_oled_showBitmap), /* harmony export */ display_oled_use_i2c_init: () => (/* binding */ display_oled_use_i2c_init), /* harmony export */ display_onoff: () => (/* binding */ display_onoff), /* harmony export */ display_rect: () => (/* binding */ display_rect), /* harmony export */ display_tm1650_power: () => (/* binding */ display_tm1650_power), /* harmony export */ display_tm1650_set_brightness: () => (/* binding */ display_tm1650_set_brightness), /* harmony export */ display_tm1650_show_dot: () => (/* binding */ display_tm1650_show_dot), /* harmony export */ display_tm1650_show_num: () => (/* binding */ display_tm1650_show_num), /* harmony export */ display_tm_use_i2c_init: () => (/* binding */ display_tm_use_i2c_init), /* harmony export */ display_triangle: () => (/* binding */ display_triangle), /* harmony export */ display_use_i2c_init: () => (/* binding */ display_use_i2c_init), /* harmony export */ extern_oled_bright_point: () => (/* binding */ extern_oled_bright_point), /* harmony export */ extern_oled_clear: () => (/* binding */ extern_oled_clear), /* harmony export */ extern_oled_get_pixel: () => (/* binding */ extern_oled_get_pixel), /* harmony export */ extern_oled_hvline: () => (/* binding */ extern_oled_hvline), /* harmony export */ extern_oled_line: () => (/* binding */ extern_oled_line), /* harmony export */ extern_oled_scroll_string: () => (/* binding */ extern_oled_scroll_string), /* harmony export */ extern_oled_scroll_string_delay: () => (/* binding */ extern_oled_scroll_string_delay), /* harmony export */ extern_oled_shape_rect: () => (/* binding */ extern_oled_shape_rect), /* harmony export */ extern_oled_shift: () => (/* binding */ extern_oled_shift), /* harmony export */ extern_oled_show_frame_string: () => (/* binding */ extern_oled_show_frame_string), /* harmony export */ extern_oled_show_frame_string_delay: () => (/* binding */ extern_oled_show_frame_string_delay), /* harmony export */ extern_oled_show_image: () => (/* binding */ extern_oled_show_image), /* harmony export */ extern_oled_show_image_or_string_delay: () => (/* binding */ extern_oled_show_image_or_string_delay), /* harmony export */ extern_oled_show_image_xy: () => (/* binding */ extern_oled_show_image_xy), /* harmony export */ extern_oled_show_string: () => (/* binding */ extern_oled_show_string), /* harmony export */ image_shift: () => (/* binding */ image_shift), /* harmony export */ lcd_backlight: () => (/* binding */ lcd_backlight), /* harmony export */ lcd_clear: () => (/* binding */ lcd_clear), /* harmony export */ lcd_print_string: () => (/* binding */ lcd_print_string), /* harmony export */ lcd_show_image_or_string_delay: () => (/* binding */ lcd_show_image_or_string_delay), /* harmony export */ matrix_extern_image_arithmetic: () => (/* binding */ matrix_extern_image_arithmetic), /* harmony export */ matrix_extern_image_invert: () => (/* binding */ matrix_extern_image_invert), /* harmony export */ tft_fill: () => (/* binding */ tft_fill), /* harmony export */ tft_line_arbitrarily: () => (/* binding */ tft_line_arbitrarily), /* harmony export */ tft_scroll_string_delay: () => (/* binding */ tft_scroll_string_delay), /* harmony export */ tft_show_frame_string_delay: () => (/* binding */ tft_show_frame_string_delay), /* harmony export */ tft_show_image_or_string_delay: () => (/* binding */ tft_show_image_or_string_delay), /* harmony export */ tft_show_image_xy: () => (/* binding */ tft_show_image_xy), /* harmony export */ tft_use_spi_init: () => (/* binding */ tft_use_spi_init) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const display_matrix_use_i2c_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue("key"); var font = ''; if (['mpython', 'mixgo_pe', 'mixgo_nova'].indexOf(version) >= 0) { font = '0x700000' } else if (['mixgo_sant'].indexOf(version) >= 0) { font = '0xE00000' } else { font = '0x3A0000' } var code; if (key == '32x12 Matrix') { generator.definitions_['import_matrix32x12'] = 'import matrix32x12'; code = v + ' = matrix32x12.Matrix(' + iv + ',font_address=' + font + ')\n'; } else if (key == '16x8 Matrix') { generator.definitions_['import_matrix16x8'] = 'import matrix16x8'; code = v + ' = matrix16x8.Matrix(' + iv + ')\n'; } return code; } const display_matrix_extern_show_image = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".shows(" + data + ")\n"; return code; } const display_matrix_extern_show_image_or_string_delay = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); var code = v + ".shows(" + data + ',space = ' + space + ',center = ' + op + ")\n"; return code; } const display_matrix_extern_show_frame_string = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".frame(" + data + ")\n"; return code; } const display_matrix_extern_show_frame_string_delay = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = v + ".frame(" + data + ',delay = ' + time + ")\n"; return code; } const display_matrix_extern_scroll_string = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".scroll(" + data + ")\n"; return code; } const display_matrix_extern_scroll_string_delay = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var code = v + ".scroll(" + data + ',speed =' + time + ',space = ' + space + ")\n"; return code; } const display_matrix_extern_clear = function (block, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.fill(0)\n' + v + '.show()\n'; return code; } const display_matrix_extern_shift = function (a, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var op = a.getFieldValue("OP"); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = v + '.' + op + '(' + value + ')\n'; return code; } const display_matrix_extern_get_pixel = function (block, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = v + '.pixel(int(' + value_x + '), int(' + value_y + '))'; return [code, generator.ORDER_ATOMIC]; } const display_matrix_extern_bright_point = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = v + '.pixel(int(' + x + '), int(' + y + '), ' + dropdown_stat + ")\n" + v + '.show()\n'; return code; } const display_matrix_extern_get_screen_pixel = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.get_brightness()'; return [code, generator.ORDER_ATOMIC]; } const display_matrix_extern_bright_screen = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = v + '.set_brightness(' + x + ')\n'; return code; } const display_matrix_extern_image_builtins = function (block, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_image = block.getFieldValue('image'); var code = v + '.' + dropdown_image; return [code, generator.ORDER_ATOMIC]; } const matrix_extern_image_arithmetic = function (a, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var op = a.getFieldValue("OP"); var imga = generator.valueToCode(a, 'A', generator.ORDER_ATOMIC); var imgb = generator.valueToCode(a, 'B', generator.ORDER_ATOMIC); var code = v + '.map_' + op + '(' + imga + ',' + imgb + ')'; return [code, generator.ORDER_ATOMIC]; } const matrix_extern_image_invert = function (a, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var imga = generator.valueToCode(a, 'A', generator.ORDER_ATOMIC); var code = v + '.map_invert(' + imga + ')'; return [code, generator.ORDER_ATOMIC]; } //oled const display_use_i2c_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var i2csub = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var row = generator.valueToCode(this, 'row', generator.ORDER_ATOMIC); var column = generator.valueToCode(this, 'column', generator.ORDER_ATOMIC); var code = sub + " = ssd1306.SSD1306_I2C(" + row + "," + column + "," + i2csub + ")\n"; return code; } const display_draw_4strings = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var value_text_line1 = generator.valueToCode(this, 'Text_line1', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line2 = generator.valueToCode(this, 'Text_line2', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line3 = generator.valueToCode(this, 'Text_line3', generator.ORDER_ASSIGNMENT) || '\'\''; var value_text_line4 = generator.valueToCode(this, 'Text_line4', generator.ORDER_ASSIGNMENT) || '\'\''; var code = varName + '.show_str(' + value_text_line1 + ',' + value_text_line2 + ',' + value_text_line3 + ',' + value_text_line4 + ')\n' return code; } const display_line_arbitrarily = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x1 = generator.valueToCode(this, 'x1', generator.ORDER_ATOMIC); var location_y1 = generator.valueToCode(this, 'y1', generator.ORDER_ATOMIC); var location_x2 = generator.valueToCode(this, 'x2', generator.ORDER_ATOMIC); var location_y2 = generator.valueToCode(this, 'y2', generator.ORDER_ATOMIC); var code = varName + '.show_line(' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', 1)\n'; return code; } const display_rect = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_width = generator.valueToCode(this, 'width', generator.ORDER_ATOMIC); var value_height = generator.valueToCode(this, 'height', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); switch (checkbox_fill) { case "True": var code = varName + '.show_fill_rect(' + location_x + ', ' + location_y + ', ' + value_width + ', ' + value_height + ',' + size + ')\n'; return code; case "False": var code = varName + '.show_rect(' + location_x + ', ' + location_y + ', ' + value_width + ', ' + value_height + ',' + size + ')\n'; return code; } } const display_line = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_length = generator.valueToCode(this, 'length', generator.ORDER_ATOMIC); var value_direction = this.getFieldValue("direction"); var code = varName + '.show_' + value_direction + '(' + location_x + ', ' + location_y + ', ' + value_length + ', 1)\n'; return code; } const display_onoff = function (_, generator) { var code = (this.getFieldValue('ONOFF') == 'ON') ? '1' : '0'; return [code, generator.ORDER_ATOMIC]; } const image_shift = function (a, generator) { generator.definitions_['import_matrix'] = 'import matrix'; var op = a.getFieldValue("OP"); var image = generator.valueToCode(a, 'img', generator.ORDER_ATOMIC); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = image + '.shift_' + op + '(' + value + ')'; return [code, generator.ORDER_ATOMIC]; } const display_fill = function (_, generator) { var varName = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_ssd1306'] = 'import ssd1306'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var code = varName + '.show_fill(' + key + ')\n'; return code; } // export const switch = function (_, generator) { // var code = this.getFieldValue('flag'); // return [code, generator.ORDER_ATOMIC]; // }; const display_animate = function (_, generator) { // Boolean values true and false. var name = this.getFieldValue("ANIMATION"); var code = 'matrix.Image.' + name; return [code, generator.ORDER_ATOMIC]; } const display_circle = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var location_x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var value_r = generator.valueToCode(this, 'r', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); switch (checkbox_fill) { case "True": var code = varName + '.show_fill_circle(' + location_x + ', ' + location_y + ', ' + value_r + ', ' + size + ')\n'; return code; case "False": var code = varName + '.show_circle(' + location_x + ', ' + location_y + ', ' + value_r + ', ' + size + ')\n'; return code; } } const display_triangle = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var location_x0 = generator.valueToCode(this, 'x0', generator.ORDER_ATOMIC); var location_y0 = generator.valueToCode(this, 'y0', generator.ORDER_ATOMIC); var location_x1 = generator.valueToCode(this, 'x1', generator.ORDER_ATOMIC); var location_y1 = generator.valueToCode(this, 'y1', generator.ORDER_ATOMIC); var location_x2 = generator.valueToCode(this, 'x2', generator.ORDER_ATOMIC); var location_y2 = generator.valueToCode(this, 'y2', generator.ORDER_ATOMIC); var checkbox_fill = this.getFieldValue("fill") == 'TRUE' ? 'True' : 'False'; var size = this.getFieldValue('OP'); switch (checkbox_fill) { case "True": var code = varName + '.show_fill_triangle(' + location_x0 + ', ' + location_y0 + ', ' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', ' + size + ')\n'; return code; case "False": var code = varName + '.show_triangle(' + location_x0 + ', ' + location_y0 + ', ' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', ' + size + ')\n'; return code; } } const display_oled_showBitmap = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'START_X', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'START_Y', generator.ORDER_ATOMIC); var bmp = generator.valueToCode(this, 'bitmap_name', generator.ORDER_ATOMIC); var w = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC); var code = varName + '.show_bitmap(' + location_x + ', ' + location_y + ', ' + bmp + ',' + w + ',' + h + ')\n'; return code; } const display_oled_drawPixel = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_ssd1306'] = 'import ssd1306'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var location_x = generator.valueToCode(this, 'POS_X', generator.ORDER_ATOMIC); var location_y = generator.valueToCode(this, 'POS_Y', generator.ORDER_ATOMIC); var code = varName + '.show_pixel(' + location_x + ', ' + location_y + ')\n'; return code; } //tm1650 const display_tm_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue("key"); var code; if (key == 'TM1650') { generator.definitions_['import_tm1650'] = 'import tm1650'; code = v + ' = tm1650.' + key + "(" + iv + ')\n'; } else if (key == 'TM1637') { generator.definitions_['import_tm1637'] = 'import tm1637'; code = v + ' = tm1637.' + key + "(" + iv + ')\n'; } return code; } const display_tm1650_power = function (_, generator) { // var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var stat = this.getFieldValue("STAT"); var code = v + '.' + stat + "()\n"; return code; } const display_tm1650_show_num = function (_, generator) { // var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'VALUE', generator.ORDER_ATOMIC); var code = v + ".shownum(" + val + ")\n"; return code; } const display_tm1650_show_dot = function (_, generator) { // var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var n = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = v + '.showDP(' + n + ", " + stat + ")\n"; return code; } const display_tm1650_set_brightness = function (_, generator) { // var type = this.getFieldValue("TYPE"); var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var val = generator.valueToCode(this, 'VALUE', generator.ORDER_ATOMIC); var code = v + ".intensity(" + val + ")\n"; return code; } const tft_use_spi_init = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var font = ''; if (['mpython', 'mixgo_pe', 'mixgo_nova'].indexOf(version) >= 0) { font = '0x700000' } else if (['mixgo_sant'].indexOf(version) >= 0) { font = '0xE00000' } else { font = '0x3A0000' } var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sv = generator.valueToCode(this, 'SPISUB', generator.ORDER_ATOMIC); var pv = generator.valueToCode(this, 'PINCS', generator.ORDER_ATOMIC); var dv = generator.valueToCode(this, 'PINDC', generator.ORDER_ATOMIC); var w = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC); var op = this.getFieldValue('rotate'); var code = v + ' = st7789.ST7789(' + sv + ',' + w + ',' + h + ',dc_pin=' + dv + ',cs_pin=' + pv + ',rotation=' + op + ',font_address=' + font + ')\n'; return code; } const tft_show_image_xy = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = v + ".image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = v + ".image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const display_color_seclet = function (_, generator) { var colour = this.getFieldValue('COLOR'); var code = '0x' + colour.slice(1) + '' var rgb565 = (code & 0xf80000) >> 8 | (code & 0xfc00) >> 5 | (code & 0xff) >> 3 return ['0x' + rgb565.toString(16), generator.ORDER_ATOMIC]; } const tft_show_image_or_string_delay = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var op = this.getFieldValue('center'); if (color.slice(0, 2) == "0x") { var code = v + ".shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = v + ".shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const tft_show_frame_string_delay = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = v + ".frame(" + data + ',size = ' + size + ',delay = ' + time + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = v + ".frame(" + data + ',size = ' + size + ',delay = ' + time + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const tft_scroll_string_delay = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = v + ".scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = v + ".scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const tft_fill = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v + '.fill(st7789.' + key + ')\n'; return code; } const tft_line_arbitrarily = function (_, generator) { generator.definitions_['import_st7789'] = 'import st7789'; var varName = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var location_x1 = generator.valueToCode(this, 'x1', generator.ORDER_ATOMIC); var location_y1 = generator.valueToCode(this, 'y1', generator.ORDER_ATOMIC); var location_x2 = generator.valueToCode(this, 'x2', generator.ORDER_ATOMIC); var location_y2 = generator.valueToCode(this, 'y2', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = varName + '.line(' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', color=' + color + ')\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = varName + '.line(' + location_x1 + ', ' + location_y1 + ', ' + location_x2 + ', ' + location_y2 + ', color=0x' + rgb565.toString(16) + ')\n'; } return code; } const display_lcd_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue("key"); var addr = generator.valueToCode(this, 'ADDR', generator.ORDER_ATOMIC); var code; generator.definitions_['import_i2clcd'] = 'import i2clcd'; code = v + ' = i2clcd.LCD' + "(" + iv + ',lcd_width=' + key + ',i2c_addr=' + addr +')\n'; return code; } const lcd_show_image_or_string_delay = function (_, generator) { generator.definitions_['import_i2clcd'] = 'import i2clcd'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); var code = v + ".shows(" + data + ',column = ' + x + ',line = ' + y + ',center = ' + op + ")\n"; return code; } const lcd_print_string = function (_, generator) { generator.definitions_['import_i2clcd'] = 'import i2clcd'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var delay = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = v + ".print(" + data + ',column = ' + x + ',line = ' + y + ',delay=' + delay + ")\n"; return code; } const lcd_backlight = function (_, generator) { generator.definitions_['import_i2clcd'] = 'import i2clcd'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = v + '.backlight(' + key + ')\n'; return code; } const lcd_clear = function (block, generator) { generator.definitions_['import_i2clcd'] = 'import i2clcd'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.clear()\n'; return code; } const display_oled_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'ADDR', generator.ORDER_ATOMIC); var m =this.getFieldValue("driver"); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var font = ''; if (['mpython', 'mixgo_pe', 'mixgo_nova'].indexOf(version) >= 0) { font = '0x700000' } else if (['mixgo_sant'].indexOf(version) >= 0) { font = '0xE00000' } else { font = '0x3A0000' } var code; generator.definitions_['import_oled128x64'] = 'import oled128x64'; code = v + ' = oled128x64.OLED' + "(" + iv + ',address=' + addr + ',font_address=' + font + ',types='+m+')\n'; return code; } const extern_oled_show_image = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".image(" + data + ")\n"; return code; } const extern_oled_show_image_xy = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var code = v + ".image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ")\n"; return code; } const extern_oled_show_string = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".shows(" + data + ")\n"; return code; } const extern_oled_show_image_or_string_delay = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); var code = v + ".shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ")\n"; return code; } const extern_oled_show_frame_string = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".frame(" + data + ")\n"; return code; } const extern_oled_show_frame_string_delay = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = v + ".frame(" + data + ',size = ' + size + ',delay = ' + time + ")\n"; return code; } const extern_oled_scroll_string = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = v + ".scroll(" + data + ")\n"; return code; } const extern_oled_scroll_string_delay = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var code = v + ".scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ")\n"; return code; } const extern_oled_clear = function (block, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.fill(0)\n' + v + '.show()\n'; return code; } const extern_oled_shift = function (a, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var op = a.getFieldValue("OP"); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = v + '.' + op + '(' + value + ')\n'; return code; } const extern_oled_get_pixel = function (block, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = v + '.pixel(int(' + value_x + '), int(' + value_y + '))'; return [code, generator.ORDER_ATOMIC]; } const extern_oled_bright_point = function (_, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = v + '.pixel(int(' + x + '), int(' + y + '), ' + dropdown_stat + ")\n" + v + '.show()\n'; return code; } const extern_oled_shape_rect = function (block, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var w = generator.valueToCode(block, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(block, 'h', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var shape = block.getFieldValue('shape'); var code = v + '.' + shape + '(' + x + ', ' + y + ', ' + w + ', ' + h + ', ' + state + ')\n' + v + '.show()\n'; return code; } const extern_oled_hvline = function (block, generator) { //水平线 generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var var_length = generator.valueToCode(block, 'length', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var hv = block.getFieldValue('dir_h_v'); var code = v + '.' + (('0' == hv) ? 'v' : 'h') + 'line(' + x + ', ' + y + ', ' + var_length + ', ' + state + ')\n' + v + '.show()\n'; return code; } const extern_oled_line = function (block, generator) { generator.definitions_['import_oled128x64'] = 'import oled128x64'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x1 = generator.valueToCode(block, 'x1', generator.ORDER_ATOMIC); var y1 = generator.valueToCode(block, 'y1', generator.ORDER_ATOMIC); var x2 = generator.valueToCode(block, 'x2', generator.ORDER_ATOMIC); var y2 = generator.valueToCode(block, 'y2', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var code = v + '.line(' + x1 + ', ' + y1 + ', ' + x2 + ', ' + y2 + ', ' + state + ')\n' + v + '.show()\n'; return code; } /***/ }), /***/ "../micropython/generators/display_onboard.js": /*!****************************************************!*\ !*** ../micropython/generators/display_onboard.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ bitbot_display_image_create: () => (/* binding */ bitbot_display_image_create), /* harmony export */ display_bright_point: () => (/* binding */ display_bright_point), /* harmony export */ display_bright_screen: () => (/* binding */ display_bright_screen), /* harmony export */ display_clear: () => (/* binding */ display_clear), /* harmony export */ display_get_pixel: () => (/* binding */ display_get_pixel), /* harmony export */ display_get_screen_pixel: () => (/* binding */ display_get_screen_pixel), /* harmony export */ display_image_builtins: () => (/* binding */ display_image_builtins), /* harmony export */ display_image_builtins_all: () => (/* binding */ display_image_builtins_all), /* harmony export */ display_image_create: () => (/* binding */ display_image_create), /* harmony export */ display_scroll_string: () => (/* binding */ display_scroll_string), /* harmony export */ display_scroll_string_delay: () => (/* binding */ display_scroll_string_delay), /* harmony export */ display_shift: () => (/* binding */ display_shift), /* harmony export */ display_show_frame_string: () => (/* binding */ display_show_frame_string), /* harmony export */ display_show_frame_string_delay: () => (/* binding */ display_show_frame_string_delay), /* harmony export */ display_show_image: () => (/* binding */ display_show_image), /* harmony export */ display_show_image_or_string_delay: () => (/* binding */ display_show_image_or_string_delay), /* harmony export */ draw_pointer: () => (/* binding */ draw_pointer), /* harmony export */ image_arithmetic: () => (/* binding */ image_arithmetic), /* harmony export */ image_invert: () => (/* binding */ image_invert), /* harmony export */ mixbot_display_bright_screen: () => (/* binding */ mixbot_display_bright_screen), /* harmony export */ mixbot_display_get_ambientbright: () => (/* binding */ mixbot_display_get_ambientbright), /* harmony export */ mixbot_display_get_screen_pixel: () => (/* binding */ mixbot_display_get_screen_pixel), /* harmony export */ mixbot_display_image_create: () => (/* binding */ mixbot_display_image_create), /* harmony export */ mixbot_display_rotate: () => (/* binding */ mixbot_display_rotate), /* harmony export */ mixgo_display_image_create_new: () => (/* binding */ mixgo_display_image_create_new), /* harmony export */ mixgome_display_font: () => (/* binding */ mixgome_display_font), /* harmony export */ mixgome_display_image_create: () => (/* binding */ mixgome_display_image_create), /* harmony export */ mixgomini_display_image_create: () => (/* binding */ mixgomini_display_image_create), /* harmony export */ mpython_display_hvline: () => (/* binding */ mpython_display_hvline), /* harmony export */ mpython_display_line: () => (/* binding */ mpython_display_line), /* harmony export */ mpython_display_shape_rect: () => (/* binding */ mpython_display_shape_rect), /* harmony export */ mpython_pbm_image: () => (/* binding */ mpython_pbm_image), /* harmony export */ onboard_oled_bright_point: () => (/* binding */ onboard_oled_bright_point), /* harmony export */ onboard_oled_scroll_string_delay: () => (/* binding */ onboard_oled_scroll_string_delay), /* harmony export */ onboard_oled_show_frame_string_delay: () => (/* binding */ onboard_oled_show_frame_string_delay), /* harmony export */ onboard_oled_show_image: () => (/* binding */ onboard_oled_show_image), /* harmony export */ onboard_oled_show_image_or_string_delay: () => (/* binding */ onboard_oled_show_image_or_string_delay), /* harmony export */ onboard_oled_show_image_xy: () => (/* binding */ onboard_oled_show_image_xy), /* harmony export */ onboard_oled_show_string: () => (/* binding */ onboard_oled_show_string), /* harmony export */ onboard_tft_bright_point: () => (/* binding */ onboard_tft_bright_point), /* harmony export */ onboard_tft_bright_screen: () => (/* binding */ onboard_tft_bright_screen), /* harmony export */ onboard_tft_clear: () => (/* binding */ onboard_tft_clear), /* harmony export */ onboard_tft_clock_clear: () => (/* binding */ onboard_tft_clock_clear), /* harmony export */ onboard_tft_clock_draw: () => (/* binding */ onboard_tft_clock_draw), /* harmony export */ onboard_tft_clock_get_rtctime: () => (/* binding */ onboard_tft_clock_get_rtctime), /* harmony export */ onboard_tft_clock_init: () => (/* binding */ onboard_tft_clock_init), /* harmony export */ onboard_tft_clock_set_time: () => (/* binding */ onboard_tft_clock_set_time), /* harmony export */ onboard_tft_display_hvline: () => (/* binding */ onboard_tft_display_hvline), /* harmony export */ onboard_tft_display_line: () => (/* binding */ onboard_tft_display_line), /* harmony export */ onboard_tft_display_shape_circle: () => (/* binding */ onboard_tft_display_shape_circle), /* harmony export */ onboard_tft_display_shape_rect: () => (/* binding */ onboard_tft_display_shape_rect), /* harmony export */ onboard_tft_fill: () => (/* binding */ onboard_tft_fill), /* harmony export */ onboard_tft_get_pixel: () => (/* binding */ onboard_tft_get_pixel), /* harmony export */ onboard_tft_get_screen_pixel: () => (/* binding */ onboard_tft_get_screen_pixel), /* harmony export */ onboard_tft_scroll_string: () => (/* binding */ onboard_tft_scroll_string), /* harmony export */ onboard_tft_scroll_string_delay: () => (/* binding */ onboard_tft_scroll_string_delay), /* harmony export */ onboard_tft_shift: () => (/* binding */ onboard_tft_shift), /* harmony export */ onboard_tft_show_frame_string: () => (/* binding */ onboard_tft_show_frame_string), /* harmony export */ onboard_tft_show_frame_string_delay: () => (/* binding */ onboard_tft_show_frame_string_delay), /* harmony export */ onboard_tft_show_image: () => (/* binding */ onboard_tft_show_image), /* harmony export */ onboard_tft_show_image_or_string_delay: () => (/* binding */ onboard_tft_show_image_or_string_delay), /* harmony export */ onboard_tft_show_image_xy: () => (/* binding */ onboard_tft_show_image_xy) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const display_show_image = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); 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; } const display_show_image_or_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); if (version == "mixgo_sant" || version == "mixgo_nova") { generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var code = "onboard_tft.shows(" + data + ",space = " + space + ',center = ' + op + ")\n"; return code; }else if (version == "educore"){ generator.definitions_['import_' + version + 'oled'] = "from " + version + " import oled"; var code = "oled.print(" + data + ',space = ' + space + ',center = ' + op + ")\n"; } generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = "onboard_matrix.shows(" + data + ',space = ' + space + ',center = ' + op + ")\n"; return code; } const display_show_frame_string = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mpython' || version == 'educore') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.frame(" + data + ")\n"; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_matrix.frame(" + data + ")\n"; } return code; } const display_show_frame_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); if (version == 'mpython' || version == 'educore') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.frame(" + data + ',delay = ' + time + ")\n"; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = "onboard_matrix.frame(" + data + ',delay = ' + time + ")\n"; } return code; } const display_scroll_string = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mpython'|| version == 'educore') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.scroll(" + data + ")\n"; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_matrix.scroll(" + data + ")\n"; } return code; } const display_scroll_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); if (version == 'mpython'|| version == 'educore') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var code = "onboard_oled.scroll(" + data + ',speed =' + time + ',space = ' + space + ")\n"; }else{ generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = "onboard_matrix.scroll(" + data + ',speed =' + time + ',space = ' + space + ")\n"; } return code; } const display_image_builtins = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var dropdown_image = block.getFieldValue('image'); var code = 'onboard_matrix.' + dropdown_image; return [code, generator.ORDER_ATOMIC]; } const display_image_builtins_all = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var dropdown_image = block.getFieldValue('image'); var code = 'onboard_matrix.' + dropdown_image; return [code, generator.ORDER_ATOMIC]; } const display_image_create = function (block, generator) { var colours = { "#000000": "0", //"#440000": "1", //"#660000": "2", //"#880000": "3", //"#aa0000": "4", //"#bb0000": "5", //"#cc0000": "6", //"#dd0000": "7", //"#ee0000": "8", "#ff0000": "1" } function pad(num) { let newNum = ''; if (num.length % 2 === 1) { num = '0' + num; } if (num.length < 8) { let k = 8 - num.length for (let i = 1; i <= k; i++) { num = '0' + num; } } for (let i = 1; i <= num.length; i++) if (i % 2 === 0 && i !== num.length) newNum = newNum + num[i - 1] + ',0x'; else newNum += num[i - 1]; return '0x' + newNum; } let colorList = []; for (let i = 0; i < 12; i++) { let colorRow = ''; let colorNum = 0; let correct = 0; for (let j = 0; j < 32; j++) { if (j < 8) { correct = 7 - j } else if (j < 16) { correct = 23 - j } else if (j < 24) { correct = 39 - j } else if (j < 32) { correct = 55 - j } colorNum += Number(colours[block.getFieldValue(i + '-' + j)]) * Math.pow(2, 31 - correct); } colorRow += pad(colorNum.toString(16)); colorList.unshift(colorRow); } let codelist = []; for (let i = 0; i < colorList.length; i++) { codelist[i] = colorList[colorList.length - 1 - i]; } //var code = "bytearray(b'" + colorList.join('') + "')"; var code = '[' + codelist + ']'; return [code, generator.ORDER_ATOMIC]; } const display_clear = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mpython') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var code = 'onboard_oled.fill(0)\n' + 'onboard_oled.show()\n'; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = 'onboard_matrix.fill(0)\n' + 'onboard_matrix.show()\n'; } return code; } const image_arithmetic = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var op = a.getFieldValue("OP"); var imga = generator.valueToCode(a, 'A', generator.ORDER_ATOMIC); var imgb = generator.valueToCode(a, 'B', generator.ORDER_ATOMIC); var code = 'onboard_matrix.map_' + op + '(' + imga + ',' + imgb + ')'; return [code, generator.ORDER_ATOMIC]; } const image_invert = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var imga = generator.valueToCode(a, 'A', generator.ORDER_ATOMIC); var code = 'onboard_matrix.map_invert(' + imga + ')'; return [code, generator.ORDER_ATOMIC]; } const display_shift = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mpython') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var op = a.getFieldValue("OP"); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = 'onboard_oled.' + op + '(' + value + ')\n'; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var op = a.getFieldValue("OP"); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = 'onboard_matrix.' + op + '(' + value + ')\n'; } return code; } // export const onboard_oled_shift = function (a) { // var version = Boards.getSelectedBoardKey().split(':')[2] // return code; // }; const display_get_pixel = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mpython') { generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = 'onboard_oled.pixel(int(' + value_x + '), int(' + value_y + '))'; } else { generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = 'onboard_matrix.pixel(int(' + value_x + '), int(' + value_y + '))'; } return [code, generator.ORDER_ATOMIC]; } const display_bright_point = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'onboard_matrix.pixel(int(' + x + '), int(' + y + '), ' + dropdown_stat + ")\n" + 'onboard_matrix.show()\n'; return code; } const display_get_screen_pixel = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = 'onboard_matrix.get_brightness()'; return [code, generator.ORDER_ATOMIC]; } const display_bright_screen = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = 'onboard_matrix.set_brightness(' + x + ')\n'; return code; } //mixgo_me onboard_matrix below: const mixgome_display_image_create = function (block, generator) { var colours = { "#000000": "0", "#ff0000": "1" } function pad(num) { let newNum = ''; if (num.length % 2 === 1) { num = '0' + num; } for (let i = 1; i <= num.length; i++) if (i % 2 === 0 && i !== num.length) newNum = newNum + num[i - 1] + '\\x'; else newNum += num[i - 1]; return '\\x' + newNum; } let colorList = []; for (let i = 0; i < 5; i++) { let colorRow = ''; let colorNum = 0; for (let j = 0; j < 8; j++) { colorNum += Number(colours[block.getFieldValue((4 - i) + '-' + j)]) * Math.pow(2, j); } colorRow += pad(colorNum.toString(16)); colorList.unshift(colorRow); } var code = "bytearray(b'" + colorList.join('') + "')"; return [code, generator.ORDER_ATOMIC]; } const mixgomini_display_image_create = function (block, generator) { var blinkColor = '#ff0000'; var code = ''; for (let i = 0; i < 12; i++) { let value = 0; for (let j = 0; j < 8; j++) { if (block.getFieldValue(`${j}-${i}`) !== blinkColor) { continue; } value += 1 << j; } let temp = value.toString(16); code += '\\x' + Array(2 - temp.length).fill(0).join('') + temp; } code = `bytearray(b'${code}')`; return [code, generator.ORDER_ATOMIC]; } const mixgome_display_font = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var op = a.getFieldValue("OP"); var code = 'onboard_matrix.font(' + op + ')\n'; return code; } const mixgo_display_image_create_new = function (block, generator) { var colours = { "#000000": "0", "#ff0000": "1" } function pad(num) { let newNum = ''; if (num.length % 2 === 1) { num = '0' + num; } while (num.length < 4) { num = '0' + num; } for (let i = 1; i <= num.length; i++) if (i % 2 === 0 && i !== num.length) newNum = newNum + num[i - 1] + '\\x'; else newNum += num[i - 1]; return '\\x' + newNum; } let colorList = []; for (let i = 0; i < 8; i++) { let colorRow = ''; let colorNum = 0; for (let j = 0; j < 16; j++) { var c = (j + 8) % 16 colorNum += Number(colours[block.getFieldValue((7 - i) + '-' + c)]) * Math.pow(2, j); } colorRow += pad(colorNum.toString(16)); colorList.unshift(colorRow); } var code = "bytearray(b'" + colorList.join('') + "')"; return [code, generator.ORDER_ATOMIC]; } //mpython const mpython_pbm_image = function (block, generator) { var code = block.getFieldValue('path'); var sort = ['expression_picture', 'eye_picture', 'informatio_picture', 'object_picture', 'progres_picture'] var img = [["Angry", "Bored", "Confused", "Happy", "Heart", "Paper", "Rock", "Sad", "Scissors", "Silly", "Sleep", "Small_heart", "Small_paper", "Small_rock", "Small_scissors", "Smile", "Surprise", "Wonderful"], ["Eyes_Angry", "Awake", "Black_eye", "Bottom_left", "Bottom_right", "Crazy_1", "Crazy_2", "Disappointed", "Dizzy", "Down", "Hurt", "Evil", "Knocked_out", "Love", "Middle_left", "Middle_right", "Neutral", "Nuclear", "Pinch_left", "Pinch_middle", "Pinch_right", "Tear", "Tired_middle", "Tired_left", "Tired_right", "Toxic", "Up", "Winking"], ["Accept", "Backward", "Decline", "Forward", "Left", "No_go", "Question_mark", "Right", "Stop_1", "Stop_2", "Thumbs_down", "Thumbs_up", "Warning"], ["Bomb", "Boom", "Fire", "Flowers", "Forest", "Lightning", "Light_off", "Light_on", "Night", "Pirate", "Snow", "Target"], ["Bar_0", "Bar_1", "Bar_2", "Bar_3", "Bar_4", "Dial_0", "Dial_1", "Dial_2", "Dial_3", "Dial_4", "Dots_0", "Dots_1", "Dots_2", "Dots_3", "Hourglass_0", "Hourglass_1", "Hourglass_2", "Timer_0", "Timer_1", "Timer_2", "Timer_3", "Timer_4", "Water_level_0", "Water_level_1", "Water_level_2", "Water_level_3"]] for (var i = 0; i < 5; i++) { if (img[i].indexOf(code) != -1) { var tag = i; break; } } generator.definitions_['import_' + sort[tag] + '_' + code] = "from " + sort[tag] + " import " + code; return [code, generator.ORDER_ATOMIC]; } const onboard_oled_show_image = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.image(" + data + ")\n"; return code; } const onboard_oled_show_image_xy = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ")\n"; return code; } const onboard_oled_show_string = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.shows(" + data + ")\n"; return code; } const onboard_oled_show_image_or_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); var code = "onboard_oled.shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ")\n"; return code; } const onboard_oled_show_frame_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.frame(" + data + ',size = ' + size + ',delay = ' + time + ")\n"; return code; } const onboard_oled_scroll_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var code = "onboard_oled.scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ")\n"; return code; } const onboard_oled_bright_point = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'onboard_oled.pixel(int(' + x + '), int(' + y + '), ' + dropdown_stat + ")\n" + 'onboard_oled.show()\n'; return code; } const mpython_display_shape_rect = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var w = generator.valueToCode(block, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(block, 'h', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var shape = block.getFieldValue('shape'); var code = 'onboard_oled.' + shape + '(' + x + ', ' + y + ', ' + w + ', ' + h + ', ' + state + ')\n' + 'onboard_oled.show()\n'; return code; } const mpython_display_hvline = function (block, generator) { //水平线 var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var var_length = generator.valueToCode(block, 'length', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var hv = block.getFieldValue('dir_h_v'); var code = 'onboard_oled.' + (('0' == hv) ? 'v' : 'h') + 'line(' + x + ', ' + y + ', ' + var_length + ', ' + state + ')\n' + 'onboard_oled.show()\n'; return code; } const mpython_display_line = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_oled"; var x1 = generator.valueToCode(block, 'x1', generator.ORDER_ATOMIC); var y1 = generator.valueToCode(block, 'y1', generator.ORDER_ATOMIC); var x2 = generator.valueToCode(block, 'x2', generator.ORDER_ATOMIC); var y2 = generator.valueToCode(block, 'y2', generator.ORDER_ATOMIC); var state = block.getFieldValue('state'); var code = 'onboard_oled.line(' + x1 + ', ' + y1 + ', ' + x2 + ', ' + y2 + ', ' + state + ')\n' + 'onboard_oled.show()\n'; return code; } //mixbot onboard_matrix below: const mixbot_display_image_create = function (block, generator) { var colours = { "#000000": "0", "#ff0000": "1" } function pad(num) { let newNum = ''; if (num.length % 2 === 1) { num = '0' + num; } for (let i = 1; i <= num.length; i++) if (i % 2 === 0 && i !== num.length) newNum = newNum + num[i - 1] + '\\x'; else newNum += num[i - 1]; return '\\x' + newNum; } let colorList = []; for (let i = 0; i < 5; i++) { let colorRow = ''; let colorNum = 0; for (let j = 0; j < 5; j++) { colorNum += Number(colours[block.getFieldValue((4 - i) + '-' + j)]) * Math.pow(2, j); } colorRow += pad(colorNum.toString(16)); colorList.unshift(colorRow); } var code = "b'" + colorList.join('') + "'"; return [code, generator.ORDER_ATOMIC]; } const mixbot_display_get_screen_pixel = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = 'onboard_matrix.screenbright()'; return [code, generator.ORDER_ATOMIC]; } const mixbot_display_get_ambientbright = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var code = 'onboard_matrix.ambientbright()'; return [code, generator.ORDER_ATOMIC]; } const mixbot_display_bright_screen = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = 'onboard_matrix.screenbright(' + x + ')\n'; return code; } const mixbot_display_rotate = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_matrix'] = "from " + version + " import onboard_matrix"; var op = a.getFieldValue("OP"); var code = 'onboard_matrix.direction(' + op + ')\n'; return code; } const bitbot_display_image_create = function (block, generator) { var colours = { "#000000": "0", "#ff0000": "1" } function pad(num) { if (num.length == 1) { return '\\x0' + num + '\\x00'; } if (num.length == 2) { return '\\x' + num + '\\x00'; } if (num.length == 3) { return '\\x' + num[1] + num[2] + '\\x0' + num[0]; } } let colorList = []; for (let i = 0; i < 12; i++) { let colorRow = ''; let colorNum = 0; for (let j = 0; j < 12; j++) { colorNum += Number(colours[block.getFieldValue((11 - i) + '-' + j)]) * Math.pow(2, j); } colorRow += pad(colorNum.toString(16)); colorList.unshift(colorRow); } var code = "b'" + colorList.join('') + "'"; return [code, generator.ORDER_ATOMIC]; } //mixgo_nova onboard tft below: const onboard_tft_show_image = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_tft.image(" + data + ", color=0xffff)\n"; return code; } const onboard_tft_show_image_xy = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = "onboard_tft.image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = "onboard_tft.image(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_show_image_or_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var op = this.getFieldValue('center'); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = "onboard_tft.shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = "onboard_tft.shows(" + data + ',x = ' + x + ',y = ' + y + ',size = ' + size + ',space = ' + space + ',center = ' + op + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_show_frame_string = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_tft.frame(" + data + ",color=0xffff)\n"; return code; } const onboard_tft_show_frame_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = "onboard_tft.frame(" + data + ',size = ' + size + ',delay = ' + time + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = "onboard_tft.frame(" + data + ',size = ' + size + ',delay = ' + time + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_scroll_string = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_oled'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var code = "onboard_tft.scroll(" + data + ",color=0xffff)\n"; return code; } const onboard_tft_scroll_string_delay = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var time = generator.valueToCode(this, 'time', generator.ORDER_ASSIGNMENT); var space = generator.valueToCode(this, 'space', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = "onboard_tft.scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ',color=' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = "onboard_tft.scroll(" + data + ',y = ' + y + ',size = ' + size + ',speed =' + time + ',space = ' + space + ',color=0x' + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_display_shape_rect = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var w = generator.valueToCode(block, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(block, 'h', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var shape = block.getFieldValue('shape'); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.' + shape + '(' + x + ', ' + y + ', ' + w + ', ' + h + ', ' + color + ')\n' + 'onboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.' + shape + '(' + x + ', ' + y + ', ' + w + ', ' + h + ', 0x' + rgb565.toString(16) + ')\n' + 'onboard_tft.show()\n'; } return code; } const onboard_tft_display_hvline = function (block, generator) { //水平线 var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var var_length = generator.valueToCode(block, 'length', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var hv = block.getFieldValue('dir_h_v'); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.' + (('0' == hv) ? 'v' : 'h') + 'line(' + x + ', ' + y + ', ' + var_length + ', ' + color + ')\n' + 'onboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.' + (('0' == hv) ? 'v' : 'h') + 'line(' + x + ', ' + y + ', ' + var_length + ', 0x' + rgb565.toString(16) + ')\n' + 'onboard_tft.show()\n'; } return code; } const onboard_tft_display_line = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x1 = generator.valueToCode(block, 'x1', generator.ORDER_ATOMIC); var y1 = generator.valueToCode(block, 'y1', generator.ORDER_ATOMIC); var x2 = generator.valueToCode(block, 'x2', generator.ORDER_ATOMIC); var y2 = generator.valueToCode(block, 'y2', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.line(' + x1 + ', ' + y1 + ', ' + x2 + ', ' + y2 + ', ' + color + ')\n' + 'onboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.line(' + x1 + ', ' + y1 + ', ' + x2 + ', ' + y2 + ', 0x' + rgb565.toString(16) + ')\n' + 'onboard_tft.show()\n'; } return code; } const onboard_tft_clear = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var code = 'onboard_tft.fill(0)\n' + 'onboard_tft.show()\n'; return code; } const onboard_tft_shift = function (a, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var op = a.getFieldValue("OP"); var value = generator.valueToCode(a, 'val', generator.ORDER_ATOMIC); var code = 'onboard_tft.' + op + '(' + value + ')\n'; return code; } const onboard_tft_get_pixel = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var value_x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var value_y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var code = 'hex(onboard_tft.pixel(int(' + value_x + '), int(' + value_y + ')))'; return [code, generator.ORDER_ATOMIC]; } const onboard_tft_bright_point = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.pixel(int(' + x + '), int(' + y + '), ' + color + ")\n" + 'onboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.pixel(int(' + x + '), int(' + y + '), 0x' + rgb565.toString(16) + ")\n" + 'onboard_tft.show()\n'; } return code; } const onboard_tft_get_screen_pixel = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var code = 'onboard_tft.get_brightness()'; return [code, generator.ORDER_ATOMIC]; } const onboard_tft_bright_screen = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var code = 'onboard_tft.set_brightness(' + x + ')\n'; return code; } const onboard_tft_fill = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var color = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.fill(' + color + ')\nonboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.fill(0x' + rgb565.toString(16) + ')\nonboard_tft.show()\n'; } return code; } const onboard_tft_clock_init = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_Clock'] = "from " + version + " import Clock"; var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT); var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT); var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = sub + "=Clock(" + x + ',' + y + ',' + size + ',' + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = sub + "=Clock(" + x + ',' + y + ',' + size + ',0x' + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_clock_get_rtctime = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_Clock'] = "from " + version + " import Clock"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT); var code = sub + ".set_rtctime()\n"; return code; } const onboard_tft_clock_set_time = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_Clock'] = "from " + version + " import Clock"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT); var h = generator.valueToCode(this, 'h', generator.ORDER_ASSIGNMENT); var m = generator.valueToCode(this, 'm', generator.ORDER_ASSIGNMENT); var s = generator.valueToCode(this, 's', generator.ORDER_ASSIGNMENT); var code = sub + ".set_time(" + h + ',' + m + ',' + s + ")\n"; return code; } const onboard_tft_clock_draw = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_Clock'] = "from " + version + " import Clock"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT); var code = sub + ".draw_clock()\n"; return code; } const onboard_tft_clock_clear = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_Clock'] = "from " + version + " import Clock"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (color.slice(0, 2) == "0x") { var code = sub + ".clear(" + color + ")\n"; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = sub + ".clear(0x" + rgb565.toString(16) + ")\n"; } return code; } const onboard_tft_display_shape_circle = function (block, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(block, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(block, 'y', generator.ORDER_ATOMIC); var R = generator.valueToCode(block, 'r', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var shape = block.getFieldValue('shape'); if (color.slice(0, 2) == "0x") { var code = 'onboard_tft.ellipse(' + x + ', ' + y + ', ' + R + ', ' + R + ', ' + color + ',' + shape + ')\n' + 'onboard_tft.show()\n'; } else { const rgbValues = color.match(/\d+/g); const r = parseInt(rgbValues[0]); const g = parseInt(rgbValues[1]); const b = parseInt(rgbValues[2]); var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0"); var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3; var code = 'onboard_tft.ellipse(' + x + ', ' + y + ', ' + R + ', ' + R + ', 0x' + rgb565.toString(16) + ',' + shape + ')\n' + 'onboard_tft.show()\n'; } return code; } const draw_pointer = function(_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_'+version+'_onboard_matrix'] = "from "+version+" import onboard_matrix"; var angle = generator.valueToCode(this, 'angle', generator.ORDER_ASSIGNMENT); var code = "onboard_matrix.pointern(angle=" + angle + ")\n"; return code; } /***/ }), /***/ "../micropython/generators/factory.js": /*!********************************************!*\ !*** ../micropython/generators/factory.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ factory_block: () => (/* binding */ factory_block), /* harmony export */ factory_block_return: () => (/* binding */ factory_block_return), /* harmony export */ factory_block_return_with_textarea: () => (/* binding */ factory_block_return_with_textarea), /* harmony export */ factory_block_with_textarea: () => (/* binding */ factory_block_with_textarea), /* harmony export */ factory_callMethod_noreturn: () => (/* binding */ factory_callMethod_noreturn), /* harmony export */ factory_callMethod_return: () => (/* binding */ factory_callMethod_return), /* harmony export */ factory_declare: () => (/* binding */ factory_declare), /* harmony export */ factory_from_import: () => (/* binding */ factory_from_import), /* harmony export */ factory_function_noreturn: () => (/* binding */ factory_function_noreturn), /* harmony export */ factory_function_return: () => (/* binding */ factory_function_return), /* harmony export */ factory_import: () => (/* binding */ factory_import), /* harmony export */ folding_block: () => (/* binding */ folding_block) /* harmony export */ }); const factory_from_import = function (_, generator) { var path = this.getFieldValue('path'); var module = this.getFieldValue('module'); generator.definitions_['import_' + path + '_' + module] = 'from ' + path + ' import ' + module; return ''; } const factory_import = function (_, generator) { var module = this.getFieldValue('module'); generator.definitions_['import_' + module] = 'import ' + module; return ''; } const factory_function_noreturn = function (_, generator) { var NAME = this.getFieldValue('NAME'); var code = new Array(this.itemCount_); for (var n = 0; n < this.itemCount_; n++) { code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || ''; } return NAME + '(' + code.join(', ') + ')\n'; } const factory_function_return = function (_, generator) { var NAME = this.getFieldValue('NAME'); var code = new Array(this.itemCount_); for (var n = 0; n < this.itemCount_; n++) { code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || ''; } return [NAME + '(' + code.join(', ') + ')', generator.ORDER_ATOMIC]; } const factory_declare = function () { var TYPE = this.getFieldValue('TYPE'); var NAME = this.getFieldValue('NAME'); return NAME + ' = ' + TYPE + '()\n'; } const factory_callMethod_noreturn = function (_, generator) { var NAME = this.getFieldValue('NAME'); var METHOD = this.getFieldValue('METHOD'); var code = new Array(this.itemCount_); for (var n = 0; n < this.itemCount_; n++) { code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || ''; } return NAME + '.' + METHOD + '(' + code.join(', ') + ')\n'; } const factory_callMethod_return = function (_, generator) { var NAME = this.getFieldValue('NAME'); var METHOD = this.getFieldValue('METHOD'); var code = new Array(this.itemCount_); for (var n = 0; n < this.itemCount_; n++) { code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || ''; } return [NAME + '.' + METHOD + '(' + code.join(', ') + ')', generator.ORDER_ATOMIC]; } const factory_block = function () { var VALUE = this.getFieldValue('VALUE'); //if(!(VALUE.charAt(VALUE.length-1)==";")){ //VALUE=VALUE+';'; //} return VALUE + '\n'; } const factory_block_return = function (_, generator) { var VALUE = this.getFieldValue('VALUE'); return [VALUE, generator.ORDER_ATOMIC]; } const factory_block_with_textarea = function () { var VALUE = this.getFieldValue('VALUE'); //if(!(VALUE.charAt(VALUE.length-1)==";")){ //VALUE=VALUE+';'; //} return VALUE + '\n'; } const factory_block_return_with_textarea = function (_, generator) { var VALUE = this.getFieldValue('VALUE'); return [VALUE, generator.ORDER_ATOMIC]; } const folding_block = function (_, generator) { var comment = this.getFieldValue('peien'); comment = "#" + comment; var branch = generator.statementToCode(this, 'DO'); branch = branch.replace(/(^\s*)|(\s*$)/g, "");//去除两端空格 branch = branch.replace(/(\n\s\s\s\s)/g, "\n");//去除换行时空格 return comment + '\n' + branch + '\n'; } /***/ }), /***/ "../micropython/generators/inout.js": /*!******************************************!*\ !*** ../micropython/generators/inout.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ inout_analog_atten: () => (/* binding */ inout_analog_atten), /* harmony export */ inout_analog_read: () => (/* binding */ inout_analog_read), /* harmony export */ inout_analog_read_init: () => (/* binding */ inout_analog_read_init), /* harmony export */ inout_analog_write: () => (/* binding */ inout_analog_write), /* harmony export */ inout_analog_write_init: () => (/* binding */ inout_analog_write_init), /* harmony export */ inout_analog_write_set: () => (/* binding */ inout_analog_write_set), /* harmony export */ inout_digital_init: () => (/* binding */ inout_digital_init), /* harmony export */ inout_digital_read: () => (/* binding */ inout_digital_read), /* harmony export */ inout_digital_write: () => (/* binding */ inout_digital_write), /* harmony export */ inout_highlow: () => (/* binding */ inout_highlow), /* harmony export */ inout_pin_attachInterrupt: () => (/* binding */ inout_pin_attachInterrupt), /* harmony export */ inout_pin_pressed: () => (/* binding */ inout_pin_pressed), /* harmony export */ inout_pin_pressed_init: () => (/* binding */ inout_pin_pressed_init), /* harmony export */ inout_pwm_analog_write: () => (/* binding */ inout_pwm_analog_write), /* harmony export */ inout_pwm_analog_write_init: () => (/* binding */ inout_pwm_analog_write_init), /* harmony export */ inout_pwm_analog_write_set_freq: () => (/* binding */ inout_pwm_analog_write_set_freq) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); // ok const inout_highlow = function (_, generator) { // Boolean values HIGH and LOW. var code = (this.getFieldValue('BOOL') == 'HIGH') ? '1' : '0'; return [code, generator.ORDER_ATOMIC]; } // ok const inout_digital_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = ""; code += dropdown_pin + '.value(' + dropdown_stat + ')\n' return code; } // ok const inout_digital_read = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = ""; code = dropdown_pin + '.value()'; return [code, generator.ORDER_ATOMIC]; } // ok const inout_pwm_analog_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //var dropdown_stat = this.getFieldValue('STAT'); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); //generator.setups_['setup_output'+dropdown_pin] = 'pinMode('+dropdown_pin+', OUTPUT);'; var code = dropdown_pin + '.duty_u16(' + value_num + ')\n'; return code; } // ok const inout_analog_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //var dropdown_stat = this.getFieldValue('STAT'); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); //generator.setups_['setup_output'+dropdown_pin] = 'pinMode('+dropdown_pin+', OUTPUT);'; var code = dropdown_pin + '.write(' + value_num + ')\n'; return code; } // ok const inout_analog_write_set = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = dropdown_pin + '.set_analog_' + key + '(' + value_num + ')\n'; //var code = 'pin' + dropdown_pin + '.set_analog_period(' + value_num + ')\n'; return code; } const inout_pwm_analog_write_set_freq = function (_, generator) { //generator.definitions_['import_machine_Pin'] = "from machine import Pin"; // generator.definitions_['import_machine_PWM'] = "from machine import PWM"; generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var code = dropdown_pin + '.freq(' + value_num + ')\n'; //var code = 'pin' + dropdown_pin + '.set_analog_period(' + value_num + ')\n'; return code; } // ok const inout_analog_read = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //generator.setups_['setup_input_'+dropdown_pin] = 'pinMode('+dropdown_pin+', INPUT);'; var code = dropdown_pin + '.read_u16()'; return [code, generator.ORDER_ATOMIC]; } // ok const inout_pin_pressed = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin = generator.valueToCode(this, 'pin', generator.ORDER_ATOMIC); var code = pin + '.read()'; return [code, generator.ORDER_ATOMIC]; } const inout_pin_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'machine.Pin(' + dropdown_pin + ').irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' //var funcName = 'attachInterrupt_func_' + dropdown_pin; //var branch = generator.statementToCode(this, 'DO') || generator.PASS; //var code2 = 'def' + ' ' + funcName + '(p):\n' + branch + '\n'; //generator.setups_[funcName] = code2; return code; } const inout_digital_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'pin#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('MODE'); var varName = (pin_obj == 'pin#') ? 'pin' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.Pin(' + dropdown_pin + ', ' + dropdown_mode + ')\n'; return code; } const inout_pwm_analog_write_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'pwm#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'pwm#') ? 'pwm' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.PWM(machine.Pin(' + dropdown_pin + '))\n'; return code; } // ok const inout_analog_write_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'dac#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'dac#') ? 'dac' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.DAC(machine.Pin(' + dropdown_pin + '))\n'; return code; } const inout_analog_read_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'adc#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'adc#') ? 'adc' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.ADC(machine.Pin(' + dropdown_pin + '))\n'; return code; } const inout_analog_atten = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //var dropdown_stat = this.getFieldValue('STAT'); var value_atten = this.getFieldValue('atten') var code = dropdown_pin + '.atten(' + value_atten + ')\n'; return code; } // ok const inout_pin_pressed_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'tc#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'tc#') ? 'tc' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.TouchPad(machine.Pin(' + dropdown_pin + '))\n'; return code; } /***/ }), /***/ "../micropython/generators/iot.js": /*!****************************************!*\ !*** ../micropython/generators/iot.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE: () => (/* binding */ IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE), /* harmony export */ IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE: () => (/* binding */ IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE), /* harmony export */ IOT_EMQX_PING: () => (/* binding */ IOT_EMQX_PING), /* harmony export */ IOT_FORMATTING: () => (/* binding */ IOT_FORMATTING), /* harmony export */ IOT_FORMAT_STRING: () => (/* binding */ IOT_FORMAT_STRING), /* harmony export */ IOT_MIXIO_NTP: () => (/* binding */ IOT_MIXIO_NTP), /* harmony export */ IOT_MIXIO_PUBLISH: () => (/* binding */ IOT_MIXIO_PUBLISH), /* harmony export */ IOT_MIXIO_SUBSCRIBE: () => (/* binding */ IOT_MIXIO_SUBSCRIBE), /* harmony export */ iot_client_onboard: () => (/* binding */ iot_client_onboard), /* harmony export */ iot_http_client: () => (/* binding */ iot_http_client), /* harmony export */ iot_http_data: () => (/* binding */ iot_http_data), /* harmony export */ iot_mixio_check: () => (/* binding */ iot_mixio_check), /* harmony export */ iot_mixio_connect: () => (/* binding */ iot_mixio_connect), /* harmony export */ iot_mixio_connect_only: () => (/* binding */ iot_mixio_connect_only), /* harmony export */ iot_mixio_disconnect: () => (/* binding */ iot_mixio_disconnect), /* harmony export */ iot_mixio_format_msg: () => (/* binding */ iot_mixio_format_msg), /* harmony export */ iot_mixio_format_topic: () => (/* binding */ iot_mixio_format_topic), /* harmony export */ iot_mixly_key: () => (/* binding */ iot_mixly_key), /* harmony export */ iot_mqtt_client: () => (/* binding */ iot_mqtt_client), /* harmony export */ iot_mqtt_data: () => (/* binding */ iot_mqtt_data), /* harmony export */ iot_onenet_check: () => (/* binding */ iot_onenet_check), /* harmony export */ iot_onenet_connect: () => (/* binding */ iot_onenet_connect), /* harmony export */ iot_onenet_disconnect: () => (/* binding */ iot_onenet_disconnect), /* harmony export */ iot_onenet_publish: () => (/* binding */ iot_onenet_publish), /* harmony export */ iot_onenet_publish_dict: () => (/* binding */ iot_onenet_publish_dict), /* harmony export */ iot_wifi_connect: () => (/* binding */ iot_wifi_connect) /* harmony export */ }); const iot_wifi_connect = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var username = generator.valueToCode(this, 'WIFINAME', generator.ORDER_ATOMIC); var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC); var code = 'mixiot.wlan_connect(' + username + ',' + password + ')\n'; return code; } const iot_onenet_connect = function (_, generator) { generator.definitions_['import_onenet'] = "import onenet"; var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var client = generator.valueToCode(this, 'CLIENT', generator.ORDER_ATOMIC); var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC); var username = generator.valueToCode(this, 'USERNAME', generator.ORDER_ATOMIC); var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC); var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC); var subscribe = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT) || 'None'; var code = v + ' = onenet.init_MQTT_client(' + client + ', ' + server + ', ' + username + ', ' + password + ', ' + topic + ', ' + subscribe + ')\n'; return code; } const iot_onenet_disconnect = function (_, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_onenet'] = "import onenet"; var code = v + '.do_disconnect()\n'; return code; } const iot_onenet_publish_dict = function (_, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var d = generator.valueToCode(this, 'DICT', generator.ORDER_ATOMIC); var check = this.getFieldValue("is_print") == 'TRUE' ? 'True' : 'False'; generator.definitions_['import_onenet'] = "import onenet"; var code = v + '.publish(' + d + ', is_print = ' + check + ')\n'; return code; } const iot_onenet_check = function (_, generator) { var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); generator.definitions_['import_onenet'] = "import onenet"; var code = v + '.check_msg()\n'; return code; } const iot_onenet_publish = function (_, generator) { // Create a list with any number of elements of any type. //var size=window.parseFloat(this.getFieldValue('SIZE')); generator.definitions_['import_onenet'] = "import onenet"; var ck = new Array(this.itemCount_); var cv = new Array(this.itemCount_); var ct = new Array(this.itemCount_); var default_value = '0'; var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); for (let n = 0; n < this.itemCount_; n++) { var keyName = this.getFieldValue('KEY' + n); ck[n] = keyName; } for (let n = 0; n < this.itemCount_; n++) { cv[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value; } var code = v + ".publish({"; for (let n = 0; n < this.itemCount_; n++) { ct[n] = ck[n] + ': ' + cv[n]; } //var code = "c.publish('$dp', pubData("+ '{' + code.join(', ') + '})\n'; //var code =''+varName+'['+size+"]"+'='+ '{' + code.join(', ') + '}\n'; //generator.setups_['setup_lists'+varName] = code; code = code + ct.join(', ') + "})\n"; return code; } const iot_mixio_connect = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; generator.definitions_['import_machine'] = "import machine"; generator.definitions_['import_ubinascii_hexlify'] = "from ubinascii import hexlify"; var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC); var username = generator.valueToCode(this, 'USERNAME', generator.ORDER_ATOMIC); var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC); var project = generator.valueToCode(this, 'PROJECT', generator.ORDER_ATOMIC); //var subscribe = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT) || '0'; 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'; return code; } const IOT_MIXIO_PUBLISH = function (_, generator) { var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC); var msg = generator.valueToCode(this, 'MSG', generator.ORDER_ATOMIC); generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.publish(MQTT_USR_PRJ + ' + topic + ', ' + msg + ')\n'; return code; } const IOT_MIXIO_SUBSCRIBE = function (_, generator) { var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC); var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC); generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.set_callback(' + topic + ',' + method + ', MQTT_USR_PRJ)\n'; code += 'mqtt_client.subscribe(MQTT_USR_PRJ + ' + topic + ')\n'; return code; } const iot_mixio_disconnect = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.disconnect(MQTT_USR_PRJ)\n'; return code; } const iot_mixio_connect_only = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.connect()\n'; return code; } const iot_mixio_check = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.check_msg()\n'; return code; } const iot_mixio_format_topic = function (_, generator) { var code = 'mqtt_client.decode("utf-8").split("/")[-1]'; return [code, generator.ORDER_ATOMIC]; } const iot_mixio_format_msg = function (_, generator) { var code = 'mqtt_client.decode("utf-8")'; return [code, generator.ORDER_ATOMIC]; } const IOT_FORMATTING = function (_, generator) { generator.definitions_['import_mixpy'] = "import mixpy"; var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = 'mixpy.format_content(' + v + ', mqtt_client.client_id)'; return [code, generator.ORDER_ATOMIC]; } const IOT_FORMAT_STRING = function (_, generator) { generator.definitions_['import_mixpy'] = "import mixpy"; var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = 'mixpy.format_str(' + v + ')'; return [code, generator.ORDER_ATOMIC]; } const IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE = function (_, generator) { var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC); // var port = '1883'; var share_code = generator.valueToCode(this, 'KEY', generator.ORDER_ATOMIC); generator.definitions_['import_mixiot'] = "import mixiot"; generator.definitions_['import_machine'] = "import machine"; generator.definitions_['import_urequests'] = "import urequests"; generator.definitions_['import_ubinascii_hexlify'] = "from ubinascii import hexlify"; generator.definitions_['import_mixpy_analyse_sharekey'] = "from mixpy import analyse_sharekey"; // var mac_address = 'str(binascii.hexlify(wifi.radio.mac_address))[2:14]' // var socket_pool = 'socketpool.SocketPool(wifi.radio)' // var ssl_context = 'ssl.create_default_context()' var code = 'sk = analyse_sharekey(\'http://'+server.substring(1, server.length-1)+'/mixio-php/sharekey.php?sk=' + share_code + '\')\n'+ 'MQTT_USR_PRJ = sk[0]+\'/\'+sk[1]+\'/\'\n' + 'mqtt_client = mixiot.init_MQTT_client(' + server + ', sk[0], sk[2]' + ', MQTT_USR_PRJ)\n'; return code; } const iot_mixly_key = function (_, generator) { var code = this.getFieldValue('VISITOR_ID'); return [code, generator.ORDER_ATOMIC]; } const IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; generator.definitions_['import_machine'] = "import machine"; generator.definitions_['import_ubinascii_hexlify'] = "from ubinascii import hexlify"; var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC); // var port = '1883'; var username = '"MixIO_public"'; var password = '"MixIO_public"'; var mixly_code = generator.valueToCode(this, 'KEY', generator.ORDER_ATOMIC); var a = '"MixIO/' + mixly_code + '/default/"' // var mac_address = 'str(binascii.hexlify(wifi.radio.mac_address))[2:14]' // var socket_pool = 'socketpool.SocketPool(wifi.radio)' // var ssl_context = 'ssl.create_default_context()' var code = 'MQTT_USR_PRJ = ' + a + '\n' + 'mqtt_client = mixiot.init_MQTT_client(' + server + ', ' + username + ', ' + password + ', MQTT_USR_PRJ)\n'; return code; } const IOT_EMQX_PING = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var code = 'mqtt_client.pingSync()'; return [code, generator.ORDER_ATOMIC]; } const IOT_MIXIO_NTP = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var code = 'mixiot.ntp(' + addr + ')'; return [code, generator.ORDER_ATOMIC]; } const iot_client_onboard = function (_, generator) { var code = 'mqtt_client'; return [code, generator.ORDER_ATOMIC]; } const iot_http_client = function (_, generator) { generator.definitions_['import_debugnet'] = "import debugnet"; var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = 'HTTP_client = debugnet.request("GET",' + addr + ',debug=' + key + ')\n'; return code; } const iot_http_data = function (_, generator) { generator.definitions_['import_debugnet'] = "import debugnet"; var key = this.getFieldValue('key'); var code = 'HTTP_client.' + key; return [code, generator.ORDER_ATOMIC]; } const iot_mqtt_client = function (_, generator) { generator.definitions_['import_debugnet'] = "import debugnet"; var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var key = this.getFieldValue('key2'); var code = 'mqtt_client = debugnet.init_MQTT_client(' + addr + ', "MixIO_public", "MixIO_public", "MixIO/3QBAGKRL/default/",debug=' + key + ')\n'; code += 'mqtt_client.subscribe("$SYS/hello")\n'; return code; } const iot_mqtt_data = function (_, generator) { generator.definitions_['import_mixiot'] = "import mixiot"; var key = this.getFieldValue('key'); var code = 'mqtt_client.' + key; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/network.js": /*!********************************************!*\ !*** ../micropython/generators/network.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ educore_mqtt_connect: () => (/* binding */ educore_mqtt_connect), /* harmony export */ educore_mqtt_connect_success: () => (/* binding */ educore_mqtt_connect_success), /* harmony export */ educore_mqtt_subscribe_message: () => (/* binding */ educore_mqtt_subscribe_message), /* harmony export */ educore_mqtt_topic_publish: () => (/* binding */ educore_mqtt_topic_publish), /* harmony export */ educore_mqtt_topic_subscribe: () => (/* binding */ educore_mqtt_topic_subscribe), /* harmony export */ educore_wifi_connect: () => (/* binding */ educore_wifi_connect), /* harmony export */ network_ap_connect: () => (/* binding */ network_ap_connect), /* harmony export */ network_connect: () => (/* binding */ network_connect), /* harmony export */ network_get_connect: () => (/* binding */ network_get_connect), /* harmony export */ network_get_wifi: () => (/* binding */ network_get_wifi), /* harmony export */ network_init: () => (/* binding */ network_init), /* harmony export */ network_is_active: () => (/* binding */ network_is_active), /* harmony export */ network_open: () => (/* binding */ network_open), /* harmony export */ network_scan: () => (/* binding */ network_scan), /* harmony export */ network_server: () => (/* binding */ network_server), /* harmony export */ network_socket_accept: () => (/* binding */ network_socket_accept), /* harmony export */ network_socket_bind: () => (/* binding */ network_socket_bind), /* harmony export */ network_socket_close: () => (/* binding */ network_socket_close), /* harmony export */ network_socket_connect: () => (/* binding */ network_socket_connect), /* harmony export */ network_socket_init: () => (/* binding */ network_socket_init), /* harmony export */ network_socket_listen: () => (/* binding */ network_socket_listen), /* harmony export */ network_socket_receive: () => (/* binding */ network_socket_receive), /* harmony export */ network_socket_receive_from: () => (/* binding */ network_socket_receive_from), /* harmony export */ network_socket_send: () => (/* binding */ network_socket_send), /* harmony export */ network_socket_send_to: () => (/* binding */ network_socket_send_to), /* harmony export */ network_stop: () => (/* binding */ network_stop), /* harmony export */ network_wifi_connect: () => (/* binding */ network_wifi_connect), /* harmony export */ ntptime_address: () => (/* binding */ ntptime_address), /* harmony export */ ntptime_time: () => (/* binding */ ntptime_time), /* harmony export */ requests_attribute: () => (/* binding */ requests_attribute), /* harmony export */ requests_attribute2: () => (/* binding */ requests_attribute2), /* harmony export */ requests_get: () => (/* binding */ requests_get), /* harmony export */ requests_get2: () => (/* binding */ requests_get2), /* harmony export */ requests_method: () => (/* binding */ requests_method), /* harmony export */ requests_post: () => (/* binding */ requests_post) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const network_init = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); return "" + varName + " = network.WLAN(network." + mode + "_IF);\n"; } // export const network_connect = function() { // generator.definitions_['import_network'] = "import network"; // // generator.setups_['class_wlan'] ='wlan.active(True)\n'; // var varName =generator.valueToCode(this, 'VAR',generator.ORDER_ATOMIC); // var id = generator.valueToCode(this, 'id', generator.ORDER_ATOMIC); // var password = generator.valueToCode(this, 'password', generator.ORDER_ATOMIC); // return "if not "+varName+".isconnected():\n"+ // " "+varName+".connect("+id+","+password+")\n"+ // " while not "+varName+".isconnected():\n"+ // " pass\n"; // } const network_connect = function (_, generator) { generator.definitions_['import_network'] = "import network"; // generator.setups_['class_wlan'] ='wlan.active(True)\n'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var id = generator.valueToCode(this, 'id', generator.ORDER_ATOMIC); var password = generator.valueToCode(this, 'password', generator.ORDER_ATOMIC); return "" + varName + ".connect(" + id + "," + password + ")\n" } const network_wifi_connect = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = varName + '.isconnected()'; return [code, generator.ORDER_ATOMIC]; } const network_get_connect = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); var code = "" + varName + ".ifconfig()[" + mode + "]"; return [code, generator.ORDER_ATOMIC] } const network_stop = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return "" + varName + ".disconnect()\n"; } const network_open = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var op = this.getFieldValue('op'); var code = "" + varName + ".active(" + op + ")\n"; return code; } const network_is_active = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + varName + ".active()"; return [code, generator.ORDER_ATOMIC]; } const network_get_wifi = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var op = this.getFieldValue('op'); var code = "" + varName + ".config('" + op + "')"; return [code, generator.ORDER_ATOMIC] } const network_ap_connect = function (_, generator) { generator.definitions_['import_network'] = "import network"; // generator.setups_['class_wlan'] ='ap = network.WLAN(network.AP_IF)\n'+'ap.active(True)\n'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var essid = generator.valueToCode(this, 'essid', generator.ORDER_ATOMIC); var channel = generator.valueToCode(this, 'channel', generator.ORDER_ATOMIC); return "" + varName + ".config(essid = " + essid + ", channel = " + channel + ")\n"; } const network_scan = function (_, generator) { generator.definitions_['import_network'] = "import network"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + varName + ".scan()"; return [code, generator.ORDER_ATOMIC]; } const network_server = function (_, generator) { generator.definitions_['import_server_*'] = 'from server import *'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); // generator.setups_['class_wlan'] ='SSID="ying"\n'+'PASSWORD="201411132040"\n'; return 'if not ' + varName + '.isconnected():\n' + ' connectWifi(SSID, PASSWORD)\n' + 'ip=' + varName + '.ifconfig()[0]\n' + 'print(ip)\n' + 'time.sleep(1)\n' + 'DATA=listenData()\n' } const network_socket_init = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var mode = this.getFieldValue('mode'); if (mode == 'UDP') { mode = 'socket.SOCK_DGRAM' } else if (mode == 'TCP') { mode = 'socket.SOCK_STREAM' } return "" + varName + " = socket.socket(socket.AF_INET," + mode + ")\n"; } const network_socket_bind = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var address = generator.valueToCode(this, 'address', generator.ORDER_ATOMIC); return "" + varName + ".bind(" + address + ")\n"; } const network_socket_connect = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var address = generator.valueToCode(this, 'address', generator.ORDER_ATOMIC); return "" + varName + ".connect(socket.getaddrinfo" + address + "[0][-1])\n"; } const network_socket_listen = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var queue = generator.valueToCode(this, 'queue', generator.ORDER_ATOMIC); return "" + varName + ".listen(" + queue + ")\n"; } const network_socket_accept = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + varName + ".accept()"; return [code, generator.ORDER_ASSIGNMENT]; } const network_socket_receive = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var size = generator.valueToCode(this, 'size', generator.ORDER_ATOMIC); var code = "" + varName + ".recv(" + size + ")"; return [code, generator.ORDER_ASSIGNMENT]; } const network_socket_send = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var content = generator.valueToCode(this, 'content', generator.ORDER_ATOMIC); var code = "" + varName + ".send(" + content + ")\n"; return code; } const network_socket_receive_from = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var size = generator.valueToCode(this, 'size', generator.ORDER_ATOMIC); var code = "" + varName + ".recvfrom(" + size + ")"; return [code, generator.ORDER_ASSIGNMENT]; } const network_socket_send_to = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var content = generator.valueToCode(this, 'content', generator.ORDER_ATOMIC); var address = generator.valueToCode(this, 'address', generator.ORDER_ATOMIC); var code = "" + varName + ".sendto(" + content + "," + address + ")\n"; return code; } const network_socket_close = function (_, generator) { generator.definitions_['import_network'] = "import network"; generator.definitions_['import_socket'] = "import socket"; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "" + varName + ".close()\n"; return code; } const requests_get = function (_, generator) { generator.definitions_.import_requests = "import requests"; var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var str = generator.valueToCode(this, 'DOMAIN', generator.ORDER_ATOMIC); var code = varName + '= ' + 'requests.get(' + str + ')\n'; return code; } const requests_attribute = function (_, generator) { generator.definitions_.import_requests = "import requests"; var varName = generator.valueToCode(this, 'VAL', generator.ORDER_ASSIGNMENT) || '0'; var attr = this.getFieldValue('ATTR'); var code = varName + "." + attr; return [code, generator.ORDER_ATOMIC]; } const requests_method = function (_, generator) { generator.definitions_.import_requests = "import requests"; var method = this.getFieldValue('DIR'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "requests." + method + "(" + str + ')\n'; return code; } const ntptime_time = function (_, generator) { generator.definitions_['import_ntptime'] = "import ntptime"; var str = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var code = "ntptime.time(host=" + str + ")"; return [code, generator.ORDER_ATOMIC]; } const ntptime_address = function (_, generator) { var code = "'" + this.getFieldValue('op') + "'"; return [code, generator.ORDER_ATOMIC]; } const requests_get2 = function (_, generator) { generator.definitions_['import_urequests'] = "import urequests"; var dropdown_type = this.getFieldValue('TYPE'); var str = generator.valueToCode(this, 'URL', generator.ORDER_ATOMIC); var code = 'urequests.' + dropdown_type + '(' + str + ')'; return [code, generator.ORDER_ATOMIC]; }; const requests_attribute2 = function (_, generator) { generator.definitions_['import_urequests'] = "import urequests"; var varName = generator.valueToCode(this, 'VAL', generator.ORDER_ASSIGNMENT) || '0'; var attr = this.getFieldValue('ATTR'); var code = varName + "." + attr; return [code, generator.ORDER_ATOMIC]; }; const requests_post = function (_, generator) { generator.definitions_['import_urequests'] = "import urequests"; var dropdown_type = this.getFieldValue('TYPE'); var str = generator.valueToCode(this, 'URL', generator.ORDER_ATOMIC); var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var code = 'urequests.' + dropdown_type + '(' + str + ',data=' + data + ')'; return [code, generator.ORDER_ATOMIC]; }; 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; } 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; } 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]; } 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; } 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; } 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]; } /***/ }), /***/ "../micropython/generators/nova_g1.js": /*!********************************************!*\ !*** ../micropython/generators/nova_g1.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ get_potential_num: () => (/* binding */ get_potential_num), /* harmony export */ nova_g1_motor: () => (/* binding */ nova_g1_motor), /* harmony export */ nova_g1_spk_en: () => (/* binding */ nova_g1_spk_en), /* harmony export */ nova_g1_usb: () => (/* binding */ nova_g1_usb) /* harmony export */ }); const get_potential_num = function (_, generator) { generator.definitions_['from_nova_g1_import_ext_g1'] = 'from nova_g1 import ext_g1'; var code = 'ext_g1.varistor()'; return [code, generator.ORDER_ATOMIC]; } const nova_g1_motor = function (_, generator) { generator.definitions_['from_nova_g1_import_ext_g1'] = 'from nova_g1 import ext_g1'; var wheel = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var v = this.getFieldValue('direction'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var code = "ext_g1.motor(" + wheel + ',"' + v + '",' + speed + ")\n"; return code; } const nova_g1_usb = function (_, generator) { generator.definitions_['from_nova_g1_import_ext_g1'] = 'from nova_g1 import ext_g1'; var p = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var percent = generator.valueToCode(this, 'percent', generator.ORDER_ATOMIC); var code = "ext_g1.usb_pwm(" + p + ',' + percent + ")\n"; return code; } const nova_g1_spk_en = function (_, generator) { generator.definitions_['from_nova_g1_import_ext_g1'] = 'from nova_g1 import ext_g1'; var state = this.getFieldValue('state'); var code = "ext_g1.spk_en(" + state + ")\n"; return code; } /***/ }), /***/ "../micropython/generators/pe_g1.js": /*!******************************************!*\ !*** ../micropython/generators/pe_g1.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ pe_g1_battery_left: () => (/* binding */ pe_g1_battery_left), /* harmony export */ pe_g1_dc_motor: () => (/* binding */ pe_g1_dc_motor), /* harmony export */ pe_g1_dc_motor_speed: () => (/* binding */ pe_g1_dc_motor_speed), /* harmony export */ pe_g1_servo_get_angle: () => (/* binding */ pe_g1_servo_get_angle), /* harmony export */ pe_g1_servo_get_speed: () => (/* binding */ pe_g1_servo_get_speed), /* harmony export */ pe_g1_servo_set_angle: () => (/* binding */ pe_g1_servo_set_angle), /* harmony export */ pe_g1_servo_set_speed: () => (/* binding */ pe_g1_servo_set_speed), /* harmony export */ pe_g1_use_i2c_init: () => (/* binding */ pe_g1_use_i2c_init) /* harmony export */ }); const pe_g1_use_i2c_init = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var code = v + ' = pe_g1.PE_G1(' + iv + ')\n'; return code; } const pe_g1_battery_left = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + '.read_bat()'; return [code, generator.ORDER_ATOMIC]; } const pe_g1_dc_motor = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var s = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var wheel = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var v = this.getFieldValue('direction'); var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var code = s + ".motor(" + wheel + ',"' + v + '",' + speed + ")\n"; return code; } const pe_g1_dc_motor_speed = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var s = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var wheel = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var v = 'NC'; var code = s + ".motor(" + wheel + ',"' + v + '"' + ")\n"; return [code, generator.ORDER_ATOMIC]; } const pe_g1_servo_set_angle = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var code = v + '.servo180(' + dropdown_pin + ',' + num + ')\n'; return code; } const pe_g1_servo_set_speed = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var code = v + '.servo360(' + dropdown_pin + ',' + num + ')\n'; return code; } const pe_g1_servo_get_angle = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = v + '.servo180(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const pe_g1_servo_get_speed = function (_, generator) { generator.definitions_['import_pe_g1'] = 'import pe_g1'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = v + '.servo360(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/pins.js": /*!*****************************************!*\ !*** ../micropython/generators/pins.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ espnow_channel: () => (/* binding */ espnow_channel), /* harmony export */ pins_analog: () => (/* binding */ pins_analog), /* harmony export */ pins_analog_pin: () => (/* binding */ pins_analog_pin), /* harmony export */ pins_axis: () => (/* binding */ pins_axis), /* harmony export */ pins_brightness: () => (/* binding */ pins_brightness), /* harmony export */ pins_builtinimg: () => (/* binding */ pins_builtinimg), /* harmony export */ pins_button: () => (/* binding */ pins_button), /* harmony export */ pins_dac: () => (/* binding */ pins_dac), /* harmony export */ pins_dac_pin: () => (/* binding */ pins_dac_pin), /* harmony export */ pins_digital: () => (/* binding */ pins_digital), /* harmony export */ pins_digital_dot: () => (/* binding */ pins_digital_dot), /* harmony export */ pins_digital_pin: () => (/* binding */ pins_digital_pin), /* harmony export */ pins_exlcdh: () => (/* binding */ pins_exlcdh), /* harmony export */ pins_exlcdv: () => (/* binding */ pins_exlcdv), /* harmony export */ pins_imglist: () => (/* binding */ pins_imglist), /* harmony export */ pins_interrupt: () => (/* binding */ pins_interrupt), /* harmony export */ pins_one_more: () => (/* binding */ pins_one_more), /* harmony export */ pins_playlist: () => (/* binding */ pins_playlist), /* harmony export */ pins_pwm: () => (/* binding */ pins_pwm), /* harmony export */ pins_pwm_pin: () => (/* binding */ pins_pwm_pin), /* harmony export */ pins_radio_datarate: () => (/* binding */ pins_radio_datarate), /* harmony export */ pins_radio_power: () => (/* binding */ pins_radio_power), /* harmony export */ pins_serial: () => (/* binding */ pins_serial), /* harmony export */ pins_tone_notes: () => (/* binding */ pins_tone_notes), /* harmony export */ pins_touch: () => (/* binding */ pins_touch), /* harmony export */ pins_touch_pin: () => (/* binding */ pins_touch_pin) /* harmony export */ }); const pins_digital = function (_, generator) { var code = this.getFieldValue('PIN'); return [code, generator.ORDER_ATOMIC]; } const pins_button = pins_digital; const pins_digital_pin = pins_digital; const pins_analog_pin = pins_digital; const pins_analog = pins_digital; const pins_pwm_pin = pins_digital; const pins_pwm = pins_digital; const pins_dac_pin = pins_digital; const pins_dac = pins_digital; const pins_touch_pin = pins_digital; const pins_touch = pins_digital; const espnow_channel = pins_digital; const pins_interrupt = pins_digital; const pins_serial = pins_digital; const pins_builtinimg = pins_digital; const pins_imglist = pins_digital; const pins_playlist = pins_digital; const pins_axis = pins_digital; const pins_exlcdh = pins_digital; const pins_exlcdv = pins_digital; const pins_brightness = pins_digital; const pins_tone_notes = pins_digital; const pins_radio_power = pins_digital; const pins_radio_datarate = pins_digital; const pins_one_more = pins_digital; const pins_digital_dot = pins_digital; /***/ }), /***/ "../micropython/generators/sensor.js": /*!*******************************************!*\ !*** ../micropython/generators/sensor.js ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ RTC_get_time: () => (/* binding */ RTC_get_time), /* harmony export */ RTC_set_date: () => (/* binding */ RTC_set_date), /* harmony export */ RTC_set_datetime: () => (/* binding */ RTC_set_datetime), /* harmony export */ RTC_set_time: () => (/* binding */ RTC_set_time), /* harmony export */ dht11: () => (/* binding */ dht11), /* harmony export */ number1: () => (/* binding */ number1), /* harmony export */ sensor_adxl345_get_acceleration: () => (/* binding */ sensor_adxl345_get_acceleration), /* harmony export */ sensor_bmp: () => (/* binding */ sensor_bmp), /* harmony export */ sensor_button_get_presses: () => (/* binding */ sensor_button_get_presses), /* harmony export */ sensor_button_is_pressed: () => (/* binding */ sensor_button_is_pressed), /* harmony export */ sensor_button_was_pressed: () => (/* binding */ sensor_button_was_pressed), /* harmony export */ sensor_compass_reset: () => (/* binding */ sensor_compass_reset), /* harmony export */ sensor_dht11: () => (/* binding */ sensor_dht11), /* harmony export */ sensor_distance_hrsc04: () => (/* binding */ sensor_distance_hrsc04), /* harmony export */ sensor_ds18x20: () => (/* binding */ sensor_ds18x20), /* harmony export */ sensor_light: () => (/* binding */ sensor_light), /* harmony export */ sensor_lm35: () => (/* binding */ sensor_lm35), /* harmony export */ sensor_mixgo_button_attachInterrupt: () => (/* binding */ sensor_mixgo_button_attachInterrupt), /* harmony export */ sensor_mixgo_button_get_presses: () => (/* binding */ sensor_mixgo_button_get_presses), /* harmony export */ sensor_mixgo_button_is_pressed: () => (/* binding */ sensor_mixgo_button_is_pressed), /* harmony export */ sensor_mixgo_button_was_pressed: () => (/* binding */ sensor_mixgo_button_was_pressed), /* harmony export */ sensor_mixgo_extern_button_attachInterrupt: () => (/* binding */ sensor_mixgo_extern_button_attachInterrupt), /* harmony export */ sensor_mixgo_extern_button_get_presses: () => (/* binding */ sensor_mixgo_extern_button_get_presses), /* harmony export */ sensor_mixgo_extern_button_is_pressed: () => (/* binding */ sensor_mixgo_extern_button_is_pressed), /* harmony export */ sensor_mixgo_extern_button_was_pressed: () => (/* binding */ sensor_mixgo_extern_button_was_pressed), /* harmony export */ sensor_mixgo_extern_light: () => (/* binding */ sensor_mixgo_extern_light), /* harmony export */ sensor_mixgo_extern_pin_near: () => (/* binding */ sensor_mixgo_extern_pin_near), /* harmony export */ sensor_mixgo_extern_sound: () => (/* binding */ sensor_mixgo_extern_sound), /* harmony export */ sensor_mixgo_light: () => (/* binding */ sensor_mixgo_light), /* harmony export */ sensor_mixgo_pin_near: () => (/* binding */ sensor_mixgo_pin_near), /* harmony export */ sensor_mixgo_pin_pressed: () => (/* binding */ sensor_mixgo_pin_pressed), /* harmony export */ sensor_mpu9250_attachGestureInterrupt: () => (/* binding */ sensor_mpu9250_attachGestureInterrupt), /* harmony export */ sensor_mpu9250_calibrate_compass: () => (/* binding */ sensor_mpu9250_calibrate_compass), /* harmony export */ sensor_mpu9250_field_strength: () => (/* binding */ sensor_mpu9250_field_strength), /* harmony export */ sensor_mpu9250_gesture: () => (/* binding */ sensor_mpu9250_gesture), /* harmony export */ sensor_mpu9250_get_acceleration: () => (/* binding */ sensor_mpu9250_get_acceleration), /* harmony export */ sensor_mpu9250_get_gyro: () => (/* binding */ sensor_mpu9250_get_gyro), /* harmony export */ sensor_mpu9250_get_magnetic: () => (/* binding */ sensor_mpu9250_get_magnetic), /* harmony export */ sensor_mpu9250_temperature: () => (/* binding */ sensor_mpu9250_temperature), /* harmony export */ sensor_pin_near: () => (/* binding */ sensor_pin_near), /* harmony export */ sensor_pin_pressed: () => (/* binding */ sensor_pin_pressed), /* harmony export */ sensor_rtc_init: () => (/* binding */ sensor_rtc_init), /* harmony export */ sensor_sht: () => (/* binding */ sensor_sht), /* harmony export */ sensor_use_i2c_init: () => (/* binding */ sensor_use_i2c_init) /* harmony export */ }); /* harmony import */ var _sensor_onboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sensor_onboard */ "../micropython/generators/sensor_onboard.js"); const sensor_mixgo_button_is_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var code = 'mixgo.' + btn + '.is_pressed()'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mixgo_button_was_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var code = 'mixgo.' + btn + '.was_pressed()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_button_get_presses = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = 'mixgo.' + btn + '.get_presses(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_button_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo'] = 'import mixgo'; var dropdown_btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'mixgo.' + dropdown_btn + '.irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' return code; } //ok const sensor_mixgo_extern_button_is_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').is_pressed(' + dropdown_stat + ')'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mixgo_extern_button_was_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').was_pressed(' + dropdown_stat + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_button_get_presses = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = 'mixgo.Button(' + pin + ').get_presses(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_button_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' return code; } //ok const sensor_mpu9250_attachGestureInterrupt = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var gesture = this.getFieldValue('gesture'); var branch = generator.statementToCode(this, 'DO'); var d = branch || generator.PASS; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = 'if ' + v + '.mpu9250_is_gesture("' + gesture + '"):\n' + d; return code; } const sensor_mpu9250_gesture = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var gesture = this.getFieldValue('gesture'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_is_gesture("' + gesture + '")'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mpu9250_get_acceleration = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_get_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_adxl345_get_acceleration = function (_, generator) { generator.definitions_['import_adxl345'] = 'import adxl345'; // generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code; if (key == 'x') { code = v + '.readX()'; } else if (key == 'y') { code = v + '.readY()'; } else if (key == 'z') { code = v + '.readZ()'; } else if (key == 'values') { code = v + '.readXYZ()'; } return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_get_magnetic = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_magnetic_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_get_gyro = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_gyro_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_calibrate_compass = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return '' + v + '.calibrate()\n'; } const sensor_mpu9250_temperature = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; return [v + '.mpu9250_get_temperature()', generator.ORDER_ATOMIC]; } const sensor_mpu9250_field_strength = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "compass") generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var compass = this.getFieldValue('compass'); var a; if (compass == 'strength') { a = v + '.get_field_strength()'; } else if (compass == 'heading') { a = v + '.heading()'; } return [a, generator.ORDER_ATOMIC]; } const sensor_distance_hrsc04 = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; generator.setups_['class_hrsc04'] = 'class HCSR04:\n' + ' def __init__(self, tpin=pin15, epin=pin14, spin=pin13):\n' + ' self.trigger_pin = tpin\n' + ' self.echo_pin = epin\n' + ' self.sclk_pin = spin\n' + '\n' + ' def distance_mm(self):\n' + ' spi.init(baudrate=125000, sclk=self.sclk_pin,\n' + ' mosi=self.trigger_pin, miso=self.echo_pin)\n' + ' pre = 0\n' + ' post = 0\n' + ' k = -1\n' + ' length = 500\n' + ' resp = bytearray(length)\n' + ' resp[0] = 0xFF\n' + ' spi.write_readinto(resp, resp)\n' + ' # find first non zero value\n' + ' try:\n' + ' i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n' + ' except StopIteration:\n' + ' i = -1\n' + ' if i > 0:\n' + ' pre = bin(value).count("1")\n' + ' # find first non full high value afterwards\n' + ' try:\n' + ' k, value = next((ind, v)\n' + ' for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n' + ' post = bin(value).count("1") if k else 0\n' + ' k = k + i\n' + ' except StopIteration:\n' + ' i = -1\n' + ' dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n' + ' return dist\n' + '\n' + 'sonar=HCSR04()\n' return ['sonar.distance_mm()/10.0', generator.ORDER_ATOMIC]; } const RTC_get_time = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "rtc") generator.definitions_['import_mixgo_rtc'] = 'from mixgo import rtc'; var code = v + '.datetime()'; return [code, generator.ORDER_ATOMIC]; } const RTC_set_time = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var hour = generator.valueToCode(this, "hour", generator.ORDER_ASSIGNMENT); var minute = generator.valueToCode(this, "minute", generator.ORDER_ASSIGNMENT); var second = generator.valueToCode(this, "second", generator.ORDER_ASSIGNMENT); generator.setups_['class_DS1307'] = generator.CLASS_DS1307_INIT; var code = 'str(ds.Hour(' + hour + '))+ str(ds.Minute(' + minute + ')) +str(ds.Second(' + second + '))\n'; return code; } const RTC_set_date = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var year = generator.valueToCode(this, "year", generator.ORDER_ASSIGNMENT); var month = generator.valueToCode(this, "month", generator.ORDER_ASSIGNMENT); var day = generator.valueToCode(this, "day", generator.ORDER_ASSIGNMENT); generator.setups_['class_DS1307'] = generator.CLASS_DS1307_INIT; var code = 'str(ds.Year(' + year + '))+ str(ds.Month(' + month + ')) +str(ds.Day(' + day + '))\n'; return code; } const sensor_compass_reset = function (block, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return '' + v + '.reset_calibrate()\n'; } const HCSR04 = function (_, generator) { generator.definitions_['import_sonar'] = 'import sonar'; var dropdown_pin1 = generator.valueToCode(this, "PIN1", generator.ORDER_ASSIGNMENT); var dropdown_pin2 = generator.valueToCode(this, "PIN2", generator.ORDER_ASSIGNMENT); var code = 'sonar.Sonar(' + dropdown_pin1 + ', ' + dropdown_pin2 + ').checkdist()'; return [code, generator.ORDER_ATOMIC]; } const sensor_dht11 = function (_, generator) { generator.definitions_['import_dhtx'] = 'import dhtx'; var sensor_type = this.getFieldValue('TYPE'); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var what = this.getFieldValue('WHAT'); var code = 'dhtx.get_dht_' + what + "('" + sensor_type + "', " + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_light = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'mixgo.get_brightness(' + pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_sound = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'mixgo.get_soundlevel(' + pin + ')'; return [code, generator.ORDER_ATOMIC]; } const number1 = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'button', generator.ORDER_ATOMIC); var code = 'mixgo.' + pin + '.is_touched()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_pin_near = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'mixgo.' + 'Infrared(' + pin + ')()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_near = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var direction = this.getFieldValue('direction'); var code = 'mixgo.' + 'infrared_' + direction + '()'; return [code, generator.ORDER_ATOMIC]; } const RTC_set_datetime = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var year = generator.valueToCode(this, "year", generator.ORDER_ASSIGNMENT); var month = generator.valueToCode(this, "month", generator.ORDER_ASSIGNMENT); var day = generator.valueToCode(this, "day", generator.ORDER_ASSIGNMENT); var hour = generator.valueToCode(this, "hour", generator.ORDER_ASSIGNMENT); var minute = generator.valueToCode(this, "minute", generator.ORDER_ASSIGNMENT); var second = generator.valueToCode(this, "second", generator.ORDER_ASSIGNMENT); var week = generator.valueToCode(this, "weekday", generator.ORDER_ASSIGNMENT); var millisecond = generator.valueToCode(this, "millisecond", generator.ORDER_ASSIGNMENT); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "rtc") generator.definitions_['import_mixgo_rtc'] = 'from mixgo import rtc'; var code = v + '.datetime((' + year + ',' + month + ',' + day + ',' + week + ',' + hour + ',' + minute + ',' + second + ',' + millisecond + '))\n'; return code; } const sensor_rtc_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; var code = v + ' = machine.RTC()\n'; return code; } const sensor_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_machine'] = 'import machine'; var code; if (key == 'MPU9250') { generator.definitions_['import_mpu9250'] = 'import mpu9250'; code = v + ' = mpu9250.' + key + "(" + iv + ')\n'; } else if (key == 'BMP280') { generator.definitions_['import_bmp280'] = 'import bmp280'; code = v + ' = bmp280.' + key + "(" + iv + ')\n'; } else if (key == 'SHT20') { generator.definitions_['import_sht20'] = 'import sht20'; code = v + ' = sht20.' + key + "(" + iv + ')\n'; } else if (key == 'ADXL345') { generator.definitions_['import_adxl345'] = 'import adxl345'; code = v + ' = adxl345.' + key + "(" + iv + ')\n'; } return code; } const sensor_bmp = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_bmp280'] = 'import bmp280'; var code = v + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_sht = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_sht20'] = 'import sht20'; var code = v + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_ds18x20 = function (_, generator) { generator.definitions_['import_ds18x20x'] = 'import ds18x20x'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'ds18x20x.get_ds18x20_temperature(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_lm35 = function (_, generator) { generator.definitions_['import_lm35'] = 'import lm35'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'lm35.get_LM35_temperature(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_button_is_pressed = sensor_mixgo_button_is_pressed; const sensor_button_was_pressed = sensor_mixgo_button_was_pressed; const sensor_button_get_presses = sensor_mixgo_button_get_presses; const sensor_pin_pressed = sensor_mixgo_pin_pressed; const sensor_pin_near = sensor_mixgo_pin_near; const sensor_mixgo_light = _sensor_onboard__WEBPACK_IMPORTED_MODULE_0__.sensor_LTR308; const sensor_light = sensor_mixgo_light; // export const sensor_get_acceleration = sensor_mixgo_get_acceleration; const dht11 = sensor_dht11; /***/ }), /***/ "../micropython/generators/sensor_extern.js": /*!**************************************************!*\ !*** ../micropython/generators/sensor_extern.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CI130X_BROADCAST: () => (/* binding */ CI130X_BROADCAST), /* harmony export */ CI130X_GET_THE_RECOGNIZED_CMD: () => (/* binding */ CI130X_GET_THE_RECOGNIZED_CMD), /* harmony export */ CI130X_GET_WHETHER_IDENTIFY: () => (/* binding */ CI130X_GET_WHETHER_IDENTIFY), /* harmony export */ CI130X_IDENTIFY_AND_SAVE: () => (/* binding */ CI130X_IDENTIFY_AND_SAVE), /* harmony export */ CI130X_SET_SYSTEM_CMD: () => (/* binding */ CI130X_SET_SYSTEM_CMD), /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ PS2_Button: () => (/* binding */ PS2_Button), /* harmony export */ PS2_Buttons: () => (/* binding */ PS2_Buttons), /* harmony export */ PS2_Buttons_new: () => (/* binding */ PS2_Buttons_new), /* harmony export */ PS2_State: () => (/* binding */ PS2_State), /* harmony export */ PS2_init: () => (/* binding */ PS2_init), /* harmony export */ PS2_init_new: () => (/* binding */ PS2_init_new), /* harmony export */ PS2_stk: () => (/* binding */ PS2_stk), /* harmony export */ PS2_stk_new: () => (/* binding */ PS2_stk_new), /* harmony export */ PS2_vibration: () => (/* binding */ PS2_vibration), /* harmony export */ PS2_vibration_new: () => (/* binding */ PS2_vibration_new), /* harmony export */ RTC_get_time: () => (/* binding */ RTC_get_time), /* harmony export */ RTC_set_date: () => (/* binding */ RTC_set_date), /* harmony export */ RTC_set_datetime: () => (/* binding */ RTC_set_datetime), /* harmony export */ RTC_set_time: () => (/* binding */ RTC_set_time), /* harmony export */ camera_sensor_init: () => (/* binding */ camera_sensor_init), /* harmony export */ camera_sensor_result: () => (/* binding */ camera_sensor_result), /* harmony export */ educore_body_sensor: () => (/* binding */ educore_body_sensor), /* harmony export */ educore_button_sensor_extern: () => (/* binding */ educore_button_sensor_extern), /* harmony export */ educore_camera_sensor: () => (/* binding */ educore_camera_sensor), /* harmony export */ educore_infrared_sensor: () => (/* binding */ educore_infrared_sensor), /* harmony export */ educore_soilhum_sensor: () => (/* binding */ educore_soilhum_sensor), /* harmony export */ educore_temp_sensor: () => (/* binding */ educore_temp_sensor), /* harmony export */ educore_temphum_sensor: () => (/* binding */ educore_temphum_sensor), /* harmony export */ educore_ultrasonic_sensor: () => (/* binding */ educore_ultrasonic_sensor), /* harmony export */ esp32_s2_weather_init: () => (/* binding */ esp32_s2_weather_init), /* harmony export */ esp32_s2_weather_rain: () => (/* binding */ esp32_s2_weather_rain), /* harmony export */ esp32_s2_weather_wd: () => (/* binding */ esp32_s2_weather_wd), /* harmony export */ esp32_s2_weather_ws: () => (/* binding */ esp32_s2_weather_ws), /* harmony export */ extern_rfid_read: () => (/* binding */ extern_rfid_read), /* harmony export */ extern_rfid_readcontent: () => (/* binding */ extern_rfid_readcontent), /* harmony export */ extern_rfid_readid: () => (/* binding */ extern_rfid_readid), /* harmony export */ extern_rfid_status: () => (/* binding */ extern_rfid_status), /* harmony export */ extern_rfid_write: () => (/* binding */ extern_rfid_write), /* harmony export */ extern_rfid_write_return: () => (/* binding */ extern_rfid_write_return), /* harmony export */ gnss_get_data: () => (/* binding */ gnss_get_data), /* harmony export */ gnss_have_data: () => (/* binding */ gnss_have_data), /* harmony export */ interaction_whether_to_interaction: () => (/* binding */ interaction_whether_to_interaction), /* harmony export */ interaction_whether_to_interaction_SANT: () => (/* binding */ interaction_whether_to_interaction_SANT), /* harmony export */ mixbot_sensor_extern_get_addr: () => (/* binding */ mixbot_sensor_extern_get_addr), /* harmony export */ mixbot_sensor_extern_set_addr: () => (/* binding */ mixbot_sensor_extern_set_addr), /* harmony export */ pm25_get_data: () => (/* binding */ pm25_get_data), /* harmony export */ radar_set_DETECTION_THRESHOLD: () => (/* binding */ radar_set_DETECTION_THRESHOLD), /* harmony export */ radar_set_DETECTION_THRESHOLD_SANT: () => (/* binding */ radar_set_DETECTION_THRESHOLD_SANT), /* harmony export */ robot_button_extern_get_value: () => (/* binding */ robot_button_extern_get_value), /* harmony export */ robot_color_extern_get_value: () => (/* binding */ robot_color_extern_get_value), /* harmony export */ robot_infrared_extern_get_value: () => (/* binding */ robot_infrared_extern_get_value), /* harmony export */ robot_infrared_extern_grey_get_value: () => (/* binding */ robot_infrared_extern_grey_get_value), /* harmony export */ robot_potentiometer_extern_get_value: () => (/* binding */ robot_potentiometer_extern_get_value), /* harmony export */ robot_sonar_extern_get_value: () => (/* binding */ robot_sonar_extern_get_value), /* harmony export */ robot_sonar_extern_led: () => (/* binding */ robot_sonar_extern_led), /* harmony export */ robot_touch_extern_get_value: () => (/* binding */ robot_touch_extern_get_value), /* harmony export */ sensor_APDS9960_extern: () => (/* binding */ sensor_APDS9960_extern), /* harmony export */ sensor_DS18X20: () => (/* binding */ sensor_DS18X20), /* harmony export */ sensor_LTR308_extern: () => (/* binding */ sensor_LTR308_extern), /* harmony export */ sensor_LTR390UV_extern: () => (/* binding */ sensor_LTR390UV_extern), /* harmony export */ sensor_MAX30102_extern: () => (/* binding */ sensor_MAX30102_extern), /* harmony export */ sensor_QMC5883L_extern: () => (/* binding */ sensor_QMC5883L_extern), /* harmony export */ sensor_VL530LX_extern: () => (/* binding */ sensor_VL530LX_extern), /* harmony export */ sensor_aht11_extern: () => (/* binding */ sensor_aht11_extern), /* harmony export */ sensor_bmp: () => (/* binding */ sensor_bmp), /* harmony export */ sensor_dht11: () => (/* binding */ sensor_dht11), /* harmony export */ sensor_distance_hrsc04: () => (/* binding */ sensor_distance_hrsc04), /* harmony export */ sensor_hp203_extern: () => (/* binding */ sensor_hp203_extern), /* harmony export */ sensor_ltr381_extern: () => (/* binding */ sensor_ltr381_extern), /* harmony export */ sensor_mixgo_extern_button_attachInterrupt: () => (/* binding */ sensor_mixgo_extern_button_attachInterrupt), /* harmony export */ sensor_mixgo_extern_button_get_presses: () => (/* binding */ sensor_mixgo_extern_button_get_presses), /* harmony export */ sensor_mixgo_extern_button_is_pressed: () => (/* binding */ sensor_mixgo_extern_button_is_pressed), /* harmony export */ sensor_mixgo_extern_button_was_pressed: () => (/* binding */ sensor_mixgo_extern_button_was_pressed), /* harmony export */ sensor_mixgo_extern_light: () => (/* binding */ sensor_mixgo_extern_light), /* harmony export */ sensor_mixgo_extern_pin_near: () => (/* binding */ sensor_mixgo_extern_pin_near), /* harmony export */ sensor_mixgo_extern_sound: () => (/* binding */ sensor_mixgo_extern_sound), /* harmony export */ sensor_mixgoce_hot_wheel_degrees: () => (/* binding */ sensor_mixgoce_hot_wheel_degrees), /* harmony export */ sensor_mixgoce_hot_wheel_is_touched: () => (/* binding */ sensor_mixgoce_hot_wheel_is_touched), /* harmony export */ sensor_mpu9250_attachGestureInterrupt: () => (/* binding */ sensor_mpu9250_attachGestureInterrupt), /* harmony export */ sensor_read_humiture: () => (/* binding */ sensor_read_humiture), /* harmony export */ sensor_rtc_init: () => (/* binding */ sensor_rtc_init), /* harmony export */ sensor_sht: () => (/* binding */ sensor_sht), /* harmony export */ sensor_shtc3_extern: () => (/* binding */ sensor_shtc3_extern), /* harmony export */ sensor_spl06_001_extern: () => (/* binding */ sensor_spl06_001_extern), /* harmony export */ sensor_ucs12071_extern: () => (/* binding */ sensor_ucs12071_extern), /* harmony export */ sensor_use_i2c_init: () => (/* binding */ sensor_use_i2c_init), /* harmony export */ sensor_use_spi_init: () => (/* binding */ sensor_use_spi_init), /* harmony export */ sensor_use_uart_init: () => (/* binding */ sensor_use_uart_init), /* harmony export */ sensor_weather_solo_init: () => (/* binding */ sensor_weather_solo_init), /* harmony export */ sensor_weather_solo_rain: () => (/* binding */ sensor_weather_solo_rain), /* harmony export */ sensor_weather_solo_wd: () => (/* binding */ sensor_weather_solo_wd), /* harmony export */ sensor_weather_solo_ws: () => (/* binding */ sensor_weather_solo_ws), /* harmony export */ sensor_weigh_init: () => (/* binding */ sensor_weigh_init), /* harmony export */ ultrasonic_sensor_read_distance: () => (/* binding */ ultrasonic_sensor_read_distance), /* harmony export */ weather_data: () => (/* binding */ weather_data), /* harmony export */ weather_have_data: () => (/* binding */ weather_have_data), /* harmony export */ weather_set_label: () => (/* binding */ weather_set_label), /* harmony export */ weather_uart_mixio: () => (/* binding */ weather_uart_mixio), /* harmony export */ weigh_sensor_get_weight: () => (/* binding */ weigh_sensor_get_weight) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const sensor_mixgo_extern_button_is_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').is_pressed(' + dropdown_stat + ')'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mixgo_extern_button_was_pressed = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').was_pressed(' + dropdown_stat + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_button_get_presses = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = 'mixgo.Button(' + pin + ').get_presses(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_button_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'mixgo.Button(' + pin + ').irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' return code; } const sensor_mpu9250_attachGestureInterrupt = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var gesture = this.getFieldValue('gesture'); var branch = generator.statementToCode(this, 'DO'); var d = branch || generator.PASS; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = 'if ' + v + '.mpu9250_is_gesture("' + gesture + '"):\n' + d; return code; } const sensor_distance_hrsc04 = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; generator.setups_['class_hrsc04'] = 'class HCSR04:\n' + ' def __init__(self, tpin=pin15, epin=pin14, spin=pin13):\n' + ' self.trigger_pin = tpin\n' + ' self.echo_pin = epin\n' + ' self.sclk_pin = spin\n' + '\n' + ' def distance_mm(self):\n' + ' spi.init(baudrate=125000, sclk=self.sclk_pin,\n' + ' mosi=self.trigger_pin, miso=self.echo_pin)\n' + ' pre = 0\n' + ' post = 0\n' + ' k = -1\n' + ' length = 500\n' + ' resp = bytearray(length)\n' + ' resp[0] = 0xFF\n' + ' spi.write_readinto(resp, resp)\n' + ' # find first non zero value\n' + ' try:\n' + ' i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n' + ' except StopIteration:\n' + ' i = -1\n' + ' if i > 0:\n' + ' pre = bin(value).count("1")\n' + ' # find first non full high value afterwards\n' + ' try:\n' + ' k, value = next((ind, v)\n' + ' for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n' + ' post = bin(value).count("1") if k else 0\n' + ' k = k + i\n' + ' except StopIteration:\n' + ' i = -1\n' + ' dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n' + ' return dist\n' + '\n' + 'sonar=HCSR04()\n' return ['sonar.distance_mm()/10.0', generator.ORDER_ATOMIC]; } const RTC_set_time = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var hour = generator.valueToCode(this, "hour", generator.ORDER_ASSIGNMENT); var minute = generator.valueToCode(this, "minute", generator.ORDER_ASSIGNMENT); var second = generator.valueToCode(this, "second", generator.ORDER_ASSIGNMENT); generator.setups_['class_DS1307'] = generator.CLASS_DS1307_INIT; var code = 'str(ds.Hour(' + hour + '))+ str(ds.Minute(' + minute + ')) +str(ds.Second(' + second + '))\n'; return code; } const RTC_set_date = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var year = generator.valueToCode(this, "year", generator.ORDER_ASSIGNMENT); var month = generator.valueToCode(this, "month", generator.ORDER_ASSIGNMENT); var day = generator.valueToCode(this, "day", generator.ORDER_ASSIGNMENT); generator.setups_['class_DS1307'] = generator.CLASS_DS1307_INIT; var code = 'str(ds.Year(' + year + '))+ str(ds.Month(' + month + ')) +str(ds.Day(' + day + '))\n'; return code; } const sensor_mixgo_extern_light = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'mixgo.get_brightness(' + pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_sound = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'mixgo.get_soundlevel(' + pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_extern_pin_near = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var direction = this.getFieldValue('direction'); var code = 'mixgo.' + 'infrared_' + direction + '.near()'; return [code, generator.ORDER_ATOMIC]; } const sensor_rtc_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; var code = v + ' = machine.RTC()\n'; return code; } const sensor_bmp = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_bmp280'] = 'import bmp280'; var code = v + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_sht = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_sht20'] = 'import sht20'; var code = v + '.' + key; return [code, generator.ORDER_ATOMIC]; } //pe const sensor_use_i2c_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code; if (key == 'MPU9250') { generator.definitions_['import_mpu9250'] = 'import mpu9250'; code = v + ' = mpu9250.' + key + "(" + iv + ')\n'; } else if (key == 'BMP280') { generator.definitions_['import_bmp280'] = 'import bmp280'; code = v + ' = bmp280.' + key + "(" + iv + ')\n'; } else if (key == 'SHT20') { generator.definitions_['import_sht20'] = 'import sht20'; code = v + ' = sht20.' + key + "(" + iv + ')\n'; } else if (key == 'ADXL345') { generator.definitions_['import_adxl345'] = 'import adxl345'; code = v + ' = adxl345.' + key + "(" + iv + ')\n'; } else if (key == 'LTR308') { generator.definitions_['import_ltr308al'] = 'import ltr308al'; code = v + ' = ltr308al.LTR_308ALS(' + iv + ')\n'; } else if (key == 'LTR381RGB') { generator.definitions_['import_ltr381rgb'] = 'import ltr381rgb'; code = v + ' = ltr381rgb.LTR_381RGB(' + iv + ')\n'; } else if(key == 'UCS12071'){ generator.definitions_['import_ucs12071'] = 'import ucs12071'; code = v + ' = ucs12071.UCS12071(' + iv + ')\n'; } else if (key == 'LTR390UV'){ generator.definitions_['import_ltr390uv'] = 'import ltr390uv'; code = v + ' = ltr390uv.ALS_UVS(' + iv +')\n'; } else if (key == 'HP203X') { generator.definitions_['import_hp203x'] = 'import hp203x'; code = v + ' = hp203x.HP203X(' + iv + ')\n'; } else if(key == "SPL06_001"){ generator.definitions_['import_spl06_001'] = 'import spl06_001'; code = v + ' = spl06_001.SPL06(' + iv + ')\n'; } else if (key == 'SHTC3') { generator.definitions_['import_shtc3'] = 'import shtc3'; code = v + ' = shtc3.' + key + "(" + iv + ')\n'; } else if (key == 'AHT21') { generator.definitions_['import_ahtx0'] = 'import ahtx0'; code = v + ' = ahtx0.AHTx0(' + iv + ')\n'; } else if (key == 'VL53L0X') { generator.definitions_['import_vl53l0x'] = 'import vl53l0x'; code = v + ' = vl53l0x.' + key + "(" + iv + ')\n'; } else if (key == 'QMC5883L') { generator.definitions_['import_qmc5883l'] = 'import qmc5883l'; code = v + ' = qmc5883l.Compass(' + iv + ')\n'; } else if (key == 'MAX30102') { generator.definitions_['import_max30102'] = 'import max30102'; code = v + ' = max30102.MAX30102(' + iv + ')\n'; } else if (key == 'APDS9960') { generator.definitions_['import_apds9960'] = 'import apds9960'; code = v + ' = apds9960.APDS9960(' + iv + ')\n'; } else if (key == 'RFID') { generator.definitions_['import_rc522'] = 'import rc522'; code = v + ' = rc522.RC522(' + iv + ')\n'; }else if (key == 'CBR817') { generator.definitions_['import_cbr817'] = 'import cbr817'; code = v + ' = cbr817.' + key + "(" + iv + ')\n'; }else if (key == 'CI130X'){ generator.definitions_['import_ci130x'] = 'import ci130x'; code = v + ' = ci130x.' + key + "(" + iv + ')\n'; } return code; } const radar_set_DETECTION_THRESHOLD = function (_, generator) { generator.definitions_['import_cbr817'] = 'import cbr817'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var value2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var code = sub + '.threshold(' + value +')\n'+sub + '.delay_ms(' + value2 +')\n'; return code; } const radar_set_DETECTION_THRESHOLD_SANT = function (_, generator) { generator.definitions_['import_sant_g2_ext_mmw'] = 'from sant_g2 import ext_mmw'; var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var value2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC); var code = 'ext_mmw.threshold(' + value +')\n'+ 'ext_mmw.delay_ms(' + value2 +')\n'; return code; } const interaction_whether_to_interaction = function(_,generator){ generator.definitions_['import_cbr817'] = 'import cbr817'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub+'.result()'; return [code,generator.ORDER_ATOMIC]; } const interaction_whether_to_interaction_SANT = function(_,generator){ generator.definitions_['import_sant_g2_ext_mmw'] = 'from sant_g2 import ext_mmw'; var code = 'ext_mmw.result()'; return [code,generator.ORDER_ATOMIC]; } const CI130X_IDENTIFY_AND_SAVE = function(_,generator){ generator.definitions_['import_ci130x'] = 'import ci130x'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub+'.cmd_id()\n'; return code; } const CI130X_GET_WHETHER_IDENTIFY = function(_,generator){ generator.definitions_['import_ci130x'] = 'import ci130x'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var cmd = this.getFieldValue('cmd'); var code = sub+'.result('+cmd+')'; return [code,generator.ORDER_ATOMIC]; } const CI130X_GET_THE_RECOGNIZED_CMD = function(_,generator){ generator.definitions_['import_ci130x'] = 'import ci130x'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); if(key == 'status1'){ var code = sub+'.status()[0]'; }else if(key == 'status2'){ var code = sub+'.status()[1]'; }else{ var code = sub+'.'+key +'()'; } return [code,generator.ORDER_ATOMIC]; } const CI130X_BROADCAST = function(_,generator){ generator.definitions_['import_ci130x'] = 'import ci130x'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var star = this.getFieldValue('star'); var end = this.getFieldValue('end'); var code = sub+'.play('+star+','+num+','+end+')\n'; return code; } const CI130X_SET_SYSTEM_CMD = function(_,generator){ generator.definitions_['import_ci130x'] = 'import ci130x'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var cmd = this.getFieldValue('cmd'); var code = sub+'.sys_cmd('+cmd+')\n'; return code; } const sensor_MAX30102_extern = function (_, generator) { generator.definitions_['import_max30102'] = 'import max30102'; var key = this.getFieldValue('key'); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.heartrate()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_APDS9960_extern = function (_, generator) { generator.definitions_['import_apds9960'] = 'import apds9960'; var key = this.getFieldValue('key'); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_LTR308_extern = function (_, generator) { generator.definitions_['import_ltr308al'] = 'import ltr308al'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.getdata()'; return [code, generator.ORDER_ATOMIC]; } const sensor_hp203_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_hp203x'] = 'import hp203x'; var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_spl06_001_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_spl06_001'] = 'import spl06_001'; var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_ltr381_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_ltr381rgb'] = 'import ltr381rgb'; var code = sub + '.getdata()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_ucs12071_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_ucs12071'] = 'import ucs12071'; if (key == '0'){ var code = sub + '.color()'; } else if(key == '1'){ var code = sub + '.color_raw()'; } else if(key == '2'){ var code = sub + '.als()'; } else{ var code = sub + '.ir()'; } return [code, generator.ORDER_ATOMIC]; } const sensor_LTR390UV_extern = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_time'] = 'import time'; generator.definitions_['import_ltr390uv'] = 'import ltr390uv'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); if (key == 'E') { var code = sub + '.ambient_light()'; } else { var code = sub + '.ultraviolet()'; } return [code, generator.ORDER_ATOMIC]; } const sensor_QMC5883L_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_qmc5883l'] = 'import qmc5883l'; var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_shtc3_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_shtc3'] = 'import shtc3'; var code = sub + '.' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_aht11_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_ahtx0'] = 'import ahtx0'; var code = sub + '.' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_VL530LX_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_vl53l0x'] = 'import vl53l0x'; var code = sub + '.read()'; return [code, generator.ORDER_ATOMIC]; } const sensor_use_spi_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sv = generator.valueToCode(this, 'SPISUB', generator.ORDER_ATOMIC); var pv = generator.valueToCode(this, 'PINSUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code; if (key == 'RFID') { generator.definitions_['import_rc522'] = 'import rc522'; var code = v + ' = rc522.RC522(' + sv + ',' + pv + ')\n'; } else if (key == 'Weather') { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; generator.definitions_['import_ws_lora'] = 'import ws_lora'; if (version == 'mixgo_pe') { var code = v + ' = ws_lora.Weather(' + sv + ',' + pv + ')\n'; } else if (version == 'mixgo_nova') { var code = v + ' = ws_lora.Weather(' + sv + ',' + pv + ',' + version + '.onboard_i2c_soft' + ')\n'; } else { var code = v + ' = ws_lora.Weather(' + sv + ',' + pv + ',' + version + '.onboard_i2c' + ')\n'; } } return code; } const extern_rfid_read = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.read_card(' + sector + ',"' + key + '")'; return [code, generator.ORDER_ATOMIC]; } const extern_rfid_readid = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.read_card(0, x="id")'; return [code, generator.ORDER_ATOMIC]; } const extern_rfid_readcontent = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.read_card(' + sector + ')'; return [code, generator.ORDER_ATOMIC]; } const extern_rfid_write = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.write_card(' + cnt + ',' + sector + ')\n'; return code; } const extern_rfid_write_return = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.write_card(' + cnt + ',' + sector + ')'; return [code, generator.ORDER_ATOMIC]; } const extern_rfid_status = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_rc522'] = 'import rc522'; var code = sub + '.scan_card()==' + key; return [code, generator.ORDER_ATOMIC]; } const weather_data = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_ws_lora'] = 'import ws_lora'; var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const weather_have_data = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_ws_lora'] = 'import ws_lora'; var code = sub + '.any()'; return [code, generator.ORDER_ATOMIC]; } const weather_uart_mixio = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var base = generator.valueToCode(this, 'BASE', generator.ORDER_ATOMIC); generator.definitions_['import_ws_lora'] = 'import ws_lora'; var code = sub + '.uart_mixio(topic=' + base + ')\n'; return code; } const weather_set_label = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_ws_lora'] = 'import ws_lora'; 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; } var code = sub + '.label(' + code.join(', ') + ')\n'; return code; } const sensor_mixgoce_hot_wheel_is_touched = function (_, generator) { var key = this.getFieldValue('key'); var stat = this.getFieldValue('stat'); generator.definitions_['import_tpwheel'] = 'import tpwheel'; var code = 'tpwheel.TouchPadWheels(' + key + ').' + stat; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgoce_hot_wheel_degrees = function (_, generator) { generator.definitions_['import_tpwheel'] = 'import tpwheel'; var code = 'tpwheel.hot_wheels_degree()'; return [code, generator.ORDER_ATOMIC]; } const esp32_s2_weather_init = function (_, generator) { generator.definitions_['import_weather'] = 'import weather'; generator.definitions_['import_board_*'] = 'from board import *'; var wd = generator.valueToCode(this, 'wd', generator.ORDER_ATOMIC); var ws = generator.valueToCode(this, 'ws', generator.ORDER_ATOMIC); var rain = generator.valueToCode(this, 'rain', generator.ORDER_ATOMIC); var code = "wd = weather.Weather_wd(" + wd + ")\n" code += "ws = weather.Weather_ws(" + ws + ")\n" code += "rain = weather.Weather_rain(" + rain + ")\n" return code; } const esp32_s2_weather_wd = function (_, generator) { generator.definitions_['import_weather'] = 'import weather'; var code = 'wd.wind_direction()'; return [code, generator.ORDER_ATOMIC]; } const esp32_s2_weather_rain = function (_, generator) { generator.definitions_['import_weather'] = 'import weather'; var rain = generator.valueToCode(this, 'rain', generator.ORDER_ATOMIC); var code = 'rain.rain_count(time_Hour=' + rain + ')'; return [code, generator.ORDER_ATOMIC]; } const esp32_s2_weather_ws = function (_, generator) { generator.definitions_['import_weather'] = 'import weather'; var key = this.getFieldValue('key'); if (key == 'ALL') { var code = 'ws.wind_speed()'; } else { var code = 'ws.wind_speed()[' + key + ']'; } return [code, generator.ORDER_ATOMIC]; } const HCSR04 = function (_, generator) { generator.definitions_['import_sonar'] = 'import sonar'; var dropdown_pin1 = generator.valueToCode(this, "PIN1", generator.ORDER_ASSIGNMENT); var dropdown_pin2 = generator.valueToCode(this, "PIN2", generator.ORDER_ASSIGNMENT); var code = 'sonar.Sonar(' + dropdown_pin1 + ',' + dropdown_pin2 + ').checkdist()'; return [code, generator.ORDER_ATOMIC]; } const PS2_init = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; //generator.definitions_['import_board'] = 'import board'; var PS2_CLK = this.getFieldValue('PS2_CLK'); var PS2_DOU = this.getFieldValue('PS2_DOU'); var PS2_DIN = this.getFieldValue('PS2_DIN'); var PS2_CS = this.getFieldValue('PS2_CS'); var code = 'mixgope_ps = ps2.PS2Controller(' + PS2_CLK + ',' + PS2_DOU + ',' + PS2_DIN + ',' + PS2_CS + ')\n'; return code; } const PS2_vibration = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var ss = this.getFieldValue('smotorstate'); var amp = generator.valueToCode(this, 'AMP', generator.ORDER_ATOMIC); var code = "mixgope_ps.PS2_vibration(" + ss + ',' + amp + ")\n"; return code; } const PS2_Button = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var bt = this.getFieldValue('psbt'); var code = "mixgope_ps.PS2_keydata()[0] & (ps2." + bt + ")"; return [code, generator.ORDER_ATOMIC]; } const PS2_Buttons = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var bt = this.getFieldValue('psbt'); var code = "ps2." + bt; return [code, generator.ORDER_ATOMIC]; } const PS2_State = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var bt = this.getFieldValue('btstate'); var code = "mixgope_ps.PS2_keydata()[" + bt + "]"; return [code, generator.ORDER_ATOMIC]; } const PS2_stk = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var stk = this.getFieldValue('psstk'); var code = "mixgope_ps.PS2_keydata()[1][" + stk + "]"; return [code, generator.ORDER_ATOMIC]; } const RTC_set_datetime = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var year = generator.valueToCode(this, "year", generator.ORDER_ASSIGNMENT); var month = generator.valueToCode(this, "month", generator.ORDER_ASSIGNMENT); var day = generator.valueToCode(this, "day", generator.ORDER_ASSIGNMENT); var hour = generator.valueToCode(this, "hour", generator.ORDER_ASSIGNMENT); var minute = generator.valueToCode(this, "minute", generator.ORDER_ASSIGNMENT); var second = generator.valueToCode(this, "second", generator.ORDER_ASSIGNMENT); var week = generator.valueToCode(this, "weekday", generator.ORDER_ASSIGNMENT); var millisecond = generator.valueToCode(this, "millisecond", generator.ORDER_ASSIGNMENT); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "rtc") generator.definitions_['import_mixgo_rtc'] = 'from mixgo import rtc'; var code = v + '.datetime((' + year + ',' + month + ',' + day + ',' + week + ',' + hour + ',' + minute + ',' + second + ',' + millisecond + '))\n'; return code; } const RTC_get_time = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "rtc") generator.definitions_['import_mixgo_rtc'] = 'from mixgo import rtc'; var code = v + '.datetime()'; return [code, generator.ORDER_ATOMIC]; } const sensor_dht11 = function (_, generator) { generator.definitions_['import_dhtx'] = 'import dhtx'; var sensor_type = this.getFieldValue('TYPE'); var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var what = this.getFieldValue('WHAT'); var code = 'dhtx.' + sensor_type + "(" + dropdown_pin + ').' + what + '()'; return [code, generator.ORDER_ATOMIC]; } const PS2_init_new = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; //generator.definitions_['import_board'] = 'import board'; var PS2_CLK = generator.valueToCode(this, 'CLK', generator.ORDER_ATOMIC); var PS2_DOU = generator.valueToCode(this, 'DOU', generator.ORDER_ATOMIC); var PS2_DIN = generator.valueToCode(this, 'DIN', generator.ORDER_ATOMIC); var PS2_CS = generator.valueToCode(this, 'CS', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + ' = ps2.PS2Controller(' + PS2_CLK + ',' + PS2_DOU + ',' + PS2_DIN + ',' + PS2_CS + ')\n'; return code; } const PS2_vibration_new = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var ss = this.getFieldValue('smotorstate'); var amp = generator.valueToCode(this, 'AMP', generator.ORDER_ATOMIC); var code = sub + ".vibration(" + ss + ',' + amp + ")\n"; return code; } const PS2_Buttons_new = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bt = this.getFieldValue('psbt'); var code = sub + '.button(ps2.' + bt + ')'; return [code, generator.ORDER_ATOMIC]; } const PS2_stk_new = function (_, generator) { generator.definitions_['import_ps2'] = 'import ps2'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var stk = this.getFieldValue('psstk'); var code = sub + ".analog(ps2.PSS_" + stk + ")"; return [code, generator.ORDER_ATOMIC]; } const sensor_use_uart_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var s = this.getFieldValue('sensor'); var code = '' if (s == 'PM') { generator.definitions_['import_pm2_5'] = 'import pm2_5'; code = v + '=pm2_5.PM2_5(' + key + ')\n'; } else if (s == 'GNSS') { generator.definitions_['import_gnss'] = 'import gnss'; code = v + '=gnss.NMEA0183(' + key + ')\n'; } return code; } const pm25_get_data = function (_, generator) { generator.definitions_['import_pm2_5'] = 'import pm2_5'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var pm = this.getFieldValue('pm'); var code = v + ".concentration()" + pm; return [code, generator.ORDER_ATOMIC]; } const gnss_get_data = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); generator.definitions_['import_gnss'] = 'import gnss'; var code = sub + '.' + key; return [code, generator.ORDER_ATOMIC]; } const gnss_have_data = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_gnss'] = 'import gnss'; var code = sub + '.any()'; return [code, generator.ORDER_ATOMIC]; } //mixbot/feiyi extern below: const robot_button_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var num = this.getFieldValue('num'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_button'] = 'from mixbot_ext import ext_button'; var code = 'ext_button.value(' + mode + ")" + num; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_button'] = 'ext_button_left = i2cdevice.Buttonx5(ext_i2c_left)'; var code = 'ext_button_left.value()' + num; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_button'] = 'ext_button_right = i2cdevice.Buttonx5(ext_i2c_right)'; var code = 'ext_button_right.value()' + num; } return [code, generator.ORDER_ATOMIC]; } } const robot_touch_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_collision'] = 'from mixbot_ext import ext_collision'; var code = 'ext_collision.value(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_collision'] = 'ext_collision_left = i2cdevice.Button(ext_i2c_left)'; var code = 'ext_collision_left.value()'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_collision'] = 'ext_collision_right = i2cdevice.Button(ext_i2c_right)'; var code = 'ext_collision_right.value()'; } return [code, generator.ORDER_ATOMIC]; } } const robot_infrared_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixbot') { var mode = this.getFieldValue('mode'); generator.definitions_['import_mixbot_ext_ext_infrared'] = 'from mixbot_ext import ext_infrared'; var code = 'ext_infrared.value(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { var mode = this.getFieldValue('mode'); generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51'; var code = 'onboard_bot51.read_ps(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } } const robot_infrared_extern_grey_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_grey_near'] = 'ext_grey_near_left = i2cdevice.Infrared(ext_i2c_left)'; var code = 'ext_grey_near_left.value()'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_grey_near'] = 'ext_grey_near_right = i2cdevice.Infrared(ext_i2c_right)'; var code = 'ext_grey_near_right.value()'; } return [code, generator.ORDER_ATOMIC]; } } const robot_potentiometer_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_potentiometer'] = 'from mixbot_ext import ext_potentiometer'; var code = 'ext_potentiometer.value(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_potentiometer'] = 'ext_potentiometer_left = i2cdevice.Dimmer(ext_i2c_left)'; var code = 'ext_potentiometer_left.value()'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_potentiometer'] = 'ext_potentiometer_right = i2cdevice.Dimmer(ext_i2c_right)'; var code = 'ext_potentiometer_right.value()'; } return [code, generator.ORDER_ATOMIC]; } } const robot_color_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var color = this.getFieldValue('color'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_color'] = 'from mixbot_ext import ext_color'; var code = 'ext_color.recognition(' + mode + ")" + color; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_color'] = 'ext_color_left = i2cdevice.Color_ID(ext_i2c_left)'; var code = 'ext_color_left.recognition()' + color; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_color'] = 'ext_color_right = i2cdevice.Color_ID(ext_i2c_right)'; var code = 'ext_color_right.recognition()' + color; } return [code, generator.ORDER_ATOMIC]; } } const robot_sonar_extern_get_value = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_sonar'] = 'from mixbot_ext import ext_sonar'; var code = 'ext_sonar.value(' + mode + ")"; return [code, generator.ORDER_ATOMIC]; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_sonar'] = 'ext_sonar_left = i2cdevice.Sonar(ext_i2c_left)'; var code = 'ext_sonar_left.value()'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_sonar'] = 'ext_sonar_right = i2cdevice.Sonar(ext_i2c_right)'; var code = 'ext_sonar_right.value()'; } return [code, generator.ORDER_ATOMIC]; } } const robot_sonar_extern_led = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var mode = this.getFieldValue('mode'); var light = generator.valueToCode(this, 'light', generator.ORDER_ATOMIC); var op = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); if (version == 'mixbot') { generator.definitions_['import_mixbot_ext_ext_sonar'] = 'from mixbot_ext import ext_sonar'; var code = 'ext_sonar.led(' + mode + ',' + light + ',' + op + ")\n"; return code; } else if (version == 'feiyi') { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_i2cdevice'] = 'import i2cdevice'; if (mode == "0") { generator.definitions_['import_left_ext_i2c'] = 'ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)'; generator.definitions_['import_left_sonar'] = 'ext_sonar_left = i2cdevice.Sonar(ext_i2c_left)'; var code = 'ext_sonar_left.led(0,' + light + ',' + op + ')\n'; } else if (mode == "1") { generator.definitions_['import_right_ext_i2c'] = 'ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)'; generator.definitions_['import_right_sonar'] = 'ext_sonar_right = i2cdevice.Sonar(ext_i2c_right)'; var code = 'ext_sonar_right.led(0,' + light + ',' + op + ')\n'; } return code; } } const mixbot_sensor_extern_get_addr = function (_, generator) { var name = this.getFieldValue('name'); generator.definitions_['import_mixbot_ext_' + name] = 'from mixbot_ext import ' + name; var code = name + '.addr_get()'; return [code, generator.ORDER_ATOMIC]; } const mixbot_sensor_extern_set_addr = function (_, generator) { var name = this.getFieldValue('name'); generator.definitions_['import_mixbot_ext_' + name] = 'from mixbot_ext import ' + name; var oldaddr = generator.valueToCode(this, 'old', generator.ORDER_ATOMIC); var newaddr = generator.valueToCode(this, 'new', generator.ORDER_ATOMIC); var code = name + '.addr_set(' + oldaddr + ',' + newaddr + ')\n'; return code; } const sensor_weather_solo_init = function (_, generator) { generator.definitions_['import_ws_solo'] = 'import ws_solo'; var wd = generator.valueToCode(this, 'wd', generator.ORDER_ATOMIC); var ws = generator.valueToCode(this, 'ws', generator.ORDER_ATOMIC); var rain = generator.valueToCode(this, 'rain', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + ' = ws_solo.Weather_Solo(' + wd + ', ' + ws + ', ' + rain + ')\n'; return code; } const sensor_weather_solo_wd = function (_, generator) { generator.definitions_['import_ws_solo'] = 'import ws_solo'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.wind_direction()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const sensor_weather_solo_ws = function (_, generator) { generator.definitions_['import_ws_solo'] = 'import ws_solo'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.wind_speed()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const sensor_weather_solo_rain = function (_, generator) { generator.definitions_['import_ws_solo'] = 'import ws_solo'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var time = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = sub + '.rain_count(' + time + ')' + key + ''; return [code, generator.ORDER_ATOMIC]; } const sensor_DS18X20 = function(_, generator){ generator.definitions_['import_DS18X20'] = 'from ds18b20 import DS18X20'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code ='DS18X20('+dropdown_pin+').temperature()'; return [code, generator.ORDER_ATOMIC]; }; //educore sensor_extern 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } 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]; } const sensor_weigh_init = function (_, generator) { generator.definitions_['import_hx270'] = 'import hx720'; var sck = generator.valueToCode(this, 'sck', generator.ORDER_ATOMIC); var dat = generator.valueToCode(this, 'dat', generator.ORDER_ATOMIC); var pc = generator.valueToCode(this, 'pc', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + ' = hx720.HX720(' + sck + ', ' + dat + ', ' + pc + ')\n'; return code; } const weigh_sensor_get_weight = function (_, generator) { generator.definitions_['import_hx270'] = 'import hx720'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = v + ".read_weight(10)"; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/sensor_onboard.js": /*!***************************************************!*\ !*** ../micropython/generators/sensor_onboard.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CI130X_BROADCAST_SANT: () => (/* binding */ CI130X_BROADCAST_SANT), /* harmony export */ CI130X_GET_THE_RECOGNIZED_CMD_SANT: () => (/* binding */ CI130X_GET_THE_RECOGNIZED_CMD_SANT), /* harmony export */ CI130X_GET_WHETHER_IDENTIFY_SANT: () => (/* binding */ CI130X_GET_WHETHER_IDENTIFY_SANT), /* harmony export */ CI130X_IDENTIFY_AND_SAVE_SANT: () => (/* binding */ CI130X_IDENTIFY_AND_SAVE_SANT), /* harmony export */ CI130X_SET_SYSTEM_CMD_SANT: () => (/* binding */ CI130X_SET_SYSTEM_CMD_SANT), /* harmony export */ HCSR04: () => (/* binding */ HCSR04), /* harmony export */ bitbot_als_num: () => (/* binding */ bitbot_als_num), /* harmony export */ dht11: () => (/* binding */ dht11), /* harmony export */ educore_button_sensor: () => (/* binding */ educore_button_sensor), /* harmony export */ educore_button_was_pressed: () => (/* binding */ educore_button_was_pressed), /* harmony export */ educore_gyroscope_sensor: () => (/* binding */ educore_gyroscope_sensor), /* harmony export */ educore_gyroscope_sensor_read: () => (/* binding */ educore_gyroscope_sensor_read), /* harmony export */ educore_gyroscope_sensor_shake: () => (/* binding */ educore_gyroscope_sensor_shake), /* harmony export */ educore_light_sensor: () => (/* binding */ educore_light_sensor), /* harmony export */ educore_rfid_sensor: () => (/* binding */ educore_rfid_sensor), /* harmony export */ educore_rfid_sensor_scan: () => (/* binding */ educore_rfid_sensor_scan), /* harmony export */ educore_rfid_sensor_scan_data: () => (/* binding */ educore_rfid_sensor_scan_data), /* harmony export */ educore_voice_sensor: () => (/* binding */ educore_voice_sensor), /* harmony export */ number1: () => (/* binding */ number1), /* harmony export */ number2: () => (/* binding */ number2), /* harmony export */ number3: () => (/* binding */ number3), /* harmony export */ number4: () => (/* binding */ number4), /* harmony export */ number5: () => (/* binding */ number5), /* harmony export */ number6: () => (/* binding */ number6), /* harmony export */ number7: () => (/* binding */ number7), /* harmony export */ onboard_RTC_get_time: () => (/* binding */ onboard_RTC_get_time), /* harmony export */ onboard_RTC_get_time_str: () => (/* binding */ onboard_RTC_get_time_str), /* harmony export */ onboard_RTC_get_timestamp: () => (/* binding */ onboard_RTC_get_timestamp), /* harmony export */ onboard_RTC_get_timetuple_to_str: () => (/* binding */ onboard_RTC_get_timetuple_to_str), /* harmony export */ onboard_RTC_set_datetime: () => (/* binding */ onboard_RTC_set_datetime), /* harmony export */ onboard_RTC_settime_string: () => (/* binding */ onboard_RTC_settime_string), /* harmony export */ onboard_RTC_timestamp_totuple: () => (/* binding */ onboard_RTC_timestamp_totuple), /* harmony export */ rfid_readcontent: () => (/* binding */ rfid_readcontent), /* harmony export */ rfid_readid: () => (/* binding */ rfid_readid), /* harmony export */ rfid_write: () => (/* binding */ rfid_write), /* harmony export */ rfid_write_return: () => (/* binding */ rfid_write_return), /* harmony export */ sensor_LTR308: () => (/* binding */ sensor_LTR308), /* harmony export */ sensor_adxl345_get_acceleration: () => (/* binding */ sensor_adxl345_get_acceleration), /* harmony export */ sensor_aht11: () => (/* binding */ sensor_aht11), /* harmony export */ sensor_bitbot_ALS: () => (/* binding */ sensor_bitbot_ALS), /* harmony export */ sensor_button_get_presses: () => (/* binding */ sensor_button_get_presses), /* harmony export */ sensor_button_is_pressed: () => (/* binding */ sensor_button_is_pressed), /* harmony export */ sensor_button_was_pressed: () => (/* binding */ sensor_button_was_pressed), /* harmony export */ sensor_compass_reset: () => (/* binding */ sensor_compass_reset), /* harmony export */ sensor_ds18x20: () => (/* binding */ sensor_ds18x20), /* harmony export */ sensor_eulerangles: () => (/* binding */ sensor_eulerangles), /* harmony export */ sensor_get_acceleration: () => (/* binding */ sensor_get_acceleration), /* harmony export */ sensor_get_temperature: () => (/* binding */ sensor_get_temperature), /* harmony export */ sensor_hp203: () => (/* binding */ sensor_hp203), /* harmony export */ sensor_light: () => (/* binding */ sensor_light), /* harmony export */ sensor_lm35: () => (/* binding */ sensor_lm35), /* harmony export */ sensor_mixbot_get_gyro: () => (/* binding */ sensor_mixbot_get_gyro), /* harmony export */ sensor_mixbot_patrol_calibrate: () => (/* binding */ sensor_mixbot_patrol_calibrate), /* harmony export */ sensor_mixbot_patrol_value: () => (/* binding */ sensor_mixbot_patrol_value), /* harmony export */ sensor_mixbot_temperature: () => (/* binding */ sensor_mixbot_temperature), /* harmony export */ sensor_mixgo_LTR308: () => (/* binding */ sensor_mixgo_LTR308), /* harmony export */ sensor_mixgo_button_attachInterrupt: () => (/* binding */ sensor_mixgo_button_attachInterrupt), /* harmony export */ sensor_mixgo_button_get_presses: () => (/* binding */ sensor_mixgo_button_get_presses), /* harmony export */ sensor_mixgo_button_is_pressed: () => (/* binding */ sensor_mixgo_button_is_pressed), /* harmony export */ sensor_mixgo_button_was_pressed: () => (/* binding */ sensor_mixgo_button_was_pressed), /* harmony export */ sensor_mixgo_cc_mmc5603_calibrate_compass: () => (/* binding */ sensor_mixgo_cc_mmc5603_calibrate_compass), /* harmony export */ sensor_mixgo_cc_mmc5603_get_angle: () => (/* binding */ sensor_mixgo_cc_mmc5603_get_angle), /* harmony export */ sensor_mixgo_cc_mmc5603_get_magnetic: () => (/* binding */ sensor_mixgo_cc_mmc5603_get_magnetic), /* harmony export */ sensor_mixgo_light: () => (/* binding */ sensor_mixgo_light), /* harmony export */ sensor_mixgo_nova_LTR308: () => (/* binding */ sensor_mixgo_nova_LTR308), /* harmony export */ sensor_mixgo_nova_pin_near: () => (/* binding */ sensor_mixgo_nova_pin_near), /* harmony export */ sensor_mixgo_pin_near: () => (/* binding */ sensor_mixgo_pin_near), /* harmony export */ sensor_mixgo_pin_near_double: () => (/* binding */ sensor_mixgo_pin_near_double), /* harmony export */ sensor_mixgo_pin_near_single: () => (/* binding */ sensor_mixgo_pin_near_single), /* harmony export */ sensor_mixgo_pin_pressed: () => (/* binding */ sensor_mixgo_pin_pressed), /* harmony export */ sensor_mixgo_sant_color: () => (/* binding */ sensor_mixgo_sant_color), /* harmony export */ sensor_mixgo_touch_slide: () => (/* binding */ sensor_mixgo_touch_slide), /* harmony export */ sensor_mixgocar42_button_attachInterrupt: () => (/* binding */ sensor_mixgocar42_button_attachInterrupt), /* harmony export */ sensor_mixgocar42_button_get_presses: () => (/* binding */ sensor_mixgocar42_button_get_presses), /* harmony export */ sensor_mixgocar42_button_is_pressed: () => (/* binding */ sensor_mixgocar42_button_is_pressed), /* harmony export */ sensor_mixgocar42_button_was_pressed: () => (/* binding */ sensor_mixgocar42_button_was_pressed), /* harmony export */ sensor_mixgocar_battery_left: () => (/* binding */ sensor_mixgocar_battery_left), /* harmony export */ sensor_mixgocar_pin_near: () => (/* binding */ sensor_mixgocar_pin_near), /* harmony export */ sensor_mixgocar_pin_near_line: () => (/* binding */ sensor_mixgocar_pin_near_line), /* harmony export */ sensor_mixgocar_pin_near_state_change: () => (/* binding */ sensor_mixgocar_pin_near_state_change), /* harmony export */ sensor_mixgoce_pin_pressed: () => (/* binding */ sensor_mixgoce_pin_pressed), /* harmony export */ sensor_mixgoce_temperature: () => (/* binding */ sensor_mixgoce_temperature), /* harmony export */ sensor_mixgome_temperature: () => (/* binding */ sensor_mixgome_temperature), /* harmony export */ sensor_mpu9250_calibrate_compass: () => (/* binding */ sensor_mpu9250_calibrate_compass), /* harmony export */ sensor_mpu9250_field_strength: () => (/* binding */ sensor_mpu9250_field_strength), /* harmony export */ sensor_mpu9250_gesture: () => (/* binding */ sensor_mpu9250_gesture), /* harmony export */ sensor_mpu9250_get_acceleration: () => (/* binding */ sensor_mpu9250_get_acceleration), /* harmony export */ sensor_mpu9250_get_gyro: () => (/* binding */ sensor_mpu9250_get_gyro), /* harmony export */ sensor_mpu9250_get_magnetic: () => (/* binding */ sensor_mpu9250_get_magnetic), /* harmony export */ sensor_mpu9250_temperature: () => (/* binding */ sensor_mpu9250_temperature), /* harmony export */ sensor_mpython_pin_pressed: () => (/* binding */ sensor_mpython_pin_pressed), /* harmony export */ sensor_mpython_qmi8658_get_gyro: () => (/* binding */ sensor_mpython_qmi8658_get_gyro), /* harmony export */ sensor_mpython_qmi8658_temperature: () => (/* binding */ sensor_mpython_qmi8658_temperature), /* harmony export */ sensor_onboard_compass_reset: () => (/* binding */ sensor_onboard_compass_reset), /* harmony export */ sensor_onboard_mpu9250_calibrate_compass: () => (/* binding */ sensor_onboard_mpu9250_calibrate_compass), /* harmony export */ sensor_onboard_mpu9250_field_strength: () => (/* binding */ sensor_onboard_mpu9250_field_strength), /* harmony export */ sensor_onboard_mpu9250_gesture: () => (/* binding */ sensor_onboard_mpu9250_gesture), /* harmony export */ sensor_onboard_mpu9250_get_acceleration: () => (/* binding */ sensor_onboard_mpu9250_get_acceleration), /* harmony export */ sensor_onboard_mpu9250_get_gyro: () => (/* binding */ sensor_onboard_mpu9250_get_gyro), /* harmony export */ sensor_onboard_mpu9250_get_magnetic: () => (/* binding */ sensor_onboard_mpu9250_get_magnetic), /* harmony export */ sensor_onboard_mpu9250_temperature: () => (/* binding */ sensor_onboard_mpu9250_temperature), /* harmony export */ sensor_pin_near: () => (/* binding */ sensor_pin_near), /* harmony export */ sensor_pin_pressed: () => (/* binding */ sensor_pin_pressed), /* harmony export */ sensor_read: () => (/* binding */ sensor_read), /* harmony export */ sensor_rm_acc: () => (/* binding */ sensor_rm_acc), /* harmony export */ sensor_rm_battery_left: () => (/* binding */ sensor_rm_battery_left), /* harmony export */ sensor_rm_pin_near_double: () => (/* binding */ sensor_rm_pin_near_double), /* harmony export */ sensor_sound: () => (/* binding */ sensor_sound) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _sensor_extern_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sensor_extern.js */ "../micropython/generators/sensor_extern.js"); const sensor_mixgo_button_is_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var code = version + '.' + btn + '.is_pressed()'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mixgo_button_was_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var code = version + '.' + btn + '.was_pressed()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_button_get_presses = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = version + '.' + btn + '.get_presses(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_button_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var dropdown_btn = generator.valueToCode(this, 'btn', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = version + '.' + dropdown_btn + '.irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' return code; } //ok const sensor_mixgocar42_button_is_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var code = version + '.' + 'button.is_pressed()'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mixgocar42_button_was_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var code = version + '.' + 'button.was_pressed()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgocar42_button_get_presses = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = version + '.' + 'button.get_presses(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgocar42_button_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = version + '.' + 'button.irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' return code; } const HCSR04 = function (_, generator) { generator.definitions_['import_sonar'] = 'import sonar'; var dropdown_pin1 = generator.valueToCode(this, "PIN1", generator.ORDER_ASSIGNMENT); var dropdown_pin2 = generator.valueToCode(this, "PIN2", generator.ORDER_ASSIGNMENT); var code = 'sonar.Sonar(' + dropdown_pin1 + ', ' + dropdown_pin2 + ').checkdist()'; return [code, generator.ORDER_ATOMIC]; } const number1 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number2 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number3 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number4 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number5 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number6 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const number7 = function (_, generator) { var code = this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_near_single = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_als'] = "from " + version + " import onboard_als"; var code = 'onboard_als.ps_nl()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_near_double = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var direction = this.getFieldValue('direction'); var code = version + '.' + 'infrared_' + direction + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_near = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als'; var code = 'onboard_als.ps()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_nova_pin_near = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var direction = this.getFieldValue('direction'); generator.definitions_['import_' + version + '_' + direction] = 'from ' + version + ' import onboard_als_' + direction; var code = 'onboard_als_' + direction + '.ps_nl()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_LTR308 = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als'; var code = 'onboard_als.als()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_sant_color = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als'; var code = 'onboard_als.color()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_nova_LTR308 = function (_, generator) { var direction = this.getFieldValue('direction'); generator.definitions_['import_' + version + '_' + direction] = 'from ' + version + ' import onboard_als_' + direction; var code = 'onboard_als_' + direction + '.als_vis()'; return [code, generator.ORDER_ATOMIC]; } const sensor_ds18x20 = function (_, generator) { generator.definitions_['import_ds18x20x'] = 'import ds18x20x'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'ds18x20x.get_ds18x20_temperature(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_lm35 = function (_, generator) { generator.definitions_['import_lm35'] = 'import lm35'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = 'lm35.get_LM35_temperature(' + dropdown_pin + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_LTR308 = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo") { generator.definitions_['import_mixgo'] = 'import mixgo'; return ['mixgo.get_brightness()', generator.ORDER_ATOMIC]; } else if (version == "mixgo_ce") { generator.definitions_['import_mixgo_ce'] = 'import mixgo_ce'; return ['mixgo_ce.get_brightness()', generator.ORDER_ATOMIC]; } else if (version == "mpython") { generator.definitions_['import_mpython_onboard_light'] = 'from mpython import onboard_light'; return ['onboard_light.brightness()', generator.ORDER_ATOMIC]; } generator.definitions_['import_' + version + '_onboard_als'] = "from " + version + " import onboard_als"; var code = 'onboard_als.als_vis()'; return [code, generator.ORDER_ATOMIC]; // else{return ['', generator.ORDER_ATOMIC];} } const sensor_sound = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixbot') { generator.definitions_['import_' + version + '_sound'] = 'from ' + version + ' import sound'; var code = 'sound.loudness()'; } else if (version == 'mixgo_zero') { generator.definitions_['import_mixgo_zero_voice_sound_level'] = "from mixgo_zero_voice import sound_level"; var code = 'sound_level()'; } else if (version == 'mixgo_nova') { generator.definitions_['import_mixgo_nova_voice_sound_level'] = "from mixgo_nova_voice import sound_level"; var code = 'sound_level()'; } else if (version == "mixgo") { generator.definitions_['import_mixgo'] = 'import mixgo'; return ['mixgo.get_soundlevel()', generator.ORDER_ATOMIC]; } else if (version == "mpython") { generator.definitions_['import_mpython_onboard_sound'] = 'from mpython import onboard_sound'; return ['onboard_sound.soundlevel()', generator.ORDER_ATOMIC]; } else if (version == "mixgo_mini") { generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot'; var code = 'onboard_bot.soundlevel()'; } else { generator.definitions_['import_' + version + '_onboard_sound'] = 'from ' + version + ' import onboard_sound'; var code = 'onboard_sound.read()'; } return [code, generator.ORDER_ATOMIC]; } // export const sensor_mixgo_nova_sound = function (_, generator) { // var version = Boards.getSelectedBoardKey().split(':')[2] // return [code, generator.ORDER_ATOMIC]; // } const sensor_hp203 = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var key = this.getFieldValue('key'); if (version == "mixgo_mini") { generator.definitions_['import_mixgo_mini_onboard_i2c'] = 'from mixgo_mini import onboard_i2c'; generator.definitions_['import_spl06_001'] = 'import spl06_001'; generator.definitions_['import_onboard_bps'] = 'onboard_bps = spl06_001.SPL06(onboard_i2c)'; } else { generator.definitions_['import_' + version + '_onboard_bps'] = "from " + version + " import onboard_bps"; } var code = 'onboard_bps.' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_aht11 = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var key = this.getFieldValue('key'); if (version == 'mixgo_nova' || version == 'mixgo_zero') { generator.definitions_['import_' + version + '_onboard_ths'] = "from " + version + " import onboard_ths"; } else if (version == 'mixgo_mini') { generator.definitions_['import_mixgo_mini_onboard_i2c'] = 'from mixgo_mini import onboard_i2c'; generator.definitions_['import_shtc3'] = 'import shtc3'; generator.definitions_['import_onboard_ths'] = 'onboard_ths = shtc3.SHTC3(onboard_i2c)'; } else { generator.definitions_['import_' + version + '_onboard_ths'] = "from " + version + " import onboard_ths"; } var code = 'onboard_ths.' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_get_temperature = function (_, generator) { generator.definitions_['import_feiyi_onboard_acc'] = 'from feiyi import onboard_acc'; return ['onboard_acc.temperature()', generator.ORDER_ATOMIC]; } const rfid_readid = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid"; var code = 'onboard_rfid.read_card(0, x="id")'; return [code, generator.ORDER_ATOMIC]; } const rfid_readcontent = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid"; var code = 'onboard_rfid.read_card(' + sector + ', x="content")'; return [code, generator.ORDER_ATOMIC]; } const rfid_write = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid"; var code = 'onboard_rfid.write_card(' + cnt + ',' + sector + ')\n'; return code; } const rfid_write_return = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); generator.definitions_['import_' + version + '_onboard_rfid'] = "from " + version + " import onboard_rfid"; var code = 'onboard_rfid.write_card(' + cnt + ',' + sector + ')'; return [code, generator.ORDER_ATOMIC]; } const sensor_get_acceleration = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var key = this.getFieldValue('key'); if (key == 'strength') { if (version == 'mixbot') { generator.definitions_['import_' + version + '_acc_gyr'] = 'from ' + version + ' import acc_gyr'; var code = 'acc_gyr.strength()'; } else { generator.definitions_['import_' + version + '_onboard_acc'] = "from " + version + " import onboard_acc"; var code = 'onboard_acc.strength()'; } return [code, generator.ORDER_ATOMIC]; } if (version == 'mixbot') { generator.definitions_['import_' + version + '_acc_gyr'] = 'from ' + version + ' import acc_gyr'; var code = 'acc_gyr.accelerometer()' + key; } else if (version == 'mpython') { generator.definitions_['import_mpython_motion'] = 'from mpython import motion'; var code = 'motion.accelerometer()' + key; } else { generator.definitions_['import_' + version + '_onboard_acc'] = "from " + version + " import onboard_acc"; var code = 'onboard_acc.acceleration()' + key; } return [code, generator.ORDER_ATOMIC]; } const sensor_eulerangles = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_acc'] = "from " + version + " import onboard_acc"; var angle = this.getFieldValue('angle'); var code = 'onboard_acc.eulerangles()' + angle; return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_gesture = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var gesture = this.getFieldValue('gesture'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_is_gesture("' + gesture + '")'; return [code, generator.ORDER_ATOMIC]; } //ok const sensor_mpu9250_get_acceleration = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_get_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgoce_pin_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var pin = generator.valueToCode(this, 'button', generator.ORDER_ATOMIC); if ( true) { generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot'; var code = 'onboard_bot.touched(' + pin + ')'; }else { var code; } return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_touch_slide = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixgo_mini'|| version == 'mixgo_sant') { generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot'; var code = 'onboard_bot.touch_slide()'; } else { generator.definitions_['import_' + version] = 'import ' + version; var code = version + '.touch_slide(3,4)'; } return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_pin_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version] = 'import ' + version; var pin = generator.valueToCode(this, 'button', generator.ORDER_ATOMIC); var code = version + '.' + pin + '.is_touched()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mpython_pin_pressed = function (_, generator) { generator.definitions_['import_mpython'] = 'import mpython'; var pin = generator.valueToCode(this, 'button', generator.ORDER_ATOMIC); var code = 'mpython.touch_' + pin + '.is_touched()'; return [code, generator.ORDER_ATOMIC]; } const sensor_adxl345_get_acceleration = function (_, generator) { generator.definitions_['import_adxl345'] = 'import adxl345'; // generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code; if (key == 'x') { code = v + '.readX()'; } else if (key == 'y') { code = v + '.readY()'; } else if (key == 'z') { code = v + '.readZ()'; } else if (key == 'values') { code = v + '.readXYZ()'; } return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_get_magnetic = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_magnetic_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_get_gyro = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; var code = v + '.mpu9250_gyro_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mpu9250_calibrate_compass = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return '' + v + '.calibrate()\n'; } const sensor_mpu9250_temperature = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "mpu") generator.definitions_['import_mixgo_mpu'] = 'from mixgo import mpu'; return [v + '.mpu9250_get_temperature()', generator.ORDER_ATOMIC]; } const sensor_mpu9250_field_strength = function (_, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); if (v == "compass") generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var compass = this.getFieldValue('compass'); var a; if (compass == 'strength') { a = v + '.get_field_strength()'; } else if (compass == 'heading') { a = v + '.heading()'; } return [a, generator.ORDER_ATOMIC]; } const sensor_compass_reset = function (block, generator) { generator.definitions_['import_mpu9250'] = 'import mpu9250'; generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_compass'] = 'from mixgo import compass'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); return '' + v + '.reset_calibrate()\n'; } const sensor_onboard_mpu9250_gesture = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var gesture = this.getFieldValue('gesture'); generator.definitions_['import_mixgo_onboard_mpu'] = 'from mixgo import onboard_mpu'; var code = 'onboard_mpu.mpu9250_is_gesture("' + gesture + '")'; return [code, generator.ORDER_ATOMIC]; } const sensor_onboard_mpu9250_get_acceleration = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); generator.definitions_['import_mixgo_onboard_mpu'] = 'from mixgo import onboard_mpu'; var code = 'onboard_mpu.mpu9250_get_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_onboard_mpu9250_get_magnetic = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); generator.definitions_['import_mixgo_onboard_mpu'] = 'from mixgo import onboard_mpu'; var code = 'onboard_mpu.mpu9250_magnetic_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_onboard_mpu9250_get_gyro = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var key = this.getFieldValue('key'); generator.definitions_['import_mixgo_onboard_mpu'] = 'from mixgo import onboard_mpu'; var code = 'onboard_mpu.mpu9250_gyro_' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const sensor_onboard_mpu9250_calibrate_compass = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_onboard_compass'] = 'from mixgo import onboard_compass'; return '' + 'onboard_compass.calibrate()\n'; } const sensor_onboard_mpu9250_temperature = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_onboard_mpu'] = 'from mixgo import onboard_mpu'; return ['onboard_mpu.mpu9250_get_temperature()', generator.ORDER_ATOMIC]; } const sensor_onboard_mpu9250_field_strength = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_onboard_compass'] = 'from mixgo import onboard_compass'; var compass = this.getFieldValue('compass'); var a; if (compass == 'strength') { a = 'onboard_compass.get_field_strength()'; } else if (compass == 'heading') { a = 'onboard_compass.heading()'; } return [a, generator.ORDER_ATOMIC]; } const sensor_onboard_compass_reset = function (block, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_mixgo_onboard_compass'] = 'from mixgo import onboard_compass'; return '' + 'onboard_compass.reset_calibrate()\n'; } const onboard_RTC_set_datetime = function (_, generator) { generator.definitions_['import_rtctime'] = "import rtctime"; var year = generator.valueToCode(this, "year", generator.ORDER_ASSIGNMENT); var month = generator.valueToCode(this, "month", generator.ORDER_ASSIGNMENT); var day = generator.valueToCode(this, "day", generator.ORDER_ASSIGNMENT); var hour = generator.valueToCode(this, "hour", generator.ORDER_ASSIGNMENT); var minute = generator.valueToCode(this, "minute", generator.ORDER_ASSIGNMENT); var second = generator.valueToCode(this, "second", generator.ORDER_ASSIGNMENT); var code = 'rtctime.settime((' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + second + ',0,0))\n'; return code; } const onboard_RTC_settime_string = function (_, generator) { var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); generator.definitions_['import_rtctime'] = "import rtctime"; var code = 'rtctime.settime(' + cnt + ')\n'; return code; } const onboard_RTC_get_time = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var code = 'time.localtime()'; return [code, generator.ORDER_ATOMIC]; } const onboard_RTC_get_timestamp = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var time = generator.valueToCode(this, 'LIST', generator.ORDER_ATOMIC); var code = 'time.mktime(' + time + ')'; return [code, generator.ORDER_ATOMIC]; } const onboard_RTC_timestamp_totuple = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var ts = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = 'time.localtime(' + ts + ')'; return [code, generator.ORDER_ATOMIC]; } const onboard_RTC_get_time_str = function(_,generator){ generator.definitions_['import_rtctime'] = 'import rtctime'; var code = 'rtctime.strtime()'; return [code, generator.ORDER_ATOMIC]; } const onboard_RTC_get_timetuple_to_str = function(_,generator){ generator.definitions_['import_rtctime'] = 'import rtctime'; var ct = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); var code = 'rtctime.strtime('+ ct +')'; return [code, generator.ORDER_ATOMIC]; } //mixgo_cc onboard_sensor generators: const sensor_mixgo_cc_mmc5603_get_magnetic = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mpython') { generator.definitions_['import_mpython_magnetic'] = 'from mpython import magnetic'; if (key == 'all') { var code = 'magnetic.getstrength()'; } else { var code = 'magnetic.getdata()' + key; } } else if (version == 'mixgo_mini') { generator.definitions_['import_mixgo_mini_onboard_i2c'] = 'from mixgo_mini import onboard_i2c'; generator.definitions_['import_mmc5603'] = 'import mmc5603'; generator.definitions_['import_onboard_mgs'] = 'onboard_mgs = mmc5603.MMC5603(onboard_i2c)'; if (key == 'all') { var code = 'onboard_mgs.getstrength()'; } else { var code = 'onboard_mgs.getdata()' + key; } } else { generator.definitions_['import_' + version + '_onboard_mgs'] = "from " + version + " import onboard_mgs"; if (key == 'all') { var code = 'onboard_mgs.getstrength()'; } else { var code = 'onboard_mgs.getdata()' + key; } } return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_cc_mmc5603_get_angle = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mpython') { generator.definitions_['import_mpython_magnetic'] = 'from mpython import magnetic'; var code = 'magnetic.getangle()'; } else if (version == 'mixgo_mini') { generator.definitions_['import_mixgo_mini_onboard_i2c'] = 'from mixgo_mini import onboard_i2c'; generator.definitions_['import_mmc5603'] = 'import mmc5603'; generator.definitions_['import_onboard_mgs'] = 'onboard_mgs = mmc5603.MMC5603(onboard_i2c)'; } else { generator.definitions_['import_' + version + '_onboard_mgs'] = "from " + version + " import onboard_mgs"; } var code = 'onboard_mgs.getangle()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgo_cc_mmc5603_calibrate_compass = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixgo_mini') { generator.definitions_['import_mixgo_mini_onboard_i2c'] = 'from mixgo_mini import onboard_i2c'; generator.definitions_['import_mmc5603'] = 'import mmc5603'; generator.definitions_['import_onboard_mgs'] = 'onboard_mgs = mmc5603.MMC5603(onboard_i2c)'; } else { generator.definitions_['import_' + version + '_onboard_mgs'] = "from " + version + " import onboard_mgs"; } var code = 'onboard_mgs.calibrate()\n'; return code; } //mixgo_me onboard_sensor generators: const sensor_mixgome_temperature = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'mixgo_mini') { generator.definitions_['import_mixgo_mini_onboard_temperature'] = 'from mixgo_mini import onboard_temperature'; var code = 'onboard_temperature()'; } else { generator.definitions_['import_mixgo_me_onboard_acc'] = "from mixgo_me import onboard_acc"; var code = 'onboard_acc.temperature()'; } return [code, generator.ORDER_ATOMIC]; } //mixgo_ce onboard_sensor generators: const sensor_mixgoce_temperature = function (_, generator) { generator.definitions_['import_mixgo_ce'] = "import mixgo_ce"; var code = 'mixgo_ce.get_temperature()'; return [code, generator.ORDER_ATOMIC]; } //mpython onboard_sensor: const sensor_mpython_qmi8658_get_gyro = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mpython_motion'] = 'from mpython import motion'; var code = 'motion.gyroscope()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_mpython_qmi8658_temperature = function (_, generator) { generator.definitions_['import_mpython_motion'] = 'from mpython import motion'; return ['motion.temperature()', generator.ORDER_ATOMIC]; } const sensor_rm_pin_near_double = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] var direction = this.getFieldValue('direction'); generator.definitions_['import_' + version + '_adc' + direction] = 'from ' + version + ' import adc' + direction; var code = 'adc' + direction + '.read()'; return [code, generator.ORDER_ATOMIC]; } const sensor_rm_battery_left = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] if (version == 'feiyi') { generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51'; var code = 'onboard_bot51.read_bat()'; return [code, generator.ORDER_ATOMIC]; } generator.definitions_['import_' + version + '_battery'] = 'from ' + version + ' import battery'; var code = 'battery.voltage()'; return [code, generator.ORDER_ATOMIC]; } const sensor_rm_acc = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_rm_e1_gyro'] = 'from rm_e1 import gyro'; var code = 'gyro.acceleration()' + key; return [code, generator.ORDER_ATOMIC]; } //car4.2 const sensor_mixgocar_pin_near_line = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mixgocar_c3_onboard_info'] = 'from mixgocar_c3 import onboard_info'; var code = 'onboard_info.patrol()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgocar_pin_near = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mixgocar_c3_onboard_info'] = 'from mixgocar_c3 import onboard_info'; var code = 'onboard_info.obstacle()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_mixgocar_pin_near_state_change = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mixgocar_c3_onboard_info'] = 'from mixgocar_c3 import onboard_info'; var code = 'onboard_info.ir_mode(onboard_info.' + key + ')\n'; return code; } const sensor_mixgocar_battery_left = function (_, generator) { generator.definitions_['import_mixgocar_c3_onboard_info'] = 'from mixgocar_c3 import onboard_info'; var code = 'onboard_info.read_bat()'; return [code, generator.ORDER_ATOMIC]; } //mixbot onboard_sensor below: const sensor_mixbot_patrol_calibrate = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_patrol'] = 'from ' + version + ' import patrol'; var code = 'patrol.correct(patrol.CORRECTING_' + key + ')\n'; return code; } const sensor_mixbot_patrol_value = function (_, generator) { var key = this.getFieldValue('key'); var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_patrol'] = 'from ' + version + ' import patrol'; var code = 'patrol.getdata()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const sensor_mixbot_temperature = function (_, generator) { generator.definitions_['import_mixbot_acc_gyr'] = "from mixbot import acc_gyr"; var code = 'acc_gyr.temperature()'; return [code, generator.ORDER_ATOMIC]; } const sensor_mixbot_get_gyro = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mixbot_acc_gyr'] = "from mixbot import acc_gyr"; var code = 'acc_gyr.gyroscope()' + key; return [code, generator.ORDER_ATOMIC]; } const sensor_bitbot_ALS = function (_, generator) { generator.definitions_['import_feiyi_onboard_bot51'] = 'from feiyi import onboard_bot51'; var mode = generator.valueToCode(this, 'mode', generator.ORDER_ATOMIC); var code = 'onboard_bot51.' + 'read_als(' + mode + ')'; return [code, generator.ORDER_ATOMIC]; } const bitbot_als_num = function (_, generator) { var code = this.getFieldValue('PIN'); return [code, generator.ORDER_ATOMIC]; } const sensor_button_is_pressed = sensor_mixgo_button_is_pressed; const sensor_button_was_pressed = sensor_mixgo_button_was_pressed; const sensor_button_get_presses = sensor_mixgo_button_get_presses; const sensor_pin_pressed = sensor_mixgo_pin_pressed; const sensor_pin_near = sensor_mixgo_pin_near; const sensor_mixgo_light = sensor_LTR308; const sensor_light = sensor_mixgo_light; const dht11 = _sensor_extern_js__WEBPACK_IMPORTED_MODULE_1__.sensor_dht11; //educore onboard_sensor const educore_voice_sensor = function (_, generator) { generator.definitions_['import_educore_sound'] = 'from educore import sound'; var code = "sound()"; return [code, generator.ORDER_ATOMIC]; } const sensor_read = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub+".read()"; return [code, generator.ORDER_ATOMIC]; } const educore_light_sensor = function (_, generator) { generator.definitions_['import_educore_light'] = 'from educore import light'; var code = "light()"; return [code, generator.ORDER_ATOMIC]; } const educore_gyroscope_sensor = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_'+version+'_accelerometer'] = 'from '+version+' import accelerometer'; var code = "accelerometer()"; return [code, generator.ORDER_ATOMIC]; } const educore_gyroscope_sensor_read = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_gyroscope_sensor_shake = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_button_sensor = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_button_was_pressed = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_rfid_sensor = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_rfid_sensor_scan = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const educore_rfid_sensor_scan_data = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.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]; } const CI130X_IDENTIFY_AND_SAVE_SANT = function(_,generator){ var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var code = 'onboard_asr.cmd_id()\n'; return code; } const CI130X_GET_WHETHER_IDENTIFY_SANT = function(_,generator){ var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.result('+cmd+')'; return [code,generator.ORDER_ATOMIC]; } const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function(_,generator){ var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var key = this.getFieldValue('key'); if(key == 'status1'){ var code = 'onboard_asr.status()[0]'; }else if(key == 'status2'){ var code = 'onboard_asr.status()[1]'; }else{ var code = 'onboard_asr.'+key +'()'; } return [code,generator.ORDER_ATOMIC]; } const CI130X_BROADCAST_SANT = function(_,generator){ var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var star = this.getFieldValue('star'); var end = this.getFieldValue('end'); var code = 'onboard_asr.play('+star+','+num+','+end+')\n'; return code; } const CI130X_SET_SYSTEM_CMD_SANT = function(_,generator){ var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.sys_cmd('+cmd+')\n'; return code; } /***/ }), /***/ "../micropython/generators/serial.js": /*!*******************************************!*\ !*** ../micropython/generators/serial.js ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ serial_any: () => (/* binding */ serial_any), /* harmony export */ serial_print: () => (/* binding */ serial_print), /* harmony export */ serial_print_byte: () => (/* binding */ serial_print_byte), /* harmony export */ serial_print_hex: () => (/* binding */ serial_print_hex), /* harmony export */ serial_println: () => (/* binding */ serial_println), /* harmony export */ serial_read_from_ai: () => (/* binding */ serial_read_from_ai), /* harmony export */ serial_readline: () => (/* binding */ serial_readline), /* harmony export */ serial_readstr: () => (/* binding */ serial_readstr), /* harmony export */ serial_send_to_ai: () => (/* binding */ serial_send_to_ai), /* harmony export */ serial_softserial: () => (/* binding */ serial_softserial), /* harmony export */ serial_softserial_new: () => (/* binding */ serial_softserial_new), /* harmony export */ system_input: () => (/* binding */ system_input), /* harmony export */ system_print: () => (/* binding */ system_print), /* harmony export */ system_print_end: () => (/* binding */ system_print_end), /* harmony export */ system_print_inline: () => (/* binding */ system_print_inline), /* harmony export */ system_print_many: () => (/* binding */ system_print_many) /* harmony export */ }); const serial_print = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '""' var code = "uart" + dropdown_uart + ".write(str(" + content + "))\n"; return code; } const serial_print_byte = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '""' var code = "uart" + dropdown_uart + ".write(" + content + ")\n"; return code; } const serial_println = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '""' var code = "uart" + dropdown_uart + ".write(str(" + content + ")+'\\r\\n')\n"; return code; } const serial_print_hex = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var dropdown_stat = this.getFieldValue('STAT'); var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '0'; var code = "uart" + dropdown_uart + ".write(str(" + dropdown_stat + "(" + content + "))+'\\r\\n')\n"; return code; } const serial_any = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var code = "uart" + dropdown_uart + ".any()"; return [code, generator.ORDER_ATOMIC]; } const serial_readstr = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var code = "uart" + dropdown_uart + ".read()"; return [code, generator.ORDER_ATOMIC]; } const serial_readline = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode'); var code = "uart" + dropdown_uart + ".readline()"; return [code, generator.ORDER_ATOMIC]; } const serial_softserial = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_uart = this.getFieldValue('mode') var baudrate = this.getFieldValue('baudrate'); return "uart" + dropdown_uart + "=machine.UART(" + dropdown_uart + ", " + baudrate + ")\n"; } const serial_softserial_new = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var rx = generator.valueToCode(this, 'RX', generator.ORDER_ATOMIC); var tx = generator.valueToCode(this, 'TX', generator.ORDER_ATOMIC); var dropdown_uart = this.getFieldValue('mode') var baudrate = this.getFieldValue('baudrate'); return "uart" + dropdown_uart + "=machine.UART(" + dropdown_uart + ", tx=" + tx + ", rx=" + rx + ", baudrate=" + baudrate + ")\n"; } const system_input = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; return ['input(' + str + ')', generator.ORDER_ATOMIC]; } const system_print = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var code = "print(" + str + ")\n"; return code; } const system_print_inline = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var code = "print(" + str + ',end ="")\n'; return code; } const system_print_end = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var end = generator.valueToCode(this, 'END', generator.ORDER_ATOMIC) || '""'; var code = "print(" + str + ',end =' + end + ')\n'; return code; } const system_print_many = function (_, generator) { 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; } var code = 'print(' + code.join(', ') + ')\n'; return code; } const serial_send_to_ai = function (_, generator) { generator.definitions_['import_uart_com'] = 'import uart_com'; var dropdown_uart = this.getFieldValue('mode'); var dropdown_stat = this.getFieldValue('STAT'); var content = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC) || '0'; var code = "uart_com.send(uart" + dropdown_uart + ", " + content + ", repeat=" + dropdown_stat + ")\n"; return code; } const serial_read_from_ai = function (_, generator) { generator.definitions_['import_uart_com'] = 'import uart_com'; var dropdown_uart = this.getFieldValue('mode'); var code = "uart_com.recv(uart" + dropdown_uart + ")"; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../micropython/generators/system.js": /*!*******************************************!*\ !*** ../micropython/generators/system.js ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Panic_with_status_code: () => (/* binding */ Panic_with_status_code), /* harmony export */ Timer_init: () => (/* binding */ Timer_init), /* harmony export */ base_delay: () => (/* binding */ base_delay), /* harmony export */ controls_delay: () => (/* binding */ controls_delay), /* harmony export */ controls_delay_new: () => (/* binding */ controls_delay_new), /* harmony export */ controls_end_program: () => (/* binding */ controls_end_program), /* harmony export */ controls_millis: () => (/* binding */ controls_millis), /* harmony export */ controls_uname: () => (/* binding */ controls_uname), /* harmony export */ reset: () => (/* binding */ reset), /* harmony export */ system_bitbot_shutdown: () => (/* binding */ system_bitbot_shutdown), /* harmony export */ system_device_name: () => (/* binding */ system_device_name), /* harmony export */ system_device_serial_number: () => (/* binding */ system_device_serial_number), /* harmony export */ system_event_bus_source: () => (/* binding */ system_event_bus_source), /* harmony export */ system_event_bus_value: () => (/* binding */ system_event_bus_value), /* harmony export */ system_machine_reset: () => (/* binding */ system_machine_reset), /* harmony export */ system_on_event: () => (/* binding */ system_on_event), /* harmony export */ system_raise_event: () => (/* binding */ system_raise_event), /* harmony export */ system_reset: () => (/* binding */ system_reset), /* harmony export */ system_run_in_background: () => (/* binding */ system_run_in_background), /* harmony export */ system_ticks_diff: () => (/* binding */ system_ticks_diff), /* harmony export */ system_timer: () => (/* binding */ system_timer), /* harmony export */ system_timer_init: () => (/* binding */ system_timer_init), /* harmony export */ system_timestamp: () => (/* binding */ system_timestamp), /* harmony export */ system_value: () => (/* binding */ system_value), /* harmony export */ system_wait: () => (/* binding */ system_wait), /* harmony export */ system_wdt_feed: () => (/* binding */ system_wdt_feed), /* harmony export */ system_wdt_init: () => (/* binding */ system_wdt_init), /* harmony export */ time_ticks_diff: () => (/* binding */ time_ticks_diff), /* harmony export */ timer: () => (/* binding */ timer), /* harmony export */ timer2: () => (/* binding */ timer2) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const system_run_in_background = function (_, generator) { var branch = generator.statementToCode(this, 'do'); return 'control.inBackground(() => {\n' + branch + '})\n'; } const system_reset = function () { return 'control.reset()\n'; } const system_wait = function (_, generator) { var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC) || mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.default.serial; return 'control.waitMicros(' + data + ')\n'; } const system_raise_event = function (_, generator) { var source = generator.valueToCode(this, 'system_event_bus_source', generator.ORDER_ATOMIC) || mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.default.serial; var value = generator.valueToCode(this, 'system_event_bus_value', generator.ORDER_ATOMIC) || mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.default.serial; return 'control.raiseEvent(' + source + ', ' + value + ')\n'; } const system_on_event = function (_, generator) { var source = generator.valueToCode(this, 'system_event_bus_source', generator.ORDER_ATOMIC) || mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.default.serial; var value = generator.valueToCode(this, 'system_event_bus_value', generator.ORDER_ATOMIC) || mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.default.serial; var branch = generator.statementToCode(this, 'do'); return 'control.onEvent(' + source + ', ' + value + ', () => {\n' + branch + ')\n'; } const system_timestamp = function (_, generator) { return ['control.eventTimestamp()', generator.ORDER_ATOMIC]; } const system_value = function (_, generator) { return ['control.eventValue()', generator.ORDER_ATOMIC]; } const system_event_bus_source = function (_, generator) { return [this.getFieldValue('key'), generator.ORDER_ATOMIC]; } const system_event_bus_value = function (_, generator) { return [this.getFieldValue('key'), generator.ORDER_ATOMIC]; } const system_device_name = function (_, generator) { return ['control.deviceName()', generator.ORDER_ATOMIC]; } const system_device_serial_number = function (_, generator) { return ['control.deviceSerialNumber()', generator.ORDER_ATOMIC]; } //ok const Panic_with_status_code = function (_, generator) { var status_code = generator.valueToCode(this, 'STATUS_CODE', generator.ORDER_ATOMIC) || '1000' var code = 'panic(' + status_code + ')\n'; return code; } //ok const controls_millis = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var dropdown_time = this.getFieldValue('Time'); switch (dropdown_time) { case "ms": var code = 'time.ticks_ms()'; return [code, generator.ORDER_ATOMIC]; case "us": var code = 'time.ticks_us()'; return [code, generator.ORDER_ATOMIC]; } } //ok const controls_end_program = function () { return 'while True:\n pass\n'; } //ok const reset = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; return 'reset()\n'; } const controls_uname = function (_, generator) { generator.definitions_['import_os'] = 'import os'; return 'os.uname()'; } const controls_delay = function (_, generator) { // generator.definitions_.import_time = "import time"; generator.definitions_['import_time'] = 'import time'; var delay_time = generator.valueToCode(this, 'DELAY_TIME', generator.ORDER_ATOMIC) || '1000' var dropdown_time = this.getFieldValue('Time'); switch (dropdown_time) { case "s": var code = 'time.sleep(' + delay_time + ')\n'; return code; case "ms": var code = 'time.sleep_ms(' + delay_time + ')\n'; return code; case "us": var code = 'time.sleep_us(' + delay_time + ')\n'; return code; } } const controls_delay_new = function (_, generator) { // generator.definitions_.import_time = "import time"; generator.definitions_['import_time'] = 'import time'; var delay_time = generator.valueToCode(this, 'DELAY_TIME', generator.ORDER_ATOMIC) || '1000' var dropdown_time = this.getFieldValue('Time'); switch (dropdown_time) { case "s": var code = 'time.sleep(' + delay_time + ')\n'; return code; case "ms": var code = 'time.sleep_ms(' + delay_time + ')\n'; return code; case "us": var code = 'time.sleep_us(' + delay_time + ')\n'; return code; } } const timer = function (_, generator) { generator.definitions_['import_mixgo'] = 'import mixgo'; var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None"; var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0"; var mode = generator.valueToCode(this, "mode", generator.ORDER_NONE) || "None"; var callback = generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None"; // var callback = generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None"; var code = v + ".init(period = " + period + ", mode = Timer." + mode + ", callback = " + callback + ")\n"; return code; } const system_timer = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None"; var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0"; var mode = this.getFieldValue('mode'); //var branch = generator.statementToCode(this, 'callback') || generator.PASS; var callback = generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None"; //var code = v + ".init(period = " + period + ", mode = machine.Timer." + mode + ", callback = " + v + "_callback_func)\n"; //generator.setups_['timer_callback_func'] = 'def ' + v + '_callback_func(t):\n' + branch + '\n'; var code = v + ".init(period = " + period + ", mode = machine.Timer." + mode + ", callback = " + callback + ")\n"; return code; } const system_ticks_diff = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var end = generator.valueToCode(this, "END", generator.ORDER_NONE) || "0"; var start = generator.valueToCode(this, "START", generator.ORDER_NONE) || "0"; var code = "time.ticks_diff(" + end + ", " + start + ")"; return [code, generator.ORDER_ATOMIC]; } const system_timer_init = function (_, generator) { var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); generator.definitions_['import_machine'] = 'import machine'; var code = v + ' = machine.Timer(0)\n'; return code; } const system_wdt_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var period = generator.valueToCode(this, "period", generator.ORDER_NONE) || "0"; var code = 'wdt = machine.WDT(timeout= ' + period + ')\n'; return code; } const system_wdt_feed = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var code = 'wdt.feed()\n'; return code; } const system_machine_reset = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var code = 'machine.reset()\n'; return code; } const system_bitbot_shutdown = function (_, generator) { generator.definitions_['import_bitbot_onboard_bot51'] = 'from bitbot import onboard_bot51'; var code = 'onboard_bot51.shutdown()\n'; return code; } const Timer_init = system_timer_init; const timer2 = system_timer; const time_ticks_diff = system_ticks_diff; const base_delay = controls_delay; /***/ }), /***/ "../micropython/generators/weather.js": /*!********************************************!*\ !*** ../micropython/generators/weather.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Air_daily_content: () => (/* binding */ Air_daily_content), /* harmony export */ Air_now_content: () => (/* binding */ Air_now_content), /* harmony export */ Geo_moon_content: () => (/* binding */ Geo_moon_content), /* harmony export */ Geo_sun_content: () => (/* binding */ Geo_sun_content), /* harmony export */ Life_suggestion_content: () => (/* binding */ Life_suggestion_content), /* harmony export */ Location_search_content: () => (/* binding */ Location_search_content), /* harmony export */ Tide_daily_content: () => (/* binding */ Tide_daily_content), /* harmony export */ WEATHER_DAILY: () => (/* binding */ WEATHER_DAILY), /* harmony export */ WEATHER_HOUR: () => (/* binding */ WEATHER_HOUR), /* harmony export */ WEATHER_NOW: () => (/* binding */ WEATHER_NOW), /* harmony export */ Weather_alarm_content: () => (/* binding */ Weather_alarm_content), /* harmony export */ Weather_daily: () => (/* binding */ Weather_daily), /* harmony export */ Weather_daily_content: () => (/* binding */ Weather_daily_content), /* harmony export */ Weather_now: () => (/* binding */ Weather_now), /* harmony export */ Weather_now_content: () => (/* binding */ Weather_now_content) /* harmony export */ }); const WEATHER_NOW = function (_, generator) { generator.definitions_['import_seniverse_api'] = "import seniverse_api"; var dropdown_mode = this.getFieldValue('mode'); var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var code = 'seniverse_api.' + dropdown_mode + '(' + key + ',' + addr + ')'; return [code, generator.ORDER_ATOMIC]; } const WEATHER_DAILY = function (_, generator) { generator.definitions_['import_seniverse_api'] = "import seniverse_api"; var dropdown_mode = this.getFieldValue('mode'); var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); var code = 'seniverse_api.' + dropdown_mode + '(' + key + ',' + addr + ',' + day + ')'; return [code, generator.ORDER_ATOMIC]; } const WEATHER_HOUR = function (_, generator) { generator.definitions_['import_seniverse_api'] = "import seniverse_api"; var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var hour = generator.valueToCode(this, 'hour', generator.ORDER_ATOMIC); var code = 'seniverse_api.weather_hourly(' + key + ',' + addr + ',' + hour + ')'; return [code, generator.ORDER_ATOMIC]; } const Weather_now = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var dropdown_mode = this.getFieldValue('mode'); var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var code = dropdown_mode + '.request(' + key + ',' + addr + ')\n'; return code; }; const Weather_now_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Weather_now.analysis()'; } else { var code = 'Weather_now.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Air_now_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Air_now.analysis()'; } else { var code = 'Air_now.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Weather_alarm_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Weather_alarm.analysis()'; } else { var code = 'Weather_alarm.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Life_suggestion_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Life_suggestion.analysis()'; } else { var code = 'Life_suggestion.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Tide_daily_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Tide_daily.analysis()'; } else { var code = 'Tide_daily.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Location_search_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); if (content == 'none') { var code = 'Location_search.analysis()'; } else { var code = 'Location_search.analysis("' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Weather_daily = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var dropdown_mode = this.getFieldValue('mode'); var key = generator.valueToCode(this, 'key', generator.ORDER_ATOMIC); var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); var code = dropdown_mode + '.request(' + key + ',' + addr + ',' + day + ')\n'; return code; }; const Weather_daily_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); if (content == 'none') { var code = 'Weather_daily.analysis('+day+')'; } else { var code = 'Weather_daily.analysis(' + day + ',"' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Air_daily_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); if (content == 'none') { var code = 'Air_daily.analysis('+day+')'; } else { var code = 'Air_daily.analysis(' + day + ',"' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Geo_sun_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); if (content == 'none') { var code = 'Geo_sun.analysis('+day+')'; } else { var code = 'Geo_sun.analysis(' + day + ',"' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; const Geo_moon_content = function (_, generator) { generator.definitions_['import_seniverse_api*'] = "from seniverse_api import *"; var content = this.getFieldValue('content'); var day = generator.valueToCode(this, 'day', generator.ORDER_ATOMIC); if (content == 'none') { var code = 'Geo_moon.analysis('+day+')'; } else { var code = 'Geo_moon.analysis(' + day + ',"' + content + '")'; } return [code, generator.ORDER_ATOMIC]; }; /***/ }), /***/ "./blocks/esp32_profile.js": /*!*********************************!*\ !*** ./blocks/esp32_profile.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const pins = {}; pins["MixGo MINI"] = { description: "MicroPython[ESP32C3 MixGo MINI]", digital_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18']), input_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18']), output_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18']), pwm_input: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18'], 'pwm', 'pwm'), analog_input: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4'], 'adc', 'adc'), pwm_output: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18'], 'pwm', 'pwm'), analog_output: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4'], 'adc', 'adc'), espnow_channel: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['1-13']), haskylens_model: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4']), digital: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18'], 'pin', 'pin'), pwm_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18']), pwm: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-10', '18'], 'pwm', 'pwm'), analog_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4']), analog: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4'], 'adc', 'adc'), button: [["B1", "B1key"], ["B2", "B2key"], ["A1", "A1key"], ["A2", "A2key"], ["A3", "A3key"], ["A4", "A4key"]], buttonB: [["B1", "B1key"], ["B2", "B2key"]], axis: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4']), exlcdh: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11']), exlcdv: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-7']), brightness: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-9']), tts_voice: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-16']), tts_builtin_music: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-47']), tts_bgmusic: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-15']), //builtinimg: [["HEART", "matrix.Image.HEART"],["HEART_SMALL", "matrix.Image.HEART_SMALL"],["HAPPY", "matrix.Image.HAPPY"],["SAD", "matrix.Image.SAD"],["SMILE", "matrix.Image.SMILE"],["SILLY", "matrix.Image.SILLY"],["FABULOUS", "matrix.Image.FABULOUS"],["SURPRISED", "matrix.Image.SURPRISED"],["ASLEEP", "matrix.Image.ASLEEP"],["ANGRY", "matrix.Image.ANGRY"],["CONFUSED", "matrix.Image.CONFUSED"],["NO", "matrix.Image.NO"],["YES", "matrix.Image.YES"],["LEFT_ARROW", "matrix.Image.LEFT_ARROW"],["RIGHT_ARROW", "matrix.Image.RIGHT_ARROW"],["DRESS", "matrix.Image.DRESS"],["TRANSFORMERS", "matrix.Image.TRANSFORMERS"],["SCISSORS", "matrix.Image.SCISSORS"],["EXIT", "matrix.Image.EXIT"],["TREE", "matrix.Image.TREE"],["PACMAN", "matrix.Image.PACMAN"],["TARGET", "matrix.Image.TARGET"],["TSHIRT", "matrix.Image.TSHIRT"],["ROLLERSKATE", "matrix.Image.ROLLERSKATE"],["DUCK", "matrix.Image.DUCK"],["HOUSE", "matrix.Image.HOUSE"],["TORTOISE", "matrix.Image.TORTOISE"],["BUTTERFLY", "matrix.Image.BUTTERFLY"],["STICKFIGURE", "matrix.Image.STICKFIGURE"],["GHOST", "matrix.Image.GHOST"],["PITCHFORK", "matrix.Image.PITCHFORK"],["MUSIC_QUAVERS", "matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER", "matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET", "matrix.Image.MUSIC_CROTCHET"],["COW", "matrix.Image.COW"],["RABBIT", "matrix.Image.RABBIT"],["SQUARE_SMALL", "matrix.Image.SQUARE_SMALL"],["SQUARE", "matrix.Image.SQUARE"],["DIAMOND_SMALL", "matrix.Image.DIAMOND_SMALL"],["DIAMOND", "matrix.Image.DIAMOND"],["CHESSBOARD", "matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT", "matrix.Image.TRIANGLE_LEFT"],["TRIANGLE", "matrix.Image.TRIANGLE"],["SNAKE", "matrix.Image.SNAKE"],["UMBRELLA", "matrix.Image.UMBRELLA"],["SKULL", "matrix.Image.SKULL"],["GIRAFFE", "matrix.Image.GIRAFFE"],["SWORD", "matrix.Image.SWORD"]], builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["ANGRY", "onboard_matrix.ANGRY"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["DOOR_OPEN", "onboard_matrix.DOOR_OPEN"], ["DOOR_OPENING", "onboard_matrix.DOOR_OPENING"], ["DOOR_CLOSE", "onboard_matrix.DOOR_CLOSE"]], builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]], imglist: [["ALL_CLOCKS", "matrix.Image.ALL_CLOCKS"], ["ALL_ARROWS", "matrix.Image.ALL_ARROWS"]], playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["BA_DING", "onboard_music.BA_DING"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]], playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]], tone_notes: [ ["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"], ["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"], ["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"] ], serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]], radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']], radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]], one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]], digital_dot: [["0", "0"], ["1", "1"], ["2", "2"]] }; pins["ESP32C2 Generic(2M)"] = { description: "MicroPython[ESP32C3 MixGo CC]", digital_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21']), input_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21']), output_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21']), pwm_input: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21'], 'pwm', 'pwm'), analog_input: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-5'], 'adc', 'adc'), pwm_output: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21'], 'pwm', 'pwm'), analog_output: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-5'], 'adc', 'adc'), espnow_channel: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['1-13']), haskylens_model: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4']), digital: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21'], 'pin', 'pin'), pwm_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21']), pwm: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11', '18-21'], 'pwm', 'pwm'), analog_pin: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-5']), analog: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-5'], 'adc', 'adc'), button: [["B1", "B1key"], ["B2", "B2key"], ["A1", "A1key"], ["A2", "A2key"], ["A3", "A3key"], ["A4", "A4key"]], buttonB: [["B1", "B1key"], ["B2", "B2key"]], axis: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-4']), exlcdh: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-31']), exlcdv: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-11']), brightness: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-9']), tts_voice: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-16']), tts_builtin_music: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-47']), tts_bgmusic: mixly__WEBPACK_IMPORTED_MODULE_0__.Profile.generate(['0-15']), //builtinimg: [["HEART", "matrix.Image.HEART"],["HEART_SMALL", "matrix.Image.HEART_SMALL"],["HAPPY", "matrix.Image.HAPPY"],["SAD", "matrix.Image.SAD"],["SMILE", "matrix.Image.SMILE"],["SILLY", "matrix.Image.SILLY"],["FABULOUS", "matrix.Image.FABULOUS"],["SURPRISED", "matrix.Image.SURPRISED"],["ASLEEP", "matrix.Image.ASLEEP"],["ANGRY", "matrix.Image.ANGRY"],["CONFUSED", "matrix.Image.CONFUSED"],["NO", "matrix.Image.NO"],["YES", "matrix.Image.YES"],["LEFT_ARROW", "matrix.Image.LEFT_ARROW"],["RIGHT_ARROW", "matrix.Image.RIGHT_ARROW"],["DRESS", "matrix.Image.DRESS"],["TRANSFORMERS", "matrix.Image.TRANSFORMERS"],["SCISSORS", "matrix.Image.SCISSORS"],["EXIT", "matrix.Image.EXIT"],["TREE", "matrix.Image.TREE"],["PACMAN", "matrix.Image.PACMAN"],["TARGET", "matrix.Image.TARGET"],["TSHIRT", "matrix.Image.TSHIRT"],["ROLLERSKATE", "matrix.Image.ROLLERSKATE"],["DUCK", "matrix.Image.DUCK"],["HOUSE", "matrix.Image.HOUSE"],["TORTOISE", "matrix.Image.TORTOISE"],["BUTTERFLY", "matrix.Image.BUTTERFLY"],["STICKFIGURE", "matrix.Image.STICKFIGURE"],["GHOST", "matrix.Image.GHOST"],["PITCHFORK", "matrix.Image.PITCHFORK"],["MUSIC_QUAVERS", "matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER", "matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET", "matrix.Image.MUSIC_CROTCHET"],["COW", "matrix.Image.COW"],["RABBIT", "matrix.Image.RABBIT"],["SQUARE_SMALL", "matrix.Image.SQUARE_SMALL"],["SQUARE", "matrix.Image.SQUARE"],["DIAMOND_SMALL", "matrix.Image.DIAMOND_SMALL"],["DIAMOND", "matrix.Image.DIAMOND"],["CHESSBOARD", "matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT", "matrix.Image.TRIANGLE_LEFT"],["TRIANGLE", "matrix.Image.TRIANGLE"],["SNAKE", "matrix.Image.SNAKE"],["UMBRELLA", "matrix.Image.UMBRELLA"],["SKULL", "matrix.Image.SKULL"],["GIRAFFE", "matrix.Image.GIRAFFE"],["SWORD", "matrix.Image.SWORD"]], builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["SILLY", "onboard_matrix.SILLY"], ["FABULOUS", "onboard_matrix.FABULOUS"], ["SURPRISED", "onboard_matrix.SURPRISED"], ["ASLEEP", "onboard_matrix.ASLEEP"], ["ANGRY", "onboard_matrix.ANGRY"], ["CONFUSED", "onboard_matrix.CONFUSED"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"]], builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]], imglist: [["ALL_CLOCKS", "matrix.Image.ALL_CLOCKS"], ["ALL_ARROWS", "matrix.Image.ALL_ARROWS"]], playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["ENTERTAINER", "onboard_music.ENTERTAINER"], ["PRELUDE", "onboard_music.PRELUDE"], ["ODE", "onboard_music.ODE"], ["NYAN", "onboard_music.NYAN"], ["RINGTONE", "onboard_music.RINGTONE"], ["FUNK", "onboard_music.FUNK"], ["BLUES", "onboard_music.BLUES"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["WEDDING", "onboard_music.WEDDING"], ["FUNERAL", "onboard_music.FUNERAL"], ["PUNCHLINE", "onboard_music.PUNCHLINE"], ["PYTHON", "onboard_music.PYTHON"], ["BADDY", "onboard_music.BADDY"], ["CHASE", "onboard_music.CHASE"], ["BA_DING", "onboard_music.BA_DING"], ["WAWAWAWAA", "onboard_music.WAWAWAWAA"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]], playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]], tone_notes: [ ["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"], ["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"], ["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"] ], serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]], radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']], radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]], one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]], digital_dot: [["0", "0"], ["1", "1"], ["2", "2"]], }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pins); /***/ }), /***/ "./blocks/inout.js": /*!*************************!*\ !*** ./blocks/inout.js ***! \*************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ controls_pin_attachInterrupt: () => (/* binding */ controls_pin_attachInterrupt), /* harmony export */ inout_analog_atten: () => (/* binding */ inout_analog_atten), /* harmony export */ inout_analog_write: () => (/* binding */ inout_analog_write), /* harmony export */ inout_analog_write_init: () => (/* binding */ inout_analog_write_init), /* harmony export */ inout_analog_write_set: () => (/* binding */ inout_analog_write_set), /* harmony export */ inout_analog_write_set_freq: () => (/* binding */ inout_analog_write_set_freq), /* harmony export */ inout_digital_init: () => (/* binding */ inout_digital_init), /* harmony export */ inout_digital_read: () => (/* binding */ inout_digital_read), /* harmony export */ inout_digital_write: () => (/* binding */ inout_digital_write), /* harmony export */ inout_highlow: () => (/* binding */ inout_highlow), /* harmony export */ inout_pinMode: () => (/* binding */ inout_pinMode), /* harmony export */ inout_pin_attachInterrupt: () => (/* binding */ inout_pin_attachInterrupt), /* harmony export */ inout_pin_pressed: () => (/* binding */ inout_pin_pressed), /* harmony export */ inout_pin_pressed_init: () => (/* binding */ inout_pin_pressed_init), /* harmony export */ pin_pressed: () => (/* binding */ pin_pressed), /* harmony export */ pin_pressed_init: () => (/* binding */ pin_pressed_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const BASE_HUE = 20; //'#ae3838';//40; const inout_highlow = { init: function () { this.setColour(BASE_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_HIGH, "HIGH"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LOW, "LOW"] ]), 'BOOL') this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP); } }; const inout_digital_write = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEOUT) .setCheck(Number); this.appendValueInput("STAT") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck([Number, Boolean]); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP); } }; const inout_digital_read = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEIN) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MACHINE_VALUE) this.setInputsInline(true); this.setOutput(true, [Boolean, Number]); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP); } }; const inout_analog_write = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField("DAC" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_VALUE2) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP); } }; const inout_analog_write_set = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, "period"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, "period_microseconds"] ]), "key"); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP); } }; const inout_analog_atten = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_REF_VOLTAGE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ ["3.3V", "machine.ADC.ATTN_11DB"], ["2.2V", "machine.ADC.ATTN_6DB"], ["1.5V", "machine.ADC.ATTN_2_5DB"], ["1.2V", "machine.ADC.ATTN_0DB"] ]), "atten"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP); } }; const inout_pin_pressed = { init: function () { this.setColour(BASE_HUE); this.appendValueInput('pin') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR); // this.appendDummyInput() // .appendField(Blockly.Msg.MIXLY_IS_TOUCHED); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MACHINE_VALUE) this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP); } }; const inout_pin_attachInterrupt = { init: function () { this.setColour(20); this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ATTACHINTERRUPT_PIN) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RISING, "machine.Pin.IRQ_RISING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FALLING, "machine.Pin.IRQ_FALLING"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CHANGE, "(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"] ]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP); } }; const inout_digital_init = { init: function () { this.setColour(20); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('pin#'), 'PIN_OBJ'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) // .appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+Blockly.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEOUT, "machine.Pin.OUT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Digital_PINMODEIN, "machine.Pin.IN"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEPULLUP, "machine.Pin.IN, machine.Pin.PULL_UP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PINMODEPULLDOWN, "machine.Pin.IN, machine.Pin.PULL_DOWN"] ]), "MODE") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'pin#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_analog_write_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('dac#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField("DAC" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('dac') // .appendField(new Blockly.FieldDropdown(profile.default.dac_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'dac#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_pin_pressed_init = { init: function () { this.setColour(BASE_HUE); // this.appendValueInput("PIN", Number) // .appendField(Blockly.Msg.MIXLY_SETUP) // .appendField("PWM"+Blockly.Msg.MIXLY_Analog_PINMODEOUT) // .appendField('pwm') // .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('tc#'), 'PIN_OBJ') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_AS) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_TOUCH_SENSOR) // .appendField('tc') // .appendField(new Blockly.FieldDropdown(profile.default.tc_pin),"PIN") this.appendValueInput("PIN", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PIN) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP); }, getVars: function () { return [this.getFieldValue('PIN_OBJ') == 'tc#' ? null : this.getFieldValue('PIN_OBJ')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('PIN_OBJ'))) { this.setTitleValue(newName, 'PIN_OBJ'); } } }; const inout_analog_write_set_freq = { init: function () { this.setColour(BASE_HUE); this.appendValueInput("PIN", Number) .appendField("PWM" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Analog_PINMODEOUT) .setCheck(Number); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_FREQUENCY + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT) .setCheck(Number); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP); } }; const inout_pinMode = inout_digital_init; const pin_pressed_init = inout_pin_pressed_init; const pin_pressed = inout_pin_pressed; const controls_pin_attachInterrupt = inout_pin_attachInterrupt; /***/ }), /***/ "./blocks/me_go.js": /*!*************************!*\ !*** ./blocks/me_go.js ***! \*************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ me_go_dc_motor: () => (/* binding */ me_go_dc_motor), /* harmony export */ me_go_get_led_bright: () => (/* binding */ me_go_get_led_bright), /* harmony export */ me_go_get_led_state: () => (/* binding */ me_go_get_led_state), /* harmony export */ me_go_hall_attachInterrupt: () => (/* binding */ me_go_hall_attachInterrupt), /* harmony export */ me_go_hall_data: () => (/* binding */ me_go_hall_data), /* harmony export */ me_go_hall_initialize: () => (/* binding */ me_go_hall_initialize), /* harmony export */ me_go_led_bright: () => (/* binding */ me_go_led_bright), /* harmony export */ me_go_led_brightness: () => (/* binding */ me_go_led_brightness), /* harmony export */ me_go_light_number: () => (/* binding */ me_go_light_number), /* harmony export */ me_go_pin_light: () => (/* binding */ me_go_pin_light), /* harmony export */ me_go_pin_near: () => (/* binding */ me_go_pin_near), /* harmony export */ me_go_pin_near_line: () => (/* binding */ me_go_pin_near_line), /* harmony export */ me_go_pin_near_state_change: () => (/* binding */ me_go_pin_near_state_change), /* harmony export */ me_go_stepper_keep: () => (/* binding */ me_go_stepper_keep), /* harmony export */ me_go_stepper_stop: () => (/* binding */ me_go_stepper_stop), /* harmony export */ sensor_mixgome_eulerangles: () => (/* binding */ sensor_mixgome_eulerangles) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const MEGO_HUE = 100; // LED const me_go_light_number = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_GREEN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "GLED[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.COLOUR_RGB_RED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EXTERN_LED, "RLED[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_LIGHT_HEADLIGHT, "WLED"] ]), 'op') this.setOutput(true); } }; const me_go_led_bright = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField('ME GO') this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_SETONOFF); } }; const me_go_get_led_bright = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField('ME GO') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const me_go_get_led_state = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendValueInput('led') .appendField('ME GO') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PULSEIN_STAT) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_LED_GETONOFF); } }; const me_go_led_brightness = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING); this.appendValueInput('led') .appendField('ME GO') this.appendValueInput('bright') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS) this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETTING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BUILDIN_LED + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BRIGHTNESS + '(0-10)'); } }; const me_go_stepper_keep = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_forward, "F"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_backward, "B"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_left, "L"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_right, "R"] ]), "VAR"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const me_go_stepper_stop = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "VAR"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const me_go_dc_motor = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField("ME GO") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_DC) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_LEFT, "0"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLYCAR_WHEEL_RIGHT, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_MOTOR_EXTERN, "2"] ]), "wheel"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_Direction) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_FORWARD, "CW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ROTATION_BACKWARD, "CCW"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_P, "P"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MOTOR_N, "N"] ]), "direction"); this.appendValueInput('speed') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEPPER_SET_SPEED); this.appendDummyInput("") .appendField("%") this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } } const me_go_hall_attachInterrupt = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_INTERRUPT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendValueInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const me_go_hall_initialize = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['turns', "turns"], ['distance', "distance"], ['turns,distance', 'all']]), "args"); this.appendValueInput('num') .setCheck(Number) this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; const me_go_hall_data = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_HALL_SENSOR) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "A"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "B"]]), "mode"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([['turns', "turns"], ['distance', "distance"], ['speed', 'speed']]), "args"); this.setOutput(true); this.setInputsInline(true); } }; const me_go_pin_near_line = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_MID, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LINE_SENSOR_VAL); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const me_go_pin_near = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_FRONT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_FRONT, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_BACK, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_BACK, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_PROXIMITY_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_NEAR; return mode0 + mode1 }); } }; const me_go_pin_near_state_change = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE, "AS"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY, "LP"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY, "OA"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY, "LS"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_SENSOR_MODE_OFF, "CL"] ]), "key"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); } }; const sensor_mixgome_eulerangles = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_GESTURE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH, '[0]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, '[1]'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_PITCH + ', ' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ME_GO_ROLL, ''] ]), 'angle'); // this.appendDummyInput("") // .appendField(Blockly.Msg.BOARD_DIRECTION) // .appendField(new Blockly.FieldDropdown([ // [Blockly.Msg.OLED_VER,'True'], // [Blockly.Msg.OLED_HOR,'False'], // ]),'dir'); this.appendDummyInput("") this.setOutput(true, Number); this.setInputsInline(true); } }; const me_go_pin_light = { init: function () { this.setColour(MEGO_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, "[0]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_LEFT_MID, "[1]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXGO_RIGHT_MID, "[2]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, "[3]"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ALL, ""] ]), "key") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(function () { var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR; return mode0 + mode1 }); } }; /***/ }), /***/ "./blocks/mini_g2.js": /*!***************************!*\ !*** ./blocks/mini_g2.js ***! \***************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mini_g2_aht11: () => (/* binding */ mini_g2_aht11), /* harmony export */ mini_g2_hp203: () => (/* binding */ mini_g2_hp203), /* harmony export */ mini_g2_rfid_readcontent: () => (/* binding */ mini_g2_rfid_readcontent), /* harmony export */ mini_g2_rfid_readid: () => (/* binding */ mini_g2_rfid_readid), /* harmony export */ mini_g2_rfid_status: () => (/* binding */ mini_g2_rfid_status), /* harmony export */ mini_g2_rfid_write: () => (/* binding */ mini_g2_rfid_write), /* harmony export */ mini_g2_rfid_write_outcome: () => (/* binding */ mini_g2_rfid_write_outcome), /* harmony export */ mini_g2_varistor: () => (/* binding */ mini_g2_varistor) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const MEG1_HUE = 40; const mini_g2_aht11 = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput("") .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEM_HUM + " AHT21") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETHUMIDITY, "humidity"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key'); var TOOLTIPS = { "temperature": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP, "relative_humidity": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP }; return TOOLTIPS[mode] }); } }; const mini_g2_hp203 = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput("") .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_Altitude + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MSG.catSensor + " HP203X") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETPRESSURE, "pressure()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GETTEMPERATUE, "temperature()"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_ALTITUDE, "altitude()"], ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; const mini_g2_varistor = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM); this.setOutput(true, Number); this.setInputsInline(true); } }; const mini_g2_rfid_readid = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD_UID); this.setOutput(true, Number); this.setInputsInline(true); } }; const mini_g2_rfid_readcontent = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField("RFID" + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_READ_CARD); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL); this.setOutput(true, Number); this.setInputsInline(true); } }; const mini_g2_rfid_write = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const mini_g2_rfid_write_outcome = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_RFID_WRITE); this.appendValueInput('SECTOR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX) this.appendValueInput('CONTENT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMMUNICATION_WRITE_NUM) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.RETURN_SUCCESS_OR_NOT) this.setInputsInline(true); this.setOutput(true); } }; const mini_g2_rfid_status = { init: function () { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] if (version == "mixgo_me") { var name = 'ME G1' } this.setColour(MEG1_HUE); this.appendDummyInput() .appendField(name) .appendField("RFID"); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_OK, "True"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_NOTAGERR, "None"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RFID_SCAN_ERROR, "False"] ]), "key"); this.setOutput(true, Number); this.setInputsInline(true); } }; /***/ }), /***/ "./blocks/pins.js": /*!************************!*\ !*** ./blocks/pins.js ***! \************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ analog_input: () => (/* binding */ analog_input), /* harmony export */ analog_output: () => (/* binding */ analog_output), /* harmony export */ espnow_channel: () => (/* binding */ espnow_channel), /* harmony export */ haskylens_model: () => (/* binding */ haskylens_model), /* harmony export */ i2c_A_pin: () => (/* binding */ i2c_A_pin), /* harmony export */ i2c_B_pin: () => (/* binding */ i2c_B_pin), /* harmony export */ pins_analog: () => (/* binding */ pins_analog), /* harmony export */ pins_analog_pin: () => (/* binding */ pins_analog_pin), /* harmony export */ pins_axis: () => (/* binding */ pins_axis), /* harmony export */ pins_brightness: () => (/* binding */ pins_brightness), /* harmony export */ pins_builtinimg: () => (/* binding */ pins_builtinimg), /* harmony export */ pins_builtinimg_extern: () => (/* binding */ pins_builtinimg_extern), /* harmony export */ pins_button: () => (/* binding */ pins_button), /* harmony export */ pins_buttonB: () => (/* binding */ pins_buttonB), /* harmony export */ pins_dac: () => (/* binding */ pins_dac), /* harmony export */ pins_dac_pin: () => (/* binding */ pins_dac_pin), /* harmony export */ pins_digital: () => (/* binding */ pins_digital), /* harmony export */ pins_digital_dot: () => (/* binding */ pins_digital_dot), /* harmony export */ pins_digital_pin: () => (/* binding */ pins_digital_pin), /* harmony export */ pins_exlcdh: () => (/* binding */ pins_exlcdh), /* harmony export */ pins_exlcdv: () => (/* binding */ pins_exlcdv), /* harmony export */ pins_imglist: () => (/* binding */ pins_imglist), /* harmony export */ pins_input_pin: () => (/* binding */ pins_input_pin), /* harmony export */ pins_one_more: () => (/* binding */ pins_one_more), /* harmony export */ pins_output_pin: () => (/* binding */ pins_output_pin), /* harmony export */ pins_playlist: () => (/* binding */ pins_playlist), /* harmony export */ pins_playlist_extern: () => (/* binding */ pins_playlist_extern), /* harmony export */ pins_pwm: () => (/* binding */ pins_pwm), /* harmony export */ pins_pwm_pin: () => (/* binding */ pins_pwm_pin), /* harmony export */ pins_radio_datarate: () => (/* binding */ pins_radio_datarate), /* harmony export */ pins_radio_power: () => (/* binding */ pins_radio_power), /* harmony export */ pins_serial: () => (/* binding */ pins_serial), /* harmony export */ pins_tone_notes: () => (/* binding */ pins_tone_notes), /* harmony export */ pins_touch: () => (/* binding */ pins_touch), /* harmony export */ pins_touch_pin: () => (/* binding */ pins_touch_pin), /* harmony export */ pins_tts_bgmusic: () => (/* binding */ pins_tts_bgmusic), /* harmony export */ pins_tts_builtin_music: () => (/* binding */ pins_tts_builtin_music), /* harmony export */ pins_tts_voice: () => (/* binding */ pins_tts_voice), /* harmony export */ pwm_input: () => (/* binding */ pwm_input), /* harmony export */ pwm_output: () => (/* binding */ pwm_output), /* harmony export */ spi_A_pin: () => (/* binding */ spi_A_pin), /* harmony export */ spi_B_pin: () => (/* binding */ spi_B_pin), /* harmony export */ spi_C_pin: () => (/* binding */ spi_C_pin), /* harmony export */ spi_D_pin: () => (/* binding */ spi_D_pin) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const PINS_HUE = 230; const pins_digital = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital), 'PIN'); this.setOutput(true); } }; const pins_digital_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_input_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.input_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_output_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.output_pin), 'PIN'); this.setOutput(true, Number); } }; const espnow_channel = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.espnow_channel), 'PIN'); this.setOutput(true, Number); } }; const haskylens_model = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.haskylens_model), 'PIN'); this.setOutput(true, Number); } }; const pwm_input = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_input), 'PIN'); this.setOutput(true); } }; const analog_input = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_input), 'PIN'); this.setOutput(true); } }; const pwm_output = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_output), 'PIN'); this.setOutput(true); } }; const analog_output = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_output), 'PIN'); this.setOutput(true); } }; const i2c_A_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.i2c_A_pin), 'PIN'); this.setOutput(true, Number); } }; const i2c_B_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.i2c_B_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_A_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_A_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_B_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_B_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_C_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_C_pin), 'PIN'); this.setOutput(true, Number); } }; const spi_D_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.spi_D_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_analog = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog), 'PIN'); this.setOutput(true); } }; const pins_analog_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.analog_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_dac = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.dac), 'PIN'); this.setOutput(true); } }; const pins_dac_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.dac_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_button = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.button), 'PIN'); this.setOutput(true, Number); } }; const pins_buttonB = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.buttonB), 'PIN'); this.setOutput(true, Number); } }; const pins_pwm = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm), 'PIN'); this.setOutput(true); } }; const pins_pwm_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.pwm_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_touch_pin = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.touch_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_touch = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.touch), 'PIN'); this.setOutput(true); } }; const pins_serial = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.serial_pin), 'PIN'); this.setOutput(true, Number); } }; const pins_builtinimg = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.builtinimg), 'PIN'); this.setOutput(true, "esp32_image"); } }; const pins_builtinimg_extern = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.builtinimg_extern), 'PIN'); this.setOutput(true, "esp32_image"); } }; const pins_imglist = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.imglist), 'PIN'); this.setOutput(true); } }; const pins_playlist = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.playlist), 'PIN'); this.setOutput(true); } }; const pins_playlist_extern = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.playlist_extern), 'PIN'); this.setOutput(true); } }; const pins_exlcdh = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.exlcdh), 'PIN'); this.setOutput(true, Number); } }; const pins_exlcdv = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.exlcdv), 'PIN'); this.setOutput(true, Number); } }; const pins_axis = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.axis), 'PIN'); this.setOutput(true, Number); } }; const pins_brightness = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.brightness), 'PIN'); this.setOutput(true, Number); } }; const pins_tts_voice = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.tts_voice), 'PIN'); this.setOutput(true, Number); } }; const pins_tts_builtin_music = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.tts_builtin_music), 'PIN'); this.setOutput(true, Number); } }; const pins_tts_bgmusic = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.tts_bgmusic), 'PIN'); this.setOutput(true, Number); } }; const pins_tone_notes = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.tone_notes), 'PIN'); this.setOutput(true, Number); } }; const pins_radio_power = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.radio_power), 'PIN'); this.setOutput(true, Number); } }; const pins_radio_datarate = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.radio_datarate), 'PIN'); this.setOutput(true, Number); } }; const pins_one_more = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.one_more), 'PIN'); this.setOutput(true); } }; const pins_digital_dot = { init: function () { this.setColour(PINS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default.digital_dot), 'PIN'); this.setOutput(true, Number); } }; /***/ }), /***/ "./export.js": /*!*******************!*\ !*** ./export.js ***! \*******************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MicropythonESP32C2InoutBlocks: () => (/* reexport module object */ _blocks_inout__WEBPACK_IMPORTED_MODULE_1__), /* harmony export */ MicropythonESP32C2InoutGenerators: () => (/* reexport module object */ _generators_inout__WEBPACK_IMPORTED_MODULE_5__), /* harmony export */ MicropythonESP32C2MEGOBlocks: () => (/* reexport module object */ _blocks_me_go__WEBPACK_IMPORTED_MODULE_3__), /* harmony export */ MicropythonESP32C2MEGOGenerators: () => (/* reexport module object */ _generators_me_go__WEBPACK_IMPORTED_MODULE_7__), /* harmony export */ MicropythonESP32C2MiniG2Blocks: () => (/* reexport module object */ _blocks_mini_g2__WEBPACK_IMPORTED_MODULE_2__), /* harmony export */ MicropythonESP32C2MiniG2Generators: () => (/* reexport module object */ _generators_mini_g2__WEBPACK_IMPORTED_MODULE_6__), /* harmony export */ MicropythonESP32C2Pins: () => (/* reexport safe */ _blocks_esp32_profile__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ MicropythonESP32C2PinsBlocks: () => (/* reexport module object */ _blocks_pins__WEBPACK_IMPORTED_MODULE_4__), /* harmony export */ MicropythonESP32C2PinsGenerators: () => (/* reexport module object */ _generators_pins__WEBPACK_IMPORTED_MODULE_8__) /* harmony export */ }); /* harmony import */ var _blocks_esp32_profile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blocks/esp32_profile */ "./blocks/esp32_profile.js"); /* harmony import */ var _blocks_inout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocks/inout */ "./blocks/inout.js"); /* harmony import */ var _blocks_mini_g2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocks/mini_g2 */ "./blocks/mini_g2.js"); /* harmony import */ var _blocks_me_go__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blocks/me_go */ "./blocks/me_go.js"); /* harmony import */ var _blocks_pins__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blocks/pins */ "./blocks/pins.js"); /* harmony import */ var _generators_inout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./generators/inout */ "./generators/inout.js"); /* harmony import */ var _generators_mini_g2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./generators/mini_g2 */ "./generators/mini_g2.js"); /* harmony import */ var _generators_me_go__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./generators/me_go */ "./generators/me_go.js"); /* harmony import */ var _generators_pins__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./generators/pins */ "./generators/pins.js"); /***/ }), /***/ "./generators/inout.js": /*!*****************************!*\ !*** ./generators/inout.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ inout_analog_atten: () => (/* binding */ inout_analog_atten), /* harmony export */ inout_analog_write: () => (/* binding */ inout_analog_write), /* harmony export */ inout_analog_write_init: () => (/* binding */ inout_analog_write_init), /* harmony export */ inout_analog_write_set: () => (/* binding */ inout_analog_write_set), /* harmony export */ inout_digital_init: () => (/* binding */ inout_digital_init), /* harmony export */ inout_digital_read: () => (/* binding */ inout_digital_read), /* harmony export */ inout_digital_write: () => (/* binding */ inout_digital_write), /* harmony export */ inout_highlow: () => (/* binding */ inout_highlow), /* harmony export */ inout_pin_attachInterrupt: () => (/* binding */ inout_pin_attachInterrupt), /* harmony export */ inout_pin_pressed: () => (/* binding */ inout_pin_pressed), /* harmony export */ inout_pin_pressed_init: () => (/* binding */ inout_pin_pressed_init) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); // ok const inout_highlow = function (_, generator) { // Boolean values HIGH and LOW. var code = (this.getFieldValue('BOOL') == 'HIGH') ? '1' : '0'; return [code, generator.ORDER_ATOMIC]; } // ok const inout_digital_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_stat = generator.valueToCode(this, 'STAT', generator.ORDER_ATOMIC); var code = ""; code += dropdown_pin + '.value(' + dropdown_stat + ')\n' return code; } // ok const inout_digital_read = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var code = ""; code = dropdown_pin + '.value()'; return [code, generator.ORDER_ATOMIC]; } //ok const inout_analog_write = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //var dropdown_stat = this.getFieldValue('STAT'); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); //generator.setups_['setup_output'+dropdown_pin] = 'pinMode('+dropdown_pin+', OUTPUT);'; var code = dropdown_pin + '.write(' + value_num + ')\n'; return code; } //ok const inout_analog_write_set = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var code = dropdown_pin + '.set_analog_' + key + '(' + value_num + ')\n'; //var code = 'pin' + dropdown_pin + '.set_analog_period(' + value_num + ')\n'; return code; } //ok const inout_pin_pressed = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin = generator.valueToCode(this, 'pin', generator.ORDER_ATOMIC); var code = pin + '.read()'; return [code, generator.ORDER_ATOMIC]; } const inout_pin_attachInterrupt = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('mode'); var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'machine.Pin(' + dropdown_pin + ').irq' + '(handler = ' + atta + ', trigger = ' + dropdown_mode + ')\n' //var funcName = 'attachInterrupt_func_' + dropdown_pin; //var branch = generator.statementToCode(this, 'DO') || generator.PASS; //var code2 = 'def' + ' ' + funcName + '(p):\n' + branch + '\n'; //generator.setups_[funcName] = code2; return code; } const inout_digital_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'pin#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var dropdown_mode = this.getFieldValue('MODE'); var varName = (pin_obj == 'pin#') ? 'pin' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.Pin(' + dropdown_pin + ', ' + dropdown_mode + ')\n'; return code; } //ok const inout_analog_write_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'dac#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'dac#') ? 'dac' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.DAC(machine.Pin(' + dropdown_pin + '))\n'; return code; } const inout_analog_atten = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); //var dropdown_stat = this.getFieldValue('STAT'); var value_atten = this.getFieldValue('atten') var code = dropdown_pin + '.atten(' + value_atten + ')\n'; return code; } //ok const inout_pin_pressed_init = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var pin_obj = this.getFieldValue('PIN_OBJ') || 'tc#'; var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC); var varName = (pin_obj == 'tc#') ? 'tc' + dropdown_pin : generator.variableDB_.getName(pin_obj, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); var code = varName + ' = machine.TouchPad(machine.Pin(' + dropdown_pin + '))\n'; return code; } /***/ }), /***/ "./generators/me_go.js": /*!*****************************!*\ !*** ./generators/me_go.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ me_go_dc_motor: () => (/* binding */ me_go_dc_motor), /* harmony export */ me_go_get_led_bright: () => (/* binding */ me_go_get_led_bright), /* harmony export */ me_go_get_led_state: () => (/* binding */ me_go_get_led_state), /* harmony export */ me_go_hall_attachInterrupt: () => (/* binding */ me_go_hall_attachInterrupt), /* harmony export */ me_go_hall_data: () => (/* binding */ me_go_hall_data), /* harmony export */ me_go_hall_initialize: () => (/* binding */ me_go_hall_initialize), /* harmony export */ me_go_led_bright: () => (/* binding */ me_go_led_bright), /* harmony export */ me_go_led_brightness: () => (/* binding */ me_go_led_brightness), /* harmony export */ me_go_light_number: () => (/* binding */ me_go_light_number), /* harmony export */ me_go_pin_light: () => (/* binding */ me_go_pin_light), /* harmony export */ me_go_pin_near: () => (/* binding */ me_go_pin_near), /* harmony export */ me_go_pin_near_line: () => (/* binding */ me_go_pin_near_line), /* harmony export */ me_go_pin_near_state_change: () => (/* binding */ me_go_pin_near_state_change), /* harmony export */ me_go_stepper_keep: () => (/* binding */ me_go_stepper_keep), /* harmony export */ me_go_stepper_stop: () => (/* binding */ me_go_stepper_stop), /* harmony export */ sensor_mixgome_eulerangles: () => (/* binding */ sensor_mixgome_eulerangles) /* harmony export */ }); const me_go_light_number = function (_, generator) { generator.definitions_['import_me_go_car'] = 'from me_go import car'; var code = 'car.' + this.getFieldValue('op'); return [code, generator.ORDER_ATOMIC]; } const me_go_led_bright = function (_, generator) { var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var bright = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "car.setonoff(" + op + "," + bright + ")\n"; return code; } const me_go_get_led_bright = function (_, generator) { var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var code = "car.getrightness(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const me_go_get_led_state = function (_, generator) { var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var code = "car.getonoff(" + op + ")"; return [code, generator.ORDER_ATOMIC]; } const me_go_led_brightness = function (_, generator) { var op = generator.valueToCode(this, 'led', generator.ORDER_ATOMIC); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var flag = generator.valueToCode(this, 'bright', generator.ORDER_ATOMIC); var code = "car.setbrightness(" + op + "," + flag + ")\n"; return code; } const me_go_stepper_keep = function (_, generator) { var v = this.getFieldValue('VAR'); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var speed = generator.valueToCode(this, 'speed', generator.ORDER_ASSIGNMENT); var code = 'car.move("' + v + '",' + speed + ")\n"; return code; } const me_go_stepper_stop = function (_, generator) { var v = this.getFieldValue('VAR'); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var code = 'car.move("' + v + '")\n'; return code; } const me_go_dc_motor = function (_, generator) { var wheel = this.getFieldValue('wheel'); generator.definitions_['import_me_go_car'] = 'from me_go import car'; var v = this.getFieldValue('direction'); if (wheel == 0) { if (v == 'CW') { v = 'CCW' } else if (v == 'CCW') { v = 'CW' } } var speed = generator.valueToCode(this, 'speed', generator.ORDER_ATOMIC); var code = "car.motor(car.MOTO[" + wheel + '],"' + v + '",' + speed + ")\n"; return code; } const me_go_hall_attachInterrupt = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; var atta = generator.valueToCode(this, 'DO', generator.ORDER_ATOMIC); var code = 'hall_' + dropdown_mode + '.irq_cb(' + atta + ')\n' return code; } const me_go_hall_initialize = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); var args = this.getFieldValue('args'); generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; var num = generator.valueToCode(this, 'num', generator.ORDER_ATOMIC); if (args == 'all') { var code = 'hall_' + dropdown_mode + '.initial(' + 'turns' + '=' + num + ',distance=' + num + ')\n' return code; } var code = 'hall_' + dropdown_mode + '.initial(' + args + '=' + num + ')\n' return code; } const me_go_hall_data = function (_, generator) { var dropdown_mode = this.getFieldValue('mode'); var args = this.getFieldValue('args'); generator.definitions_['import_me_go_hall_' + dropdown_mode] = 'from me_go import hall_' + dropdown_mode; var code = 'hall_' + dropdown_mode + '.' + args + ''; return [code, generator.ORDER_ATOMIC]; } const me_go_pin_near_line = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_me_go_hall'] = 'from me_go import car'; var code = 'car.patrol()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const me_go_pin_near = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_me_go_hall'] = 'from me_go import car'; var code = 'car.obstacle()' + key + ''; return [code, generator.ORDER_ATOMIC]; } const me_go_pin_near_state_change = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_me_go_hall'] = 'from me_go import car'; var code = 'car.ir_mode(car.' + key + ')\n'; return code; } const sensor_mixgome_eulerangles = function (_, generator) { generator.definitions_['import_mixgo_me_onboard_mxc6655xa'] = "from mixgo_me import onboard_mxc6655xa"; var angle = this.getFieldValue('angle'); var code = 'onboard_mxc6655xa.eulerangles(upright=True)' + angle; return [code, generator.ORDER_ATOMIC]; } const me_go_pin_light = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_me_go_hall'] = 'from me_go import car'; var code = 'car.light()' + key + ''; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "./generators/mini_g2.js": /*!*******************************!*\ !*** ./generators/mini_g2.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mini_g2_aht11: () => (/* binding */ mini_g2_aht11), /* harmony export */ mini_g2_hp203: () => (/* binding */ mini_g2_hp203), /* harmony export */ mini_g2_rfid_readcontent: () => (/* binding */ mini_g2_rfid_readcontent), /* harmony export */ mini_g2_rfid_readid: () => (/* binding */ mini_g2_rfid_readid), /* harmony export */ mini_g2_rfid_status: () => (/* binding */ mini_g2_rfid_status), /* harmony export */ mini_g2_rfid_write: () => (/* binding */ mini_g2_rfid_write), /* harmony export */ mini_g2_rfid_write_outcome: () => (/* binding */ mini_g2_rfid_write_outcome), /* harmony export */ mini_g2_varistor: () => (/* binding */ mini_g2_varistor) /* harmony export */ }); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_0__); const mini_g2_aht11 = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_ahtx0.' + key + '()'; return [code, generator.ORDER_ATOMIC]; } const mini_g2_hp203 = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_hp203x.' + key; return [code, generator.ORDER_ATOMIC]; } const mini_g2_varistor = function (_, generator) { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.varistor()'; return [code, generator.ORDER_ATOMIC]; } const mini_g2_rfid_readid = function (_, generator) { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; if (version == "mixgo_mini") { generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; var code = 'ext_rfid.read_card(0, x="id")'; } else { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_rc522.read_card(0, x="id")'; } return [code, generator.ORDER_ATOMIC]; } const mini_g2_rfid_readcontent = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); if (version == "mixgo_mini") { generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; var code = 'ext_rfid.read_card(' + sector + ')'; } else { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_rc522.read_card(' + sector + ')'; } return [code, generator.ORDER_ATOMIC]; } const mini_g2_rfid_write = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); if (version == "mixgo_mini") { generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n'; } else { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')\n'; } return code; } const mini_g2_rfid_write_outcome = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); if (version == "mixgo_mini") { generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')'; } else { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')'; } return [code, generator.ORDER_ATOMIC]; } const mini_g2_rfid_status = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_0__.Boards.getSelectedBoardKey().split(':')[2]; var key = this.getFieldValue('key'); if (version == "mixgo_mini") { generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; var code = 'ext_rfid.scan_card()==' + key; } else { generator.definitions_['import_mini_g2'] = 'import mini_g2'; var code = 'mini_g2.ext_rc522.scan_card()==' + key; } return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "./generators/pins.js": /*!****************************!*\ !*** ./generators/pins.js ***! \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ analog_input: () => (/* binding */ analog_input), /* harmony export */ analog_output: () => (/* binding */ analog_output), /* harmony export */ espnow_channel: () => (/* binding */ espnow_channel), /* harmony export */ haskylens_model: () => (/* binding */ haskylens_model), /* harmony export */ i2c_A_pin: () => (/* binding */ i2c_A_pin), /* harmony export */ i2c_B_pin: () => (/* binding */ i2c_B_pin), /* harmony export */ pins_analog: () => (/* binding */ pins_analog), /* harmony export */ pins_analog_pin: () => (/* binding */ pins_analog_pin), /* harmony export */ pins_axis: () => (/* binding */ pins_axis), /* harmony export */ pins_brightness: () => (/* binding */ pins_brightness), /* harmony export */ pins_builtinimg: () => (/* binding */ pins_builtinimg), /* harmony export */ pins_builtinimg_extern: () => (/* binding */ pins_builtinimg_extern), /* harmony export */ pins_button: () => (/* binding */ pins_button), /* harmony export */ pins_buttonB: () => (/* binding */ pins_buttonB), /* harmony export */ pins_dac: () => (/* binding */ pins_dac), /* harmony export */ pins_dac_pin: () => (/* binding */ pins_dac_pin), /* harmony export */ pins_digital: () => (/* binding */ pins_digital), /* harmony export */ pins_digital_dot: () => (/* binding */ pins_digital_dot), /* harmony export */ pins_digital_pin: () => (/* binding */ pins_digital_pin), /* harmony export */ pins_exlcdh: () => (/* binding */ pins_exlcdh), /* harmony export */ pins_exlcdv: () => (/* binding */ pins_exlcdv), /* harmony export */ pins_imglist: () => (/* binding */ pins_imglist), /* harmony export */ pins_input_pin: () => (/* binding */ pins_input_pin), /* harmony export */ pins_interrupt: () => (/* binding */ pins_interrupt), /* harmony export */ pins_one_more: () => (/* binding */ pins_one_more), /* harmony export */ pins_output_pin: () => (/* binding */ pins_output_pin), /* harmony export */ pins_playlist: () => (/* binding */ pins_playlist), /* harmony export */ pins_playlist_extern: () => (/* binding */ pins_playlist_extern), /* harmony export */ pins_pwm: () => (/* binding */ pins_pwm), /* harmony export */ pins_pwm_input: () => (/* binding */ pins_pwm_input), /* harmony export */ pins_pwm_pin: () => (/* binding */ pins_pwm_pin), /* harmony export */ pins_radio_datarate: () => (/* binding */ pins_radio_datarate), /* harmony export */ pins_radio_power: () => (/* binding */ pins_radio_power), /* harmony export */ pins_serial: () => (/* binding */ pins_serial), /* harmony export */ pins_tone_notes: () => (/* binding */ pins_tone_notes), /* harmony export */ pins_touch: () => (/* binding */ pins_touch), /* harmony export */ pins_touch_pin: () => (/* binding */ pins_touch_pin), /* harmony export */ pins_tts_bgmusic: () => (/* binding */ pins_tts_bgmusic), /* harmony export */ pins_tts_builtin_music: () => (/* binding */ pins_tts_builtin_music), /* harmony export */ pins_tts_voice: () => (/* binding */ pins_tts_voice), /* harmony export */ pwm_output: () => (/* binding */ pwm_output), /* harmony export */ spi_A_pin: () => (/* binding */ spi_A_pin), /* harmony export */ spi_B_pin: () => (/* binding */ spi_B_pin), /* harmony export */ spi_C_pin: () => (/* binding */ spi_C_pin), /* harmony export */ spi_D_pin: () => (/* binding */ spi_D_pin) /* harmony export */ }); const pins_digital = function (_, generator) { var code = this.getFieldValue('PIN'); return [code, generator.ORDER_ATOMIC]; } const pins_button = pins_digital; const pins_buttonB = pins_digital; const pins_digital_pin = pins_digital; const pins_input_pin = pins_digital; const pins_output_pin = pins_digital; const pins_pwm_input = pins_digital; const espnow_channel = pins_digital; const haskylens_model = pins_digital; const analog_input = pins_digital; const pwm_output = pins_digital; const analog_output = pins_digital; const i2c_A_pin = pins_digital; const i2c_B_pin = pins_digital; const spi_A_pin = pins_digital; const spi_B_pin = pins_digital; const spi_C_pin = pins_digital; const spi_D_pin = pins_digital; const pins_analog_pin = pins_digital; const pins_analog = pins_digital; const pins_pwm_pin = pins_digital; const pins_pwm = pins_digital; const pins_dac_pin = pins_digital; const pins_dac = pins_digital; const pins_touch_pin = pins_digital; const pins_touch = pins_digital; const pins_interrupt = pins_digital; const pins_serial = pins_digital; const pins_builtinimg = pins_digital; const pins_builtinimg_extern = pins_digital; const pins_imglist = pins_digital; const pins_playlist = pins_digital; const pins_playlist_extern = pins_digital; const pins_axis = pins_digital; const pins_exlcdh = pins_digital; const pins_exlcdv = pins_digital; const pins_brightness = pins_digital; const pins_tts_voice = pins_digital; const pins_tts_builtin_music = pins_digital; const pins_tts_bgmusic = pins_digital; const pins_tone_notes = pins_digital; const pins_radio_power = pins_digital; const pins_radio_datarate = pins_digital; const pins_one_more = pins_digital; const pins_digital_dot = pins_digital; /***/ }), /***/ "../python/blocks/control.js": /*!***********************************!*\ !*** ../python/blocks/control.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ base_setup: () => (/* binding */ base_setup), /* harmony export */ controls_delay: () => (/* binding */ controls_delay), /* harmony export */ controls_end_program: () => (/* binding */ controls_end_program), /* harmony export */ controls_except: () => (/* binding */ controls_except), /* harmony export */ controls_finally: () => (/* binding */ controls_finally), /* harmony export */ controls_flow_statements: () => (/* binding */ controls_flow_statements), /* harmony export */ controls_for: () => (/* binding */ controls_for), /* harmony export */ controls_forEach: () => (/* binding */ controls_forEach), /* harmony export */ controls_for_range: () => (/* binding */ controls_for_range), /* harmony export */ controls_if: () => (/* binding */ controls_if), /* harmony export */ controls_if_else: () => (/* binding */ controls_if_else), /* harmony export */ controls_if_elseif: () => (/* binding */ controls_if_elseif), /* harmony export */ controls_if_if: () => (/* binding */ controls_if_if), /* harmony export */ controls_lambda: () => (/* binding */ controls_lambda), /* harmony export */ controls_main: () => (/* binding */ controls_main), /* harmony export */ controls_pass: () => (/* binding */ controls_pass), /* harmony export */ controls_range: () => (/* binding */ controls_range), /* harmony export */ controls_repeat_ext: () => (/* binding */ controls_repeat_ext), /* harmony export */ controls_thread: () => (/* binding */ controls_thread), /* harmony export */ controls_try: () => (/* binding */ controls_try), /* harmony export */ controls_try_finally: () => (/* binding */ controls_try_finally), /* harmony export */ controls_whileUntil: () => (/* binding */ controls_whileUntil), /* harmony export */ datetime_fromtimestamp: () => (/* binding */ datetime_fromtimestamp), /* harmony export */ do_while: () => (/* binding */ do_while), /* harmony export */ garbage_collection: () => (/* binding */ garbage_collection), /* harmony export */ gene_unique_identifier: () => (/* binding */ gene_unique_identifier), /* harmony export */ get_mem_alloc: () => (/* binding */ get_mem_alloc), /* harmony export */ get_mem_free: () => (/* binding */ get_mem_free), /* harmony export */ get_unique_identifier: () => (/* binding */ get_unique_identifier) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const LOOPS_HUE = 120; const controls_main = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_NAME_MAIN); this.appendStatementInput('DO') .appendField(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_SETUP); } }; const base_setup = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP); this.appendStatementInput('DO') .appendField(''); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_SETUP); } }; const controls_delay = { init: function () { var UNIT = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_mSecond, 'delay'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_uSecond, 'delayMicroseconds'] ]; this.setColour(LOOPS_HUE); this.appendValueInput("DELAY_TIME", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DELAY) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(UNIT), 'UNIT') .setCheck(Number); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONTROL_DELAY); this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"); this.wiki = { 'zh-hans': { page: ['Arduino AVR', '控制', '延时'] } }; } }; const controls_end_program = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONTROL_END_PROGRAM); this.setPreviousStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP); } }; const controls_if = { /** * Block for if/elseif/else condition. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); this.setColour(LOOPS_HUE); this.appendValueInput('IF0') .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_IF); this.appendStatementInput('DO0') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_THEN); this.setPreviousStatement(true); this.setNextStatement(true); this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['controls_if_elseif', 'controls_if_else'], this)); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { if (!thisBlock.elseifCount_ && !thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_1; } else if (!thisBlock.elseifCount_ && thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_2; } else if (thisBlock.elseifCount_ && !thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_3; } else if (thisBlock.elseifCount_ && thisBlock.elseCount_) { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_TOOLTIP_4; } return ''; }); this.elseifCount_ = 0; this.elseCount_ = 0; }, /** * Create XML to represent the number of else-if and else inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { if (!this.elseifCount_ && !this.elseCount_) { return null; } var container = document.createElement('mutation'); if (this.elseifCount_) { container.setAttribute('elseif', this.elseifCount_); } if (this.elseCount_) { container.setAttribute('else', 1); } return container; }, /** * Parse XML to restore the else-if and else inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var containerBlock = this; var valueConnections = []; var statementConnections = []; // var elseStatementConnection = null; if (this.elseCount_) { // if (containerBlock.getInputTargetBlock('ELSE') && containerBlock.getInputTargetBlock('ELSE').previousConnection) // elseStatementConnection = containerBlock.getInputTargetBlock('ELSE').previousConnection; this.removeInput('ELSE'); } for (var i = this.elseifCount_; i > 0; i--) { if (containerBlock.getInputTargetBlock('IF' + i) && containerBlock.getInputTargetBlock('IF' + i).previousConnection) valueConnections[i] = (containerBlock.getInputTargetBlock('IF' + i).previousConnection); else valueConnections[i] = null; this.removeInput('IF' + i); if (containerBlock.getInputTargetBlock('DO' + i) && containerBlock.getInputTargetBlock('DO' + i).previousConnection) statementConnections[i] = (containerBlock.getInputTargetBlock('DO' + i).previousConnection); else statementConnections[i] = null; this.removeInput('DO' + i); } this.elseifCount_ = parseInt(xmlElement.getAttribute('elseif'), 10); this.elseCount_ = parseInt(xmlElement.getAttribute('else'), 10); //this.compose(containerBlock); for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_ELSEIF); this.appendStatementInput('DO' + i) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_THEN); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_MSG_ELSE); } for (var i = valueConnections.length - 2; i > 0; i--) { if (valueConnections[i]) valueConnections[i].reconnect(this, 'IF' + i); } for (var i = statementConnections.length - 2; i > 0; i--) { if (statementConnections[i]) statementConnections[i].reconnect(this, 'DO' + i); } }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('controls_if_if'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 1; i <= this.elseifCount_; i++) { var elseifBlock = workspace.newBlock('controls_if_elseif'); elseifBlock.initSvg(); connection.connect(elseifBlock.previousConnection); connection = elseifBlock.nextConnection; } if (this.elseCount_) { var elseBlock = workspace.newBlock('controls_if_else'); elseBlock.initSvg(); connection.connect(elseBlock.previousConnection); } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { // Disconnect the else input blocks and remove the inputs. if (this.elseCount_) { this.removeInput('ELSE'); } this.elseCount_ = 0; // Disconnect all the elseif input blocks and remove the inputs. for (var i = this.elseifCount_; i > 0; i--) { this.removeInput('IF' + i); this.removeInput('DO' + i); } this.elseifCount_ = 0; // Rebuild the block's optional inputs. var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_if_elseif': this.elseifCount_++; valueConnections.push(clauseBlock.valueConnection_); statementConnections.push(clauseBlock.statementConnection_); break; case 'controls_if_else': this.elseCount_++; elseStatementConnection = clauseBlock.statementConnection_; break; default: throw Error('Unknown block type: ' + clauseBlock.type); } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } this.updateShape_(); // Reconnect any child blocks. this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var i = 1; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_if_elseif': var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); clauseBlock.valueConnection_ = inputIf && inputIf.connection.targetConnection; clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; i++; break; case 'controls_if_else': var inputDo = this.getInput('ELSE'); clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; break; default: throw 'Unknown block type.'; } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } }, /** * Reconstructs the block with all child blocks attached. */ rebuildShape_: function () { var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; if (this.getInput('ELSE')) { elseStatementConnection = this.getInput('ELSE').connection.targetConnection; } var i = 1; while (this.getInput('IF' + i)) { var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); console.log(inputIf.connection.targetConnection); valueConnections.push(inputIf.connection.targetConnection); statementConnections.push(inputDo.connection.targetConnection); i++; } this.updateShape_(); this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Modify this block to have the correct number of inputs. * @this Blockly.Block * @private */ updateShape_: function () { // Delete everything. if (this.getInput('ELSE')) { this.removeInput('ELSE'); } var i = 1; while (this.getInput('IF' + i)) { this.removeInput('IF' + i); this.removeInput('DO' + i); i++; } // Rebuild block. for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Number, Boolean]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_ELSEIF']); this.appendStatementInput('DO' + i) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_THEN']); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_ELSE']); } }, /** * Reconnects child blocks. * @param {!Array} valueConnections List of value * connectsions for if input. * @param {!Array} statementConnections List of * statement connections for do input. * @param {?Blockly.RenderedConnection} elseStatementConnection Statement * connection for else input. */ reconnectChildBlocks_: function (valueConnections, statementConnections, elseStatementConnection) { for (var i = 1; i <= this.elseifCount_; i++) { valueConnections[i] && valueConnections[i].reconnect(this, 'IF' + i); statementConnections[i] && statementConnections[i].reconnect(this, 'DO' + i); } elseStatementConnection && elseStatementConnection.reconnect(this, 'ELSE'); } }; const controls_range = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('FROM') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_RANGE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_FROM); this.appendValueInput('TO') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_TO); this.appendValueInput('STEP') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_RANGE_STEP); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP); } }; const controls_forEach = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('LIST') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOREACH_INPUT); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOREACH_INPUT_ITEM) // .appendField(new Blockly.FieldTextInput('i'), 'VAR'); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(function () { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_TOOLTIP.replace('“%1”', ''); }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const controls_whileUntil = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('BOOL') .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_CURRENT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this.OPERATORS), 'MODE') // this.appendDummyInput() // .appendField(Blockly.Msg.CONTROLS_WHILE_SHI); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('MODE'); var TOOLTIPS = { 'WHILE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE, 'UNTIL': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL }; return TOOLTIPS[op]; }); } }; const controls_try_finally = { /** * Block for if/elseif/else condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TRY); this.appendStatementInput('try'); this.appendValueInput('IF1') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_EXCEPT); this.appendStatementInput('DO1') .appendField(''); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['controls_except', 'controls_finally'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP); this.elseifCount_ = 1; this.elseCount_ = 0; }, /** * Create XML to represent the number of else-if and else inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { if (!this.elseifCount_ && !this.elseCount_) { return null; } var container = document.createElement('mutation'); if (this.elseifCount_) { container.setAttribute('elseif', this.elseifCount_); } if (this.elseCount_) { container.setAttribute('else', 1); } return container; }, /** * Parse XML to restore the else-if and else inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var containerBlock = this; var valueConnections = []; var statementConnections = []; // var elseStatementConnection = null; if (this.elseCount_) { // if (containerBlock.getInputTargetBlock('ELSE') && containerBlock.getInputTargetBlock('ELSE').previousConnection) // elseStatementConnection = containerBlock.getInputTargetBlock('ELSE').previousConnection; this.removeInput('ELSE'); } for (var i = this.elseifCount_; i > 0; i--) { if (containerBlock.getInputTargetBlock('IF' + i) && containerBlock.getInputTargetBlock('IF' + i).previousConnection) valueConnections[i] = (containerBlock.getInputTargetBlock('IF' + i).previousConnection); else valueConnections[i] = null; this.removeInput('IF' + i); if (containerBlock.getInputTargetBlock('DO' + i) && containerBlock.getInputTargetBlock('DO' + i).previousConnection) statementConnections[i] = (containerBlock.getInputTargetBlock('DO' + i).previousConnection); else statementConnections[i] = null; this.removeInput('DO' + i); } this.elseifCount_ = parseInt(xmlElement.getAttribute('elseif'), 10); this.elseCount_ = parseInt(xmlElement.getAttribute('else'), 10); //this.compose(containerBlock); for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Boolean, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_EXCEPT); this.appendStatementInput('DO' + i) .appendField(""); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_FINALLY); } for (var i = valueConnections.length - 2; i > 0; i--) { if (valueConnections[i]) valueConnections[i].reconnect(this, 'IF' + i); } for (var i = statementConnections.length - 2; i > 0; i--) { if (statementConnections[i]) statementConnections[i].reconnect(this, 'DO' + i); } }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('controls_try'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 1; i <= this.elseifCount_; i++) { var elseifBlock = workspace.newBlock('controls_except'); elseifBlock.initSvg(); connection.connect(elseifBlock.previousConnection); connection = elseifBlock.nextConnection; } if (this.elseCount_) { var elseBlock = workspace.newBlock('controls_finally'); elseBlock.initSvg(); connection.connect(elseBlock.previousConnection); } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { // Disconnect the else input blocks and remove the inputs. if (this.elseCount_) { this.removeInput('ELSE'); } this.elseCount_ = 0; // Disconnect all the elseif input blocks and remove the inputs. for (var i = this.elseifCount_; i > 0; i--) { this.removeInput('IF' + i); this.removeInput('DO' + i); } this.elseifCount_ = 0; // Rebuild the block's optional inputs. var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_except': this.elseifCount_++; valueConnections.push(clauseBlock.valueConnection_); statementConnections.push(clauseBlock.statementConnection_); break; case 'controls_finally': this.elseCount_++; elseStatementConnection = clauseBlock.statementConnection_; break; default: throw Error('Unknown block type: ' + clauseBlock.type); } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } this.updateShape_(); // Reconnect any child blocks. this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var clauseBlock = containerBlock.getInputTargetBlock('STACK'); var i = 1; while (clauseBlock) { switch (clauseBlock.type) { case 'controls_except': var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); clauseBlock.valueConnection_ = inputIf && inputIf.connection.targetConnection; clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; i++; break; case 'controls_finally': var inputDo = this.getInput('ELSE'); clauseBlock.statementConnection_ = inputDo && inputDo.connection.targetConnection; break; default: throw 'Unknown block type.'; } clauseBlock = clauseBlock.nextConnection && clauseBlock.nextConnection.targetBlock(); } }, /** * Reconstructs the block with all child blocks attached. */ rebuildShape_: function () { var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; if (this.getInput('ELSE')) { elseStatementConnection = this.getInput('ELSE').connection.targetConnection; } var i = 1; while (this.getInput('IF' + i)) { var inputIf = this.getInput('IF' + i); var inputDo = this.getInput('DO' + i); console.log(inputIf.connection.targetConnection); valueConnections.push(inputIf.connection.targetConnection); statementConnections.push(inputDo.connection.targetConnection); i++; } this.updateShape_(); this.reconnectChildBlocks_(valueConnections, statementConnections, elseStatementConnection); }, /** * Modify this block to have the correct number of inputs. * @this Blockly.Block * @private */ updateShape_: function () { // Delete everything. if (this.getInput('ELSE')) { this.removeInput('ELSE'); } var i = 1; while (this.getInput('IF' + i)) { this.removeInput('IF' + i); this.removeInput('DO' + i); i++; } // Rebuild block. for (var i = 1; i <= this.elseifCount_; i++) { this.appendValueInput('IF' + i) .setCheck([Number, Boolean]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_EXCEPT); this.appendStatementInput('DO' + i) .appendField(''); } if (this.elseCount_) { this.appendStatementInput('ELSE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_FINALLY); } }, /** * Reconnects child blocks. * @param {!Array} valueConnections List of value * connectsions for if input. * @param {!Array} statementConnections List of * statement connections for do input. * @param {?Blockly.RenderedConnection} elseStatementConnection Statement * connection for else input. */ reconnectChildBlocks_: function (valueConnections, statementConnections, elseStatementConnection) { for (var i = 1; i <= this.elseifCount_; i++) { valueConnections[i] && valueConnections[i].reconnect(this, 'IF' + i); statementConnections[i] && statementConnections[i].reconnect(this, 'DO' + i); } elseStatementConnection && elseStatementConnection.reconnect(this, 'ELSE'); } }; const controls_flow_statements = { init: function () { this.setColour(LOOPS_HUE); var dropdown = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this.OPERATORS); this.appendDummyInput() .appendField(dropdown, 'FLOW') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP); this.setPreviousStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP); var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('FLOW'); var TOOLTIPS = { 'BREAK': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK, 'CONTINUE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE }; return TOOLTIPS[op]; }); }, onchange: function () { if (!this.workspace) { // Block has been deleted. return; } var legal = false; // Is the block nested in a control statement? var block = this; do { if (block.type == 'controls_repeat' || block.type == 'controls_for' || block.type == 'controls_forEach' || block.type == 'controls_repeat_ext' || block.type == 'controls_whileUntil' || block.type == 'do_while') { legal = true; break; } block = block.getSurroundParent(); } while (block); if (legal) { this.setWarningText(null); } else { this.setWarningText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING); } } }; const controls_for = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_WITH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('i'), 'VAR'); this.appendValueInput('FROM') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_FROM); this.appendValueInput('TO') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_TO); this.appendValueInput('STEP') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEP); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_TOOLTIP.replace('%1', thisBlock.getFieldValue('VAR')); }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const controls_for_range = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_WITH) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('i'), 'VAR'); this.appendValueInput('FROM') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_FROM); this.appendValueInput('TO') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_TO); this.appendValueInput('STEP') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STEP); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace('%1', thisBlock.getFieldValue('VAR')); }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; controls_whileUntil.OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE, 'WHILE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL, 'UNTIL'] ]; controls_flow_statements.OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK, 'BREAK'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE, 'CONTINUE'] ]; const controls_if_if = { /** * Mutator block for if container. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_IF_TITLE_IF); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_IF_TOOLTIP); this.contextMenu = false; } }; const controls_if_elseif = { /** * Mutator bolck for else-if condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSEIF_TOOLTIP); this.contextMenu = false; } }; const controls_if_else = { /** * Mutator block for else condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSE_TITLE_ELSE); this.setPreviousStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_IF_ELSE_TOOLTIP); this.contextMenu = false; } }; const controls_try = { /** * Mutator block for if container. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField('try'); this.appendStatementInput('STACK'); this.setPreviousStatement(false); this.setNextStatement(false); this.contextMenu = false; } }; const controls_except = { /** * Mutator bolck for else-if condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_EXCEPT); this.setPreviousStatement(true); this.setNextStatement(true); this.contextMenu = false; this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP); } }; const controls_finally = { /** * Mutator block for else condition. * @this Blockly.Block */ init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_FINALLY); this.setPreviousStatement(true); this.contextMenu = false; this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP); } }; const controls_repeat_ext = { /** * Block for repeat n times (external number). * @this Blockly.Block */ init: function () { this.jsonInit({ "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_TITLE, "args0": [ { "type": "input_value", "name": "TIMES", // "check": "Number" } ], "previousStatement": null, "nextStatement": null, "colour": LOOPS_HUE, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_TOOLTIP, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_HELPURL }); this.appendStatementInput('DO'); } }; const controls_lambda = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('BOOL') .appendField('lambda') //.appendField(new Blockly.FieldDropdown(this.OPERATORS), 'MODE'); this.appendStatementInput('DO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STAT); this.setOutput(true); // this.setNextStatement(true); } }; const controls_pass = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_PASS); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP); } }; const controls_thread = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START) this.appendValueInput('callback') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE) this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PARAMS); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP); } }; //do-while循环 const do_while = { init: function () { this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_TITLE_REPEAT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DO); this.appendStatementInput("input_data") .setCheck(null) this.appendValueInput("select_data") .setCheck(null) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_OPERATOR_UNTIL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE, "true"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL, "false"]]), "type"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(LOOPS_HUE); this.setTooltip("do-while loop"); this.setHelpUrl(""); } }; const garbage_collection = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_OP_GARBAGE_COLLECT); this.setPreviousStatement(true); this.setNextStatement(true); } }; const get_mem_alloc = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_MEM_ALLOC); this.setOutput(true) } }; const get_mem_free = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_MEM_FREE); this.setOutput(true) } }; const get_unique_identifier = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DEVICE + 'ID'); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_UNIQUE_IDEN); } }; // export const base_type = controls_type; // export const controls_TypeLists = controls_typeLists; const datetime_fromtimestamp = { init: function () { this.setColour(LOOPS_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RTC_TIMESTAMP); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TIMESTAMP_TO_DATA); this.setInputsInline(true); this.setOutput(true, Number); } }; const gene_unique_identifier = { init: function () { this.setColour(LOOPS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET_UNIQUE_IDEN); this.setOutput(true) } }; /***/ }), /***/ "../python/blocks/dicts.js": /*!*********************************!*\ !*** ../python/blocks/dicts.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ dicts_add_change_del: () => (/* binding */ dicts_add_change_del), /* harmony export */ dicts_add_or_change: () => (/* binding */ dicts_add_or_change), /* harmony export */ dicts_clear: () => (/* binding */ dicts_clear), /* harmony export */ dicts_create_with: () => (/* binding */ dicts_create_with), /* harmony export */ dicts_create_with_container: () => (/* binding */ dicts_create_with_container), /* harmony export */ dicts_create_with_item: () => (/* binding */ dicts_create_with_item), /* harmony export */ dicts_create_with_noreturn: () => (/* binding */ dicts_create_with_noreturn), /* harmony export */ dicts_deldict: () => (/* binding */ dicts_deldict), /* harmony export */ dicts_delete: () => (/* binding */ dicts_delete), /* harmony export */ dicts_get: () => (/* binding */ dicts_get), /* harmony export */ dicts_get_default: () => (/* binding */ dicts_get_default), /* harmony export */ dicts_items: () => (/* binding */ dicts_items), /* harmony export */ dicts_keys: () => (/* binding */ dicts_keys), /* harmony export */ dicts_length: () => (/* binding */ dicts_length), /* harmony export */ dicts_pop: () => (/* binding */ dicts_pop), /* harmony export */ dicts_setdefault: () => (/* binding */ dicts_setdefault), /* harmony export */ dicts_to_json: () => (/* binding */ dicts_to_json), /* harmony export */ dicts_to_json2: () => (/* binding */ dicts_to_json2), /* harmony export */ dicts_to_to: () => (/* binding */ dicts_to_to), /* harmony export */ dicts_todict: () => (/* binding */ dicts_todict), /* harmony export */ dicts_update: () => (/* binding */ dicts_update), /* harmony export */ dicts_values: () => (/* binding */ dicts_values), /* harmony export */ json_to_dicts: () => (/* binding */ json_to_dicts) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /** * @license * Visual Blocks Editor * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Dictionary blocks for Blockly. * @author acbart@vt.edu (Austin Cory Bart) */ const DICTS_HUE = 345; const dicts_create_with = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('mydict'), 'VAR') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldLabel(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_INPUT_WITH), 'TIP') this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['dicts_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('dicts_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('dicts_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } var keyNames = []; for (var i = 0; this.getInput('ADD' + i); i++) { //this.getInput('VALUE' + i).removeField("KEY"+i); keyNames.push(this.getFieldValue("KEY" + i)) this.removeInput('ADD' + i); } // Rebuild block. if (this.itemCount_ == 0) { this.getField('TIP').setValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_EMPTY_TITLE); } else { this.getField('TIP').setValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_INPUT_WITH); for (var i = 0; i < this.itemCount_; i++) { this.appendValueInput('ADD' + i) .setCheck(null) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField( new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput( keyNames.length > i ? keyNames[i] : (i == 0 ? '"key"' : '"key' + (i + 1) + '"')), 'KEY' + i) .appendField(":") } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const dicts_create_with_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const dicts_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const dicts_keys = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_KEYS); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_KEYS_TOOLTIP); this.setOutput(true, 'List'); } }; const dicts_get = { init: function () { this.setColour(DICTS_HUE); // this.appendDummyInput("") // .appendField(Blockly.Msg.DICTS_GET_FROM_DICTS) this.appendValueInput('DICT') .setCheck('Dict') this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_GET_IN) this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_GET_TOOLTIP); } }; const dicts_get_default = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_GET_IN) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DEFAULT_VALUE); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_GET_DEFAULT_TOOLTIP); } }; const dicts_add_or_change = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD) // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') this.appendDummyInput() this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP); } }; const dicts_delete = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DELETE_IN) this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DELETE_VALUE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DELETE_TOOLTIP); } }; const dicts_update = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT2') .setCheck('Dict') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MAKE_DICT) this.appendValueInput('DICT') .setCheck('Dict') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_UPDATE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MID); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_UPDATE_TOOLTIP); this.setPreviousStatement(true); this.setNextStatement(true); } }; const dicts_clear = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_CLEAR); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CLEAR_TOOLTIP); this.setPreviousStatement(true); this.setNextStatement(true); } }; const dicts_items = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_ITEMS); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ITEMS_TOOLTIP); this.setOutput(true, 'List'); } }; const dicts_values = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_VALUES); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_VALUES_TOOLTIP); this.setOutput(true, 'List'); } }; const dicts_length = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LENGTH) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_LENGTH_TOOLTIP); this.setOutput(true, Number); } }; const dicts_deldict = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_DELDICT); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DEL_TOOLTIP); this.setPreviousStatement(true); this.setNextStatement(true); } }; const dicts_add_change_del = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this['MODE'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_OR_CHANGE, 'INSERT'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_DELETE_VAR, 'DELETE'] ]; this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput('AT2') this.appendValueInput('KEY') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.updateAt_(true); this.setInputsInline(true); this.setOutput(false); this.setPreviousStatement(true); this.setNextStatement(true); var b = this; this.setTooltip(function () { var e = b.getFieldValue("WHERE"), d = ""; switch (e) { case "INSERT": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_TOOLTIP; break; case "DELETE": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DELETE_TOOLTIP; break; } //if ("FROM_START" == e || "FROM_END" == e) d += " " + Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1", ONE_BASED_INDEXING ? "#1": "#0"); return d }) }, /** * Create XML to represent whether there are 'AT' inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); var isAt = this.getInput('AT2').type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; container.setAttribute('at2', isAt); return container; }, /** * Parse XML to restore the 'AT' inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var isAt = (xmlElement.getAttribute('at2') == 'true'); this.updateAt_(isAt); }, /** * Create or delete an input for a numeric index. * This block has two such inputs, independant of each other. * @param {number} n Specify first or second input (1 or 2). * @param {boolean} isAt True if the input should exist. * @private * @this Blockly.Block */ updateAt_: function (isAt) { // Create or delete an input for the numeric index. // Destroy old 'AT' and 'ORDINAL' inputs. this.removeInput('AT2'); this.removeInput('ORDINAL', true); // Create either a value 'AT' input or a dummy input. if (isAt) { this.appendValueInput('AT2').setCheck(Number); } else { this.appendDummyInput('AT2'); } var menu = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this['MODE'], function (value) { var newAt = (value == 'INSERT'); // The 'isAt' variable is available due to this function being a // closure. if (newAt != isAt) { var block = this.sourceBlock_; block.updateAt_(newAt); // This menu has been destroyed and replaced. // Update the replacement. block.setFieldValue(value, 'WHERE'); return null; } return undefined; }); this.getInput('AT2') .appendField(menu, 'WHERE'); // this.moveInputBefore('AT2','LIST'); } }; const dicts_pop = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_DICT_POP) this.appendValueInput('KEY') this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICT_POP_TOOLTIP); this.setInputsInline(true); this.setOutput(true); } }; const dicts_setdefault = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict'); this.appendValueInput('KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_SET_DEFAULT) this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('"key"'), 'KEY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_DEFAULT_VALUE); this.appendValueInput('VAR') this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_SETDEFAULT_TOOLTIP); } }; const dicts_create_with_noreturn = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(DICTS_HUE); this.appendDummyInput("") // .appendField(new Blockly.FieldTextInput('mydict'), 'VAR') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldLabel(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT), 'TIP') .appendField(' ') this.itemCount_ = 3; this.updateShape_(); this.setOutput(true, "Dict") this.setPreviousStatement(false); this.setNextStatement(false); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['dicts_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_CREATE_WITH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('dicts_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('dicts_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } var keyNames = []; for (var i = 0; this.getInput('ADD' + i); i++) { //this.getInput('VALUE' + i).removeField("KEY"+i); keyNames.push(this.getFieldValue("KEY" + i)) this.removeInput('ADD' + i); } // Rebuild block. if (this.itemCount_ == 0) { this.getField('TIP').setValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT); } else { this.getField('TIP').setValue(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT); for (var i = 0; i < this.itemCount_; i++) { this.appendValueInput('ADD' + i) .setCheck(null) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField( new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput( keyNames.length > i ? keyNames[i] : (i == 0 ? '"key"' : '"key' + (i + 1) + '"')), 'KEY' + i) .appendField(":") } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const dicts_todict = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TODICT); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TODICT); } }; const dicts_to_json = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_JSON); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_JSON_TOOLTIP); this.setOutput(true); } }; const json_to_dicts = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('VAR'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONVERT_TO_JSON); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP); this.setOutput(true); } }; const dicts_to_to ={ init:function(){ this.setColour(DICTS_HUE); this.appendValueInput('DICT') .setCheck('Dict'); this.appendValueInput('VAR1') .appendField('key1'); this.appendValueInput('VAR2') .appendField('index'); this.appendValueInput('VAR3') .appendField('key2'); this.appendValueInput('VAR4') .appendField('key3'); this.setInputsInline(true) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP); this.setOutput(true); } } const dicts_to_json2 = { init: function () { this.setColour(DICTS_HUE); this.appendValueInput('DICT'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_JSON); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_JSON_TOOLTIP); this.setOutput(true); } }; /***/ }), /***/ "../python/blocks/html.js": /*!********************************!*\ !*** ../python/blocks/html.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ html_content: () => (/* binding */ html_content), /* harmony export */ html_content_more: () => (/* binding */ html_content_more), /* harmony export */ html_document: () => (/* binding */ html_document), /* harmony export */ html_form: () => (/* binding */ html_form), /* harmony export */ html_head_body: () => (/* binding */ html_head_body), /* harmony export */ html_style: () => (/* binding */ html_style), /* harmony export */ html_style_color: () => (/* binding */ html_style_color), /* harmony export */ html_style_content: () => (/* binding */ html_style_content), /* harmony export */ html_text: () => (/* binding */ html_text), /* harmony export */ html_title: () => (/* binding */ html_title) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const HTML_HUE = '#1ec1e4'; const html_document = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_DOCUMENT); this.appendStatementInput('HEAD') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_HEAD); this.appendStatementInput('BODY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BODY); this.setOutput(true); } }; const html_title = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_LEVEL) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"]]), 'LEVEL'); this.appendStatementInput('DO') .appendField(''); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_head_body = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_HEAD, "head"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BODY, "body"] ]), 'LEVEL'); this.appendStatementInput('DO') .appendField(''); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_content = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_P, "p"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SPAN, "span"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_FORM, "form"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_TABLE, "table"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_LINE, "tr"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_CELL, "td"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_OL, "ol"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_UL, "ul"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_LI, "li"] ]), 'LEVEL') // this.appendValueInput('style') // .appendField(Blockly.Msg.MIXLY_AIP_ATTR) // .setAlign(Blockly.inputs.Align.RIGHT); this.appendStatementInput('DO') .appendField(''); this.setInputsInline(false); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_content_more = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField('<') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('tag'), "LEVEL") .appendField('>') this.appendValueInput('style') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIP_ATTR) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.appendStatementInput('DO') .appendField(''); this.setInputsInline(false); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_style = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_STYLE) this.appendStatementInput('STYLE'); this.setOutput(true); } }; const html_form = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_FORM_CONTENT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_TEXT, "text"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_EMAIL, "email"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NUMBER, "number"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_PASSWORD, "password"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_CHECKBOX, "checkbox"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_RADIOBUTTON, "radiobutton"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_BUTTON, "button"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_COLOUR, "colour"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_DATE, "date"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_LOCALTIME, "local time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_FILE, "file"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_HIDDEN, "hidden"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_IMAGE, "image"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_MONTH, "month"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_RANGE, "range"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_RESET, "reset"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SEARCH, "search"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_SUBMIT, "submit"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_TELEPHONENUMBER, "telephone number"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_TIME, "time"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_URL, "url"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_WEEK, "week"] ]), 'LEVEL') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_NAME) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('car'), "NAME") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_VALUE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('go'), "VALUE") this.appendValueInput('style') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AIP_ATTR) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_style_content = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('property'), "KEY") .appendField(':') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('value'), "VALUE") this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_style_color = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('property'), "KEY") .appendField(':') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldColour("#ff0000"), "RGB_LED_COLOR"); this.setPreviousStatement(true); this.setNextStatement(true); } }; const html_text = { init: function () { this.setColour(HTML_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_TEXT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('text'), "TEXT"); this.setPreviousStatement(true); this.setNextStatement(true); } }; /***/ }), /***/ "../python/blocks/lists.js": /*!*********************************!*\ !*** ../python/blocks/lists.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ENUMERATE: () => (/* binding */ ENUMERATE), /* harmony export */ content_in_lists: () => (/* binding */ content_in_lists), /* harmony export */ enumerate: () => (/* binding */ enumerate), /* harmony export */ list_many_input: () => (/* binding */ list_many_input), /* harmony export */ list_tolist: () => (/* binding */ list_tolist), /* harmony export */ list_tolist2: () => (/* binding */ list_tolist2), /* harmony export */ list_trig: () => (/* binding */ list_trig), /* harmony export */ lists_2d_get_col_row_data: () => (/* binding */ lists_2d_get_col_row_data), /* harmony export */ lists_2d_get_data_with_col_row: () => (/* binding */ lists_2d_get_data_with_col_row), /* harmony export */ lists_append_extend: () => (/* binding */ lists_append_extend), /* harmony export */ lists_change_to: () => (/* binding */ lists_change_to), /* harmony export */ lists_change_to_general: () => (/* binding */ lists_change_to_general), /* harmony export */ lists_clear: () => (/* binding */ lists_clear), /* harmony export */ lists_create_with: () => (/* binding */ lists_create_with), /* harmony export */ lists_create_with2: () => (/* binding */ lists_create_with2), /* harmony export */ lists_create_with_container: () => (/* binding */ lists_create_with_container), /* harmony export */ lists_create_with_item: () => (/* binding */ lists_create_with_item), /* harmony export */ lists_create_with_noreturn: () => (/* binding */ lists_create_with_noreturn), /* harmony export */ lists_create_with_text: () => (/* binding */ lists_create_with_text), /* harmony export */ lists_create_with_text2: () => (/* binding */ lists_create_with_text2), /* harmony export */ lists_del_general: () => (/* binding */ lists_del_general), /* harmony export */ lists_find: () => (/* binding */ lists_find), /* harmony export */ lists_getIndex3: () => (/* binding */ lists_getIndex3), /* harmony export */ lists_getSublist3: () => (/* binding */ lists_getSublist3), /* harmony export */ lists_get_index: () => (/* binding */ lists_get_index), /* harmony export */ lists_get_random_item: () => (/* binding */ lists_get_random_item), /* harmony export */ lists_get_random_sublist: () => (/* binding */ lists_get_random_sublist), /* harmony export */ lists_get_sublist: () => (/* binding */ lists_get_sublist), /* harmony export */ lists_insert_value: () => (/* binding */ lists_insert_value), /* harmony export */ lists_insert_value2: () => (/* binding */ lists_insert_value2), /* harmony export */ lists_pop: () => (/* binding */ lists_pop), /* harmony export */ lists_remove_at: () => (/* binding */ lists_remove_at), /* harmony export */ lists_remove_at2: () => (/* binding */ lists_remove_at2), /* harmony export */ lists_reverse: () => (/* binding */ lists_reverse), /* harmony export */ lists_setIndex3: () => (/* binding */ lists_setIndex3), /* harmony export */ lists_set_index: () => (/* binding */ lists_set_index), /* harmony export */ lists_sort: () => (/* binding */ lists_sort) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const LISTS_HUE = 260; //'#70b234'//260; const lists_get_index = { init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_HELPURL); this.setColour(LISTS_HUE); this.appendValueInput("LIST") this.appendValueInput("AT") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM); } } const lists_get_sublist = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(LISTS_HUE); this.appendValueInput('LIST') this.appendDummyInput('') this.appendValueInput('AT1') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendValueInput('AT2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL); this.setInputsInline(true); this.setOutput(true, 'List'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_LISTS_GET_SUBLIST_TOOLTIP); } } const lists_2d_get_data_with_col_row = { init: function () { this.appendValueInput("LIST") .setCheck(null); this.appendValueInput("row") .setCheck(null) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DATAFRAME_RAW); this.appendValueInput("col") .setCheck(null) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DATAFRAME_COLUMN); this.setInputsInline(true); this.setOutput(true, null); this.setColour(LISTS_HUE); this.setTooltip(""); this.setHelpUrl(""); } }; const lists_2d_get_col_row_data = { init: function () { this.appendValueInput("LIST") .setCheck(null); this.appendValueInput("row_start") .setCheck(null) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DATAFRAME_RAW + " ["); this.appendValueInput("row_end") .setCheck(null) .appendField(","); this.appendValueInput("col_start") .setCheck(null) .appendField(") " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DATAFRAME_COLUMN + " ["); this.appendValueInput("col_end") .setCheck(null) .appendField(","); this.appendDummyInput() .appendField(") " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.DICTS_ADD_VALUE); this.setInputsInline(true); this.setOutput(true, 'List'); this.setColour(LISTS_HUE); this.setTooltip(""); this.setHelpUrl(""); } }; const lists_create_with = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendDummyInput("") //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array'], [Blockly.Msg.LANG_MATH_STRING, 'Array'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'Array']]), 'TYPE') // .appendField(' ') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('mylist'), 'VAR') .appendField('[') //.appendField(new Blockly.FieldTextInput('3',Blockly.FieldTextInput.math_number_validator), 'SIZE') .appendField(']'); this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['lists_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('lists_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('lists_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const lists_create_with_text = { init: function () { this.setColour(LISTS_HUE); this.appendDummyInput("") //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array']]), 'TYPE') // .appendField(' ') // .appendField(Blockly.Msg.blockpy_MIXLY_SPLITBYDOU) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('mylist'), 'VAR') //.appendField(new Blockly.FieldTextInput('3',Blockly.FieldTextInput.math_number_validator), 'SIZE') // .appendField(Blockly.Msg.MIXLY_MAKELISTFROM) // .appendField(this.newQuote_(true)) .appendField(' = [') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'), 'TEXT') .appendField(']'); // .appendField(this.newQuote_(false)) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT2); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } } const lists_create_with_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const lists_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const lists_set_index = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('LIST'); this.appendValueInput('AT') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_LIST_ASSIGN_AT); this.appendValueInput('TO') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIST_VALUE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_SET_INDEX_TOOLTIP); } }; const lists_append_extend = { init: function () { this.setColour(LISTS_HUE); this['TYPE'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_blockpy_set_add, 'append'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_LIST_EXTEND, 'extend'] ]; this.appendValueInput('LIST') .setCheck('List') this.appendValueInput('DATA') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this['TYPE']), 'OP') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_LIST_A_ITEM) this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIST_TO_END); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'append': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LIST_APPEND, 'extend': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_EXTEND_TOOLTIP }; return TOOLTIPS[mode]; }); } }; const lists_get_random_item = { /** * Block for get a random item from list. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendValueInput("LIST"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_RANDOM) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM); this.setOutput(true); } }; const lists_get_random_sublist = { /** * Block for get a random item from list. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendValueInput("LIST"); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_RANDOM) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_GET_INDEX2 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_RANDOM_SUBLIST) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_RANDOM_SUBLIST_TOOLTIP); this.setOutput(true, 'List'); } }; const lists_insert_value = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('LIST'); this.appendValueInput('AT') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIST_INSERT_AT); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIST_VALUE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_SET_INDEX_TOOLTIP); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT); } }; const lists_reverse = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('VAR') .setCheck('List') //this.appendDummyInput("") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_LIST_REVERSE) //.appendField(new Blockly.FieldTextInput('mylist'), 'VAR'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_CLEAR_TOOLTIP); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const lists_clear = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('VAR') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_CLEAR) //.appendField(new Blockly.FieldTextInput('mylist'), 'VAR'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_REVERSE_TOOLTIP); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; const lists_remove_at = { init: function () { this.setColour(LISTS_HUE); this['TYPE'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SERIES_INDEX, 'del'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_I2C_VALUE, 'remove'] ]; this.appendValueInput('LIST') .setCheck('List') this.appendValueInput('DATA') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_LISTS_REMOVE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this['TYPE']), 'OP') this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'del': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_TOOLTIP_DELETE, 'remove': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LIST_REMOVE }; return TOOLTIPS[mode]; }); } }; const lists_pop = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('LIST'); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_LIST_POP); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM); } }; const lists_find = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX, 'INDEX'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_COUNT, 'COUNT'] ]; this.setColour(LISTS_HUE); this.appendValueInput('VAR') .setCheck('List') this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_VALUE) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); //.appendField(new Blockly.FieldTextInput('mylist'), 'VAR') this.setInputsInline(true); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'INDEX': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LIST_FIND_INDEX, 'COUNT': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LIST_FIND_COUNT }; return TOOLTIPS[mode]; }); } }; const list_trig = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_LEN, 'LEN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_SUM, 'SUM'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MAX, 'MAX'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MIN, 'MIN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_AVERAGE, 'AVERAGE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MEDIAN, 'MEDIAN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MODE, 'MODE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_STD_DEV, 'STD_DEV'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(LISTS_HUE); this.setOutput(true, Number); this.appendValueInput('data') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'LEN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_LENGTH_TOOLTIP, 'SUM': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_SUM, 'MAX': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_MAX, 'MIN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_MIN, 'AVERAGE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_AVERAGE, 'MEDIAN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_MEDIAN, 'MODE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_MODE, 'STD_DEV': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_STD_DEV }; return TOOLTIPS[mode]; }); } }; const lists_sort = { /** * Block for sorting a list. * @this Blockly.Block */ init: function () { this.jsonInit({ "args0": [ { "type": "input_value", "name": "LIST", "check": "List" }, { "type": "field_dropdown", "name": "TYPE", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_TYPE_NUMERIC, "NUMERIC"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_TYPE_TEXT, "TEXT"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_TYPE_IGNORECASE, "IGNORE_CASE"] ] }, { "type": "field_dropdown", "name": "DIRECTION", "options": [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_ORDER_ASCENDING, "1"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_ORDER_DESCENDING, "-1"] ] }, ], "message0": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_TITLE, "inputsInline": true, "output": "List", "colour": LISTS_HUE, "tooltip": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_TOOLTIP, "helpUrl": blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SORT_HELPURL }); } }; const lists_change_to = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, 'tuple'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, 'set'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD, 'array'] ]; this.setColour(LISTS_HUE); this.appendValueInput('VAR') .setCheck("List") // .appendField(Blockly.Msg.blockpy_USE_LIST); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.A_TO_B) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'tuple': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_TUPLE, 'set': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_SET, 'array': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_ARRAY }; return TOOLTIPS[mode]; }); this.setInputsInline(true); this.setOutput(true); } }; const list_many_input = { init: function () { this.setColour(LISTS_HUE); this.appendDummyInput("") .appendField('[') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'), "CONTENT") .appendField(']'); this.setInputsInline(true); this.setOutput(true); } }; const lists_create_with_noreturn = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, "List") this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['lists_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('lists_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('lists_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } } const lists_change_to_general = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, 'list'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, 'tuple'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, 'set'] ]; this.setColour(LISTS_HUE); this.appendValueInput('VAR'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.A_TO_B) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); this.setOutput(true); } }; const lists_del_general = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(LISTS_HUE); this.appendValueInput('TUP') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.OBJECT_DELETE); this.setPreviousStatement(true); this.setNextStatement(true); } }; const list_tolist = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOLIST); this.setOutput(true, 'List'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOLIST); } }; const lists_create_with2 = lists_create_with const lists_create_with_text2 = lists_create_with_text const lists_getIndex3 = lists_get_index const lists_getSublist3 = lists_get_sublist const lists_setIndex3 = lists_set_index const lists_insert_value2 = lists_insert_value const lists_remove_at2 = lists_remove_at const list_tolist2 = list_tolist; const ENUMERATE ={ init: function () { this.setColour(LISTS_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_USE_LIST); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_INDEX_SEQUENCE); // this.appendValueInput('VAR_N') // .appendField(Blockly.Msg.MIXLY_INDEX+Blockly.Msg.MIXLY_STARTSWITH); this.setInputsInline(true); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP); } }; const enumerate = { init: function () { this.setColour(LISTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_USE_LIST); this.appendValueInput('LIST'); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_INDEX_SEQUENCE) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_INDEX+blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STARTSWITH); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP); } }; const content_in_lists = { init: function () { this.setColour(LISTS_HUE); this.appendValueInput("CON") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_MIXGO_MUSIC_SHOW_IN); this.appendValueInput("LIST") this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MID); this.setInputsInline(true); this.setOutput(true); } } /***/ }), /***/ "../python/blocks/logic.js": /*!*********************************!*\ !*** ../python/blocks/logic.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ logic_boolean: () => (/* binding */ logic_boolean), /* harmony export */ logic_compare: () => (/* binding */ logic_compare), /* harmony export */ logic_compare_continous: () => (/* binding */ logic_compare_continous), /* harmony export */ logic_is: () => (/* binding */ logic_is), /* harmony export */ logic_is_in: () => (/* binding */ logic_is_in), /* harmony export */ logic_negate: () => (/* binding */ logic_negate), /* harmony export */ logic_null: () => (/* binding */ logic_null), /* harmony export */ logic_operation: () => (/* binding */ logic_operation), /* harmony export */ logic_tobool: () => (/* binding */ logic_tobool), /* harmony export */ logic_true_or_false: () => (/* binding */ logic_true_or_false) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const LOGIC_HUE = 210; const logic_compare = { /** * Block for comparison operator. * @this Blockly.Block */ init: function () { var OPERATORS = blockly_core__WEBPACK_IMPORTED_MODULE_0__.RTL ? [ ['=', 'EQ'], ['\u2260', 'NEQ'], ['>', 'LT'], ['\u2265', 'LTE'], ['<', 'GT'], ['\u2264', 'GTE'] ] : [ ['=', 'EQ'], ['\u2260', 'NEQ'], ['<', 'LT'], ['\u2264', 'LTE'], ['>', 'GT'], ['\u2265', 'GTE'] ]; //this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true, Boolean); this.appendValueInput('A'); this.appendValueInput('B') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'EQ': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_EQ, 'NEQ': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_NEQ, 'LT': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_LT, 'LTE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_LTE, 'GT': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_GT, 'GTE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_COMPARE_TOOLTIP_GTE }; return TOOLTIPS[op]; }); this.prevBlocks_ = [null, null]; }, /** * Called whenever anything on the workspace changes. * Prevent mismatched types from being compared. * @this Blockly.Block */ /*onchange: function(e) { var blockA = this.getInputTargetBlock('A'); var blockB = this.getInputTargetBlock('B'); // Disconnect blocks that existed prior to this change if they don't match. if (blockA && blockB && !blockA.outputConnection.checkType_(blockB.outputConnection)) { // Mismatch between two inputs. Disconnect previous and bump it away. // Ensure that any disconnections are grouped with the causing event. Blockly.Events.setGroup(e.group); for (var i = 0; i < this.prevBlocks_.length; i++) { var block = this.prevBlocks_[i]; if (block === blockA || block === blockB) { block.unplug(); block.bumpNeighbours_(); } } Blockly.Events.setGroup(false); } this.prevBlocks_[0] = blockA; this.prevBlocks_[1] = blockB; }*/ }; const logic_compare_continous = { init: function () { var OPERATORS1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.RTL ? [ ['>', 'LT'], ['\u2265', 'LTE'], ['<', 'GT'], ['\u2264', 'GTE'] ] : [ ['<', 'LT'], ['\u2264', 'LTE'], ['>', 'GT'], ['\u2265', 'GTE'] ]; var OPERATORS2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.RTL ? [ ['>', 'LT'], ['\u2265', 'LTE'], ['<', 'GT'], ['\u2264', 'GTE'] ] : [ ['<', 'LT'], ['\u2264', 'LTE'], ['>', 'GT'], ['\u2265', 'GTE'] ]; //this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true, Boolean); this.appendValueInput('A'); this.appendValueInput('B') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS1), 'OP1'); this.appendValueInput('C') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS2), 'OP2'); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP); } }; const logic_operation = { /** * Block for logical operations: 'and', 'or'. * @this Blockly.Block */ init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_AND, 'AND'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_OR, 'OR'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_NOR, 'NOR'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_XOR, 'XOR'] ]; //this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true, Boolean); this.appendValueInput('A') .setCheck([Boolean, Number]); this.appendValueInput('B') .setCheck([Boolean, Number]) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var op = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'AND': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_TOOLTIP_AND, 'OR': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_TOOLTIP_OR, 'NOR': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_TOOLTIP_NOR, 'XOR': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_OPERATION_TOOLTIP_XOR }; return TOOLTIPS[op]; }); } }; const logic_negate = { /** * Block for negation. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.LOGIC_NEGATE_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true, Boolean); this.appendValueInput('BOOL') .setCheck([Number, Boolean]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NEGATE_TITLE); //this.interpolateMsg(Blockly.Msg.LOGIC_NEGATE_TITLE, // ['BOOL', Boolean, Blockly.inputs.Align.RIGHT], // Blockly.inputs.Align.RIGHT); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NEGATE_TOOLTIP); } }; const logic_boolean = { /** * Block for boolean data type: true and false. * @this Blockly.Block */ init: function () { var BOOLEANS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_BOOLEAN_TRUE, 'TRUE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_BOOLEAN_FALSE, 'FALSE'] ]; //this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true, Boolean); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(BOOLEANS), 'BOOL'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_BOOLEAN_TOOLTIP); } }; const logic_null = { /** * Block for null data type. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.LOGIC_NULL_HELPURL); this.setColour(LOGIC_HUE); this.setOutput(true); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL_TOOLTIP); } }; const logic_true_or_false = { init: function () { this.setColour(LOGIC_HUE); this.appendValueInput('A'); this.appendValueInput('B') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_TERNARY_IF_TRUE); this.appendValueInput('C') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_TERNARY_IF_FALSE); this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE); } }; const logic_is_in = { init: function () { var BOOLEANS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_APPEND_TO, 'in'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN, 'not in'] ]; this.setColour(LOGIC_HUE); this.appendValueInput('A'); this.appendValueInput('B') .setCheck([String, 'List']) //.appendField(Blockly.Msg.TEXT_APPEND_TO) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(BOOLEANS), 'BOOL'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_LOGIC_IS_IN); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.IN); } }; const logic_is = { init: function () { var BOOLEANS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LOGIC_IS, 'is'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LOGIC_IS_NOT, 'is not'] ]; this.setColour(LOGIC_HUE); this.appendValueInput('A'); this.appendValueInput('B') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(BOOLEANS), 'BOOL'); //.appendField(Blockly.Msg.MIXLY_PYTHON_LOGIC_IS); this.setOutput(true, Boolean); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP); } }; const logic_tobool = { init: function () { this.setColour(LOGIC_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOBOOL); this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL); } }; /***/ }), /***/ "../python/blocks/math.js": /*!********************************!*\ !*** ../python/blocks/math.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ base_map: () => (/* binding */ base_map), /* harmony export */ generate_cartesian_product: () => (/* binding */ generate_cartesian_product), /* harmony export */ math_arithmetic: () => (/* binding */ math_arithmetic), /* harmony export */ math_bit: () => (/* binding */ math_bit), /* harmony export */ math_constant: () => (/* binding */ math_constant), /* harmony export */ math_constant_mp: () => (/* binding */ math_constant_mp), /* harmony export */ math_constrain: () => (/* binding */ math_constrain), /* harmony export */ math_dec: () => (/* binding */ math_dec), /* harmony export */ math_indexer_number: () => (/* binding */ math_indexer_number), /* harmony export */ math_map: () => (/* binding */ math_map), /* harmony export */ math_max_min: () => (/* binding */ math_max_min), /* harmony export */ math_number: () => (/* binding */ math_number), /* harmony export */ math_number_base_conversion: () => (/* binding */ math_number_base_conversion), /* harmony export */ math_random: () => (/* binding */ math_random), /* harmony export */ math_random_seed: () => (/* binding */ math_random_seed), /* harmony export */ math_round: () => (/* binding */ math_round), /* harmony export */ math_selfcalcu: () => (/* binding */ math_selfcalcu), /* harmony export */ math_to_int: () => (/* binding */ math_to_int), /* harmony export */ math_trig: () => (/* binding */ math_trig), /* harmony export */ text_to_number: () => (/* binding */ text_to_number), /* harmony export */ text_to_number_skulpt: () => (/* binding */ text_to_number_skulpt), /* harmony export */ turn_to_int: () => (/* binding */ turn_to_int) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const MATH_HUE = 230; //'#e49f16'; blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.math_number_validator = function (text) { //return window.isNaN(text) ? null : String(text); // var pattern = /^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/; // return pattern.test(text) ? String(text) : null;//校验,二 八 十 十六进制匹配 return String(text);//不再校验 }; blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.math_number_validator_include_blank = function (text) { if (text === "") { return ""; } var pattern = /^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/; return pattern.test(text) ? String(text) : null;//校验,二 八 十 十六进制匹配 }; const math_number = { /** * Block for numeric value. * @this Blockly.Block */ init: function () { this.setColour(MATH_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0', blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.math_number_validator), 'NUM'); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_NUMBER_TOOLTIP); } }; const math_constant = { init: function () { this.setColour(MATH_HUE); var constant = [['π', 'pi'], ['e', 'e']]; this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(constant), 'CONSTANT') this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('CONSTANT'); var TOOLTIPS = { 'pi': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP, 'e': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP }; return TOOLTIPS[mode]; }); } }; const math_constant_mp = { init: function () { this.setColour(MATH_HUE); var constant = [['π', 'pi'], ['e', 'e']]; this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(constant), 'CONSTANT') this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('CONSTANT'); var TOOLTIPS = { 'pi': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP, 'e': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP }; return TOOLTIPS[mode]; }); } }; const math_arithmetic = { /** * Block for basic arithmetic operator. * @this Blockly.Block */ init: function () { var OPERATORS = [ ['+', 'ADD'], ['-', 'MINUS'], ['×', 'MULTIPLY'], ['÷', 'DIVIDE'], ['%', 'QUYU'], ['//', 'ZHENGCHU'], ['**', 'POWER'] ]; //this.setHelpUrl(Blockly.Msg.MATH_ARITHMETIC_HELPURL); this.setColour(MATH_HUE); this.setOutput(true); this.appendValueInput('A') this.appendValueInput('B') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'ADD': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_ADD, 'MINUS': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS, 'MULTIPLY': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY, 'DIVIDE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE, 'QUYU': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_MODULO_TOOLTIP, 'ZHENGCHU': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE, 'POWER': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_POWER }; return TOOLTIPS[mode]; }); } }; const math_selfcalcu = { /** * Block for basic arithmetic operator. * @this Blockly.Block */ init: function () { var OPERATORS = [ ['+=', 'ADD'], ['-=', 'MINUS'], ['×=', 'MULTIPLY'], ['÷=', 'DIVIDE'], ['%=', 'QUYU'], ['//=', 'ZHENGCHU'], ['**=', 'POWER'] ]; this.setColour(MATH_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendValueInput('A') this.appendValueInput('B') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'ADD': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_ADD, 'MINUS': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS, 'MULTIPLY': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY, 'DIVIDE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE, 'QUYU': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_MODULO_TOOLTIP, 'ZHENGCHU': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE, 'POWER': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ARITHMETIC_TOOLTIP_POWER }; return TOOLTIPS[mode]; }); } }; const math_bit = { init: function () { var OPERATORS = [ ['&', '&'], ['|', '|'], ['>>', '>>'], ['<<', '<<'] ]; this.setColour(MATH_HUE); this.setOutput(true, Number); this.appendValueInput('A') .setCheck(Number); this.appendValueInput('B') .setCheck(Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); this.setTooltip("位运算"); } }; const math_trig = { /** * Block for trigonometry operators. * @this Blockly.Block */ init: function () { var OPERATORS = [ ['sin', 'SIN'], ['cos', 'COS'], ['tan', 'TAN'], ['asin', 'ASIN'], ['acos', 'ACOS'], ['atan', 'ATAN'], ['-', '-'], ['ln', 'LN'], ['log10', 'LOG10'], ['e^', 'EXP'], ['10^', 'POW10'] ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(MATH_HUE); this.setOutput(true, Number); this.appendValueInput('NUM') .setCheck(Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'SIN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_SIN, 'COS': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_COS, 'TAN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_TAN, 'ASIN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_ASIN, 'ACOS': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_ACOS, 'ATAN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TRIG_TOOLTIP_ATAN, 'LN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_LN }; return TOOLTIPS[mode]; }); } }; const math_dec = { /** * Block for trigonometry operators. * @this Blockly.Block */ init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_BIN, 'bin'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_OCT, 'oct'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_HEX, 'hex'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(MATH_HUE); this.setOutput(true, String); this.appendValueInput('NUM') .setCheck(Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'bin': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_DEC_TOOLTIP_BIN, 'oct': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_DEC_TOOLTIP_OCT, 'hex': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_DEC_TOOLTIP_HEX, }; return TOOLTIPS[mode]; }); } }; //取整等 const math_to_int = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_TO_ROUND, 'round'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_TO_CEIL, 'ceil'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_TO_FLOOR, 'floor'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ABS, 'fabs'], // [Blockly.Msg.MATH_SQ, 'pow'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SQRT, 'sqrt'] ]; this.setColour(MATH_HUE); this.appendValueInput('A') .setCheck(Number) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'sqrt': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_ROOT, 'fabs': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_ABS, 'sq': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_SQ, 'round': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_ROUND, 'ceil': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_CEIL, 'floor': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SINGLE_TOOLTIP_FLOOR }; return TOOLTIPS[mode]; }); } }; //最大最小值 const math_max_min = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAX, 'max'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIN, 'min'], ]; this.setColour(MATH_HUE); this.appendValueInput('A') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP') .appendField('('); this.appendValueInput('B') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(','); this.appendDummyInput('') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(')'); this.setInputsInline(true); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'max': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_MATH_MAX, 'min': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_MATH_MIN }; return TOOLTIPS[mode]; }); } }; const math_number_base_conversion = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TWO, 'two'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_EIGHT, 'eight'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_TEN, 'ten'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_SIXTEEN, 'sixteen'] ]; this.setColour(MATH_HUE); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_BA) this.appendValueInput("NUM") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_JinZhi) .setCheck(Number); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ZHW) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_JinZhi); this.setFieldValue('ten', 'OP2') // this.setPreviousStatement(true, null); // this.setNextStatement(true, null); this.setOutput(true) this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'two': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Before_two, 'eight': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Before_eight, 'ten': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Before_ten, 'sixteen': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Before_sixteen, }; var mode2 = thisBlock.getFieldValue('OP2'); var TOOLTIPS2 = { 'two': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Behind_two, 'eight': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Behind_eight, 'ten': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Behind_ten, 'sixteen': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_Behind_sixteen, }; return TOOLTIPS[mode] + TOOLTIPS2[mode2]; }); } }; const math_random = { init: function () { var INT_FLOAT = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, 'int'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_FLOAT, 'float']]; this.setColour(MATH_HUE); this.setOutput(true, Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_RANDOM) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(INT_FLOAT), 'TYPE'); this.appendValueInput('FROM') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_CONTROLS_FOR_INPUT_FROM); this.appendValueInput('TO') .setCheck(Number) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_RANDOM_INT_INPUT_TO); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('TYPE'); var TOOLTIPS = { 'int': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, 'float': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_FLOAT_RANDOM }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_RANDOM_INT_TOOLTIP + TOOLTIPS[mode]; }); } }; const math_constrain = { /** * Block for constraining a number between two limits. * @this Blockly.Block */ init: function () { this.setColour(MATH_HUE); this.setOutput(true, Number); this.appendValueInput('VALUE') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN); this.appendValueInput('LOW') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW); this.appendValueInput('HIGH') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_CONSTRAIN_TOOLTIP); } }; const math_map = { init: function () { this.setColour(MATH_HUE); this.appendValueInput("NUM", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAP) .setCheck(Number); this.appendValueInput("fromLow", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAP_FROM) .setCheck(Number); this.appendValueInput("fromHigh", Number) .appendField(",") .setCheck(Number); this.appendValueInput("toLow", Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MAP_TO) .setCheck(Number); this.appendValueInput("toHigh", Number) .appendField(",") .setCheck(Number); this.appendDummyInput("") .appendField("]"); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_MATH_MAP); } }; const math_indexer_number = { /** * Block for numeric value. * @this Blockly.Block */ init: function () { this.setColour(MATH_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0', blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.math_number_validator_include_blank), 'NUM'); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_NUMBER_TOOLTIP); } }; const math_random_seed = { init: function () { this.setColour(MATH_HUE); this.appendValueInput('NUM') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_RANDOM_SEED); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED); } }; const math_round = { init: function () { this.setColour(MATH_HUE); this.setOutput(true, Number); this.appendValueInput('VALUE') .setCheck(Number) this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ROUND) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_KEEP); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_DECIMAL); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ROUND_NEW_TOOLTIP); } }; const text_to_number = { init: function () { var TO_INT_FLOAT = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_INT, 'int'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_FLOAT, 'float'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_BITES, 'b'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_INT, 'bti']]; this.setColour(MATH_HUE); this.appendValueInput('VAR') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(TO_INT_FLOAT), 'TOWHAT'); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('TOWHAT'); var TOOLTIPS = { 'int': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOINT, 'float': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT, 'b': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE }; return TOOLTIPS[mode]; }); } }; const text_to_number_skulpt = { init: function () { var TO_INT_FLOAT = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_INT, 'int'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_FLOAT, 'float']]; this.setColour(MATH_HUE); this.appendValueInput('VAR') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(TO_INT_FLOAT), 'TOWHAT'); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('TOWHAT'); var TOOLTIPS = { 'int': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_TOINT, 'float': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT }; return TOOLTIPS[mode]; }); } }; const base_map = math_map const turn_to_int = { init: function () { this.setColour(MATH_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TO_HEX); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX) } }; const generate_cartesian_product = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(MATH_HUE); this.itemCount_ = 1; this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['lists_create_with_item'], this)); this.appendDummyInput('DUMMY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PRODUCT + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT); this.appendValueInput('REPEAT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_REPEAT_TITLE_TIMES); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP); this.updateShape_(); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('lists_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('lists_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput(`ADD${i}`).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput(`ADD${i}`); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { let i = 0; while (this.getInput(`ADD${i}`)) { this.removeInput(`ADD${i}`); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EMPTY_REMINDER); } else { for (let i = 0; i < this.itemCount_; i++) { this.appendValueInput(`ADD${i}`); this.moveInputBefore(`ADD${i}`, 'REPEAT'); } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } } /***/ }), /***/ "../python/blocks/procedures.js": /*!**************************************!*\ !*** ../python/blocks/procedures.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ procedures_callnoreturn: () => (/* binding */ procedures_callnoreturn), /* harmony export */ procedures_callreturn: () => (/* binding */ procedures_callreturn), /* harmony export */ procedures_defnoreturn: () => (/* binding */ procedures_defnoreturn), /* harmony export */ procedures_defreturn: () => (/* binding */ procedures_defreturn), /* harmony export */ procedures_ifreturn: () => (/* binding */ procedures_ifreturn), /* harmony export */ procedures_mutatorarg: () => (/* binding */ procedures_mutatorarg), /* harmony export */ procedures_mutatorcontainer: () => (/* binding */ procedures_mutatorcontainer), /* harmony export */ procedures_return: () => (/* binding */ procedures_return) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _others_procedures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../others/procedures */ "../python/others/procedures.js"); /** * @license * Copyright 2012 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * @fileoverview Procedure blocks for Blockly. * @author fraser@google.com (Neil Fraser) */ const procedures_defnoreturn = { /** * Block for defining a procedure with no return value. * @this {Blockly.Block} */ init: function () { var initName = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].findLegalName('', this); var nameField = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(initName, _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].rename); nameField.setSpellcheck(false); this.appendDummyInput() // .appendField(Blockly.Msg['PROCEDURES_DEFNORETURN_TITLE']) .appendField(nameField, 'NAME') .appendField('', 'PARAMS'); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['procedures_mutatorarg'], this)); if ((this.workspace.options.comments || (this.workspace.options.parentWorkspace && this.workspace.options.parentWorkspace.options.comments)) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_COMMENT']) { this.setCommentText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_COMMENT']); } this.setStyle('procedure_blocks'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_TOOLTIP']); this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_HELPURL']); this.arguments_ = []; this.argumentVarModels_ = []; this.setStatements_(true); this.statementConnection_ = null; }, /** * Add or remove the statement block from this function definition. * @param {boolean} hasStatements True if a statement block is needed. * @this {Blockly.Block} */ setStatements_: function (hasStatements) { if (this.hasStatements_ === hasStatements) { return; } if (hasStatements) { this.appendStatementInput('STACK') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_DO']); if (this.getInput('RETURN')) { this.moveInputBefore('STACK', 'RETURN'); } } else { this.removeInput('STACK', true); } this.hasStatements_ = hasStatements; }, /** * Update the display of parameters for this procedure definition block. * @private * @this {Blockly.Block} */ updateParams_: function () { // Merge the arguments into a human-readable list. var paramString = ''; if (this.arguments_.length) { paramString = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_BEFORE_PARAMS'] + ' ' + this.arguments_.join(', '); } // The params field is deterministic based on the mutation, // no need to fire a change event. blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.disable(); try { this.setFieldValue(paramString, 'PARAMS'); } finally { blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.enable(); } }, /** * Create XML to represent the argument inputs. * @param {boolean=} opt_paramIds If true include the IDs of the parameter * quarks. Used by Procedures.mutateCallers for reconnection. * @return {!Element} XML storage element. * @this {Blockly.Block} */ mutationToDom: function (opt_paramIds) { var container = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); if (opt_paramIds) { container.setAttribute('name', this.getFieldValue('NAME')); } for (var i = 0; i < this.argumentVarModels_.length; i++) { var parameter = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('arg'); var argModel = this.argumentVarModels_[i]; parameter.setAttribute('name', argModel.name); parameter.setAttribute('varid', argModel.getId()); if (opt_paramIds && this.paramIds_) { parameter.setAttribute('paramId', this.paramIds_[i]); } container.appendChild(parameter); } // Save whether the statement input is visible. if (!this.hasStatements_) { container.setAttribute('statements', 'false'); } return container; }, /** * Parse XML to restore the argument inputs. * @param {!Element} xmlElement XML storage element. * @this {Blockly.Block} */ domToMutation: function (xmlElement) { this.arguments_ = []; this.argumentVarModels_ = []; for (var i = 0, childNode; (childNode = xmlElement.childNodes[i]); i++) { if (childNode.nodeName.toLowerCase() == 'arg') { var varName = childNode.getAttribute('name'); var varId = childNode.getAttribute('varid') || childNode.getAttribute('varId'); this.arguments_.push(varName); var variable = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.getOrCreateVariablePackage( this.workspace, varId, varName, ''); if (variable != null) { this.argumentVarModels_.push(variable); } else { console.log('Failed to create a variable with name ' + varName + ', ignoring.'); } } } this.updateParams_(); _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].mutateCallers(this); // Show or hide the statement input. this.setStatements_(xmlElement.getAttribute('statements') !== 'false'); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this {Blockly.Block} */ decompose: function (workspace) { /* * Creates the following XML: * * * * arg1_name * etc... * * * */ var containerBlockNode = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); containerBlockNode.setAttribute('type', 'procedures_mutatorcontainer'); var statementNode = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('statement'); statementNode.setAttribute('name', 'STACK'); containerBlockNode.appendChild(statementNode); var node = statementNode; for (var i = 0; i < this.arguments_.length; i++) { var argBlockNode = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); argBlockNode.setAttribute('type', 'procedures_mutatorarg'); var fieldNode = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field'); fieldNode.setAttribute('name', 'NAME'); var argumentName = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode(this.arguments_[i]); fieldNode.appendChild(argumentName); argBlockNode.appendChild(fieldNode); var nextNode = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('next'); argBlockNode.appendChild(nextNode); node.appendChild(argBlockNode); node = nextNode; } var containerBlock = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Xml.domToBlock(containerBlockNode, workspace); if (this.type == 'procedures_defreturn') { containerBlock.setFieldValue(this.hasStatements_, 'STATEMENTS'); } else { containerBlock.removeInput('STATEMENT_INPUT'); } // Initialize procedure's callers with blank IDs. _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].mutateCallers(this); return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this {Blockly.Block} */ compose: function (containerBlock) { // Parameter list. this.arguments_ = []; this.paramIds_ = []; this.argumentVarModels_ = []; var paramBlock = containerBlock.getInputTargetBlock('STACK'); while (paramBlock && !paramBlock.isInsertionMarker()) { var varName = paramBlock.getFieldValue('NAME'); this.arguments_.push(varName); var variable = this.workspace.getVariable(varName, ''); this.argumentVarModels_.push(variable); this.paramIds_.push(paramBlock.id); paramBlock = paramBlock.nextConnection && paramBlock.nextConnection.targetBlock(); } this.updateParams_(); _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].mutateCallers(this); // Show/hide the statement input. var hasStatements = containerBlock.getFieldValue('STATEMENTS'); if (hasStatements !== null) { hasStatements = hasStatements == 'TRUE'; if (this.hasStatements_ != hasStatements) { if (hasStatements) { this.setStatements_(true); // Restore the stack, if one was saved. this.statementConnection_ && this.statementConnection_.reconnect(this, 'STACK'); this.statementConnection_ = null; } else { // Save the stack, then disconnect it. var stackConnection = this.getInput('STACK').connection; this.statementConnection_ = stackConnection.targetConnection; if (this.statementConnection_) { var stackBlock = stackConnection.targetBlock(); stackBlock.unplug(); stackBlock.bumpNeighbours(); } this.setStatements_(false); } } } }, /** * Return the signature of this procedure definition. * @return {!Array} Tuple containing three elements: * - the name of the defined procedure, * - a list of all its arguments, * - that it DOES NOT have a return value. * @this {Blockly.Block} */ getProcedureDef: function () { return [this.getFieldValue('NAME'), this.arguments_, false]; }, /** * Return all variables referenced by this block. * @return {!Array} List of variable names. * @this {Blockly.Block} */ getVars: function () { return this.arguments_; }, /** * Return all variables referenced by this block. * @return {!Array} List of variable models. * @this {Blockly.Block} */ getVarModels: function () { return this.argumentVarModels_; }, /** * Notification that a variable is renaming. * If the ID matches one of this block's variables, rename it. * @param {string} oldId ID of variable to rename. * @param {string} newId ID of new variable. May be the same as oldId, but * with an updated name. Guaranteed to be the same type as the old * variable. * @override * @this {Blockly.Block} */ renameVarById: function (oldId, newId) { var oldVariable = this.workspace.getVariableById(oldId); if (oldVariable.type != '') { // Procedure arguments always have the empty type. return; } var oldName = oldVariable.name; var newVar = this.workspace.getVariableById(newId); var change = false; for (var i = 0; i < this.argumentVarModels_.length; i++) { if (this.argumentVarModels_[i].getId() == oldId) { this.arguments_[i] = newVar.name; this.argumentVarModels_[i] = newVar; change = true; } } if (change) { this.displayRenamedVar_(oldName, newVar.name); _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].mutateCallers(this); } }, /** * Notification that a variable is renaming but keeping the same ID. If the * variable is in use on this block, rerender to show the new name. * @param {!Blockly.VariableModel} variable The variable being renamed. * @package * @override * @this {Blockly.Block} */ updateVarName: function (variable) { var newName = variable.name; var change = false; for (var i = 0; i < this.argumentVarModels_.length; i++) { if (this.argumentVarModels_[i].getId() == variable.getId()) { var oldName = this.arguments_[i]; this.arguments_[i] = newName; change = true; } } if (change) { this.displayRenamedVar_(oldName, newName); _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].mutateCallers(this); } }, /** * Update the display to reflect a newly renamed argument. * @param {string} oldName The old display name of the argument. * @param {string} newName The new display name of the argument. * @private * @this {Blockly.Block} */ displayRenamedVar_: function (oldName, newName) { this.updateParams_(); const mutator = this.getIcon(blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon.TYPE); // Update the mutator's variables if the mutator is open. if (mutator && mutator.bubbleIsVisible()) { var blocks = mutator.getWorkspace().getAllBlocks(false); for (var i = 0, block; (block = blocks[i]); i++) { if (block.type == 'procedures_mutatorarg' && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, block.getFieldValue('NAME'))) { block.setFieldValue(newName, 'NAME'); } } } }, /** * Add custom menu options to this block's context menu. * @param {!Array} options List of menu options to add to. * @this {Blockly.Block} */ customContextMenu: function (options) { if (this.isInFlyout) { return; } // Add option to create caller. var option = { enabled: true }; var name = this.getFieldValue('NAME'); option.text = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CREATE_DO'].replace('%1', name); var xmlMutation = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); xmlMutation.setAttribute('name', name); for (var i = 0; i < this.arguments_.length; i++) { var xmlArg = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('arg'); xmlArg.setAttribute('name', this.arguments_[i]); xmlMutation.appendChild(xmlArg); } var xmlBlock = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); xmlBlock.setAttribute('type', this.callType_); xmlBlock.appendChild(xmlMutation); option.callback = blockly_core__WEBPACK_IMPORTED_MODULE_0__.ContextMenu.callbackFactory(this, xmlBlock); options.push(option); // Add options to create getters for each parameter. if (!this.isCollapsed()) { for (var i = 0; i < this.argumentVarModels_.length; i++) { var argOption = { enabled: true }; var argVar = this.argumentVarModels_[i]; argOption.text = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['VARIABLES_SET_CREATE_GET'] .replace('%1', argVar.name); var argXmlField = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.generateVariableFieldDom(argVar); var argXmlBlock = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); argXmlBlock.setAttribute('type', 'variables_get'); argXmlBlock.appendChild(argXmlField); argOption.callback = blockly_core__WEBPACK_IMPORTED_MODULE_0__.ContextMenu.callbackFactory(this, argXmlBlock); options.push(argOption); } } }, callType_: 'procedures_callnoreturn' }; const procedures_defreturn = { /** * Block for defining a procedure with a return value. * @this {Blockly.Block} */ init: function () { var initName = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].findLegalName('', this); var nameField = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(initName, _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].rename); nameField.setSpellcheck(false); this.appendDummyInput() // .appendField(Blockly.Msg['PROCEDURES_DEFRETURN_TITLE']) .appendField(nameField, 'NAME') .appendField('', 'PARAMS'); this.appendValueInput('RETURN') .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_RETURN']); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['procedures_mutatorarg'], this)); if ((this.workspace.options.comments || (this.workspace.options.parentWorkspace && this.workspace.options.parentWorkspace.options.comments)) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_COMMENT']) { this.setCommentText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_COMMENT']); } this.setStyle('procedure_blocks'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_TOOLTIP']); this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_HELPURL']); this.arguments_ = []; this.argumentVarModels_ = []; this.setStatements_(true); this.statementConnection_ = null; }, setStatements_: procedures_defnoreturn.setStatements_, updateParams_: procedures_defnoreturn.updateParams_, mutationToDom: procedures_defnoreturn.mutationToDom, domToMutation: procedures_defnoreturn.domToMutation, decompose: procedures_defnoreturn.decompose, compose: procedures_defnoreturn.compose, /** * Return the signature of this procedure definition. * @return {!Array} Tuple containing three elements: * - the name of the defined procedure, * - a list of all its arguments, * - that it DOES have a return value. * @this {Blockly.Block} */ getProcedureDef: function () { return [this.getFieldValue('NAME'), this.arguments_, true]; }, getVars: procedures_defnoreturn.getVars, getVarModels: procedures_defnoreturn.getVarModels, renameVarById: procedures_defnoreturn.renameVarById, updateVarName: procedures_defnoreturn.updateVarName, displayRenamedVar_: procedures_defnoreturn.displayRenamedVar_, customContextMenu: procedures_defnoreturn.customContextMenu, callType_: 'procedures_callreturn' }; const procedures_mutatorcontainer = { /** * Mutator block for procedure container. * @this {Blockly.Block} */ init: function () { this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_MUTATORCONTAINER_TITLE']); this.appendStatementInput('STACK'); this.appendDummyInput('STATEMENT_INPUT') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_ALLOW_STATEMENTS']) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldCheckbox('TRUE'), 'STATEMENTS'); this.setStyle('procedure_blocks'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_MUTATORCONTAINER_TOOLTIP']); this.contextMenu = false; }, }; const procedures_mutatorarg = { /** * Mutator block for procedure argument. * @this {Blockly.Block} */ init: function () { var field = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput( _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].DEFAULT_ARG, this.validator_); // Hack: override showEditor to do just a little bit more work. // We don't have a good place to hook into the start of a text edit. field.oldShowEditorFn_ = field.showEditor_; var newShowEditorFn = function () { this.createdVariables_ = []; this.oldShowEditorFn_(); }; field.showEditor_ = newShowEditorFn; this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_BEFORE_PARAMS) .appendField(field, 'NAME'); this.setPreviousStatement(true); this.setNextStatement(true); this.setStyle('procedure_blocks'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_MUTATORARG_TOOLTIP']); this.contextMenu = false; // Create the default variable when we drag the block in from the flyout. // Have to do this after installing the field on the block. field.onFinishEditing_ = this.deleteIntermediateVars_; // Create an empty list so onFinishEditing_ has something to look at, even // though the editor was never opened. field.createdVariables_ = []; field.onFinishEditing_('x'); }, /** * Obtain a valid name for the procedure argument. Create a variable if * necessary. * Merge runs of whitespace. Strip leading and trailing whitespace. * Beyond this, all names are legal. * @param {string} varName User-supplied name. * @return {?string} Valid name, or null if a name was not specified. * @private * @this Blockly.FieldTextInput */ validator_: function (varName) { var sourceBlock = this.getSourceBlock(); var outerWs = sourceBlock.workspace.getRootWorkspace(); varName = varName.replace(/[\s\xa0]+/g, ' ').replace(/^ | $/g, ''); if (!varName) { return null; } // Prevents duplicate parameter names in functions var workspace = sourceBlock.workspace.targetWorkspace || sourceBlock.workspace; var blocks = workspace.getAllBlocks(false); var caselessName = varName.toLowerCase(); for (var i = 0; i < blocks.length; i++) { if (blocks[i].id == this.getSourceBlock().id) { continue; } // Other blocks values may not be set yet when this is loaded. var otherVar = blocks[i].getFieldValue('NAME'); if (otherVar && otherVar.toLowerCase() == caselessName) { return null; } } // Don't create variables for arg blocks that // only exist in the mutator's flyout. if (sourceBlock.isInFlyout) { return varName; } var model = outerWs.getVariable(varName, ''); if (model && model.name != varName) { // Rename the variable (case change) outerWs.renameVariableById(model.getId(), varName); } if (!model) { model = outerWs.createVariable(varName, ''); if (model && this.createdVariables_) { this.createdVariables_.push(model); } } return varName; }, /** * Called when focusing away from the text field. * Deletes all variables that were created as the user typed their intended * variable name. * @param {string} newText The new variable name. * @private * @this Blockly.FieldTextInput */ deleteIntermediateVars_: function (newText) { var outerWs = this.getSourceBlock().workspace.getRootWorkspace(); if (!outerWs) { return; } for (var i = 0; i < this.createdVariables_.length; i++) { var model = this.createdVariables_[i]; if (model.name != newText) { outerWs.deleteVariableById(model.getId()); } } } }; const procedures_callnoreturn = { /** * Block for calling a procedure with no return value. * @this {Blockly.Block} */ init: function () { this.appendDummyInput('TOPROW') .appendField('', 'NAME'); this.setPreviousStatement(true); this.setNextStatement(true); this.setStyle('procedure_blocks'); // Tooltip is set in renameProcedure. this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CALLNORETURN_HELPURL']); this.arguments_ = []; this.argumentVarModels_ = []; this.quarkConnections_ = {}; this.quarkIds_ = null; this.previousEnabledState_ = true; }, /** * Returns the name of the procedure this block calls. * @return {string} Procedure name. * @this {Blockly.Block} */ getProcedureCall: function () { // The NAME field is guaranteed to exist, null will never be returned. return /** @type {string} */ (this.getFieldValue('NAME')); }, /** * Notification that a procedure is renaming. * If the name matches this block's procedure, rename it. * @param {string} oldName Previous name of procedure. * @param {string} newName Renamed procedure. * @this {Blockly.Block} */ renameProcedure: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getProcedureCall())) { this.setFieldValue(newName, 'NAME'); var baseMsg = this.outputConnection ? blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CALLRETURN_TOOLTIP'] : blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CALLNORETURN_TOOLTIP']; this.setTooltip(baseMsg.replace('%1', newName)); } }, /** * Notification that the procedure's parameters have changed. * @param {!Array} paramNames New param names, e.g. ['x', 'y', 'z']. * @param {!Array} paramIds IDs of params (consistent for each * parameter through the life of a mutator, regardless of param renaming), * e.g. ['piua', 'f8b_', 'oi.o']. * @private * @this {Blockly.Block} */ setProcedureParameters_: function (paramNames, paramIds) { // Data structures: // this.arguments = ['x', 'y'] // Existing param names. // this.quarkConnections_ {piua: null, f8b_: Blockly.Connection} // Look-up of paramIds to connections plugged into the call block. // this.quarkIds_ = ['piua', 'f8b_'] // Existing param IDs. // Note that quarkConnections_ may include IDs that no longer exist, but // which might reappear if a param is reattached in the mutator. var defBlock = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].getDefinition(this.getProcedureCall(), this.workspace); const mutatorIcon = defBlock && defBlock.getIcon(blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon.TYPE); const mutatorOpen = mutatorIcon && mutatorIcon.bubbleIsVisible(); if (!mutatorOpen) { this.quarkConnections_ = {}; this.quarkIds_ = null; } if (!paramIds) { // Reset the quarks (a mutator is about to open). return; } // Test arguments (arrays of strings) for changes. '\n' is not a valid // argument name character, so it is a valid delimiter here. if (paramNames.join('\n') == this.arguments_.join('\n')) { // No change. this.quarkIds_ = paramIds; return; } if (paramIds.length != paramNames.length) { throw Error('paramNames and paramIds must be the same length.'); } this.setCollapsed(false); if (!this.quarkIds_) { // Initialize tracking for this block. this.quarkConnections_ = {}; this.quarkIds_ = []; } // Switch off rendering while the block is rebuilt. var savedRendered = this.rendered; this.rendered = false; // Update the quarkConnections_ with existing connections. for (var i = 0; i < this.arguments_.length; i++) { var input = this.getInput('ARG' + i); if (input) { var connection = input.connection.targetConnection; this.quarkConnections_[this.quarkIds_[i]] = connection; if (mutatorOpen && connection && paramIds.indexOf(this.quarkIds_[i]) == -1) { // This connection should no longer be attached to this block. connection.disconnect(); connection.getSourceBlock().bumpNeighbours(); } } } // Rebuild the block's arguments. this.arguments_ = [].concat(paramNames); // And rebuild the argument model list. this.argumentVarModels_ = []; for (var i = 0; i < this.arguments_.length; i++) { var variable = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.getOrCreateVariablePackage( this.workspace, null, this.arguments_[i], ''); this.argumentVarModels_.push(variable); } this.updateShape_(); this.quarkIds_ = paramIds; // Reconnect any child blocks. if (this.quarkIds_) { for (var i = 0; i < this.arguments_.length; i++) { var quarkId = this.quarkIds_[i]; if (quarkId in this.quarkConnections_) { var connection = this.quarkConnections_[quarkId]; if (connection && !connection.reconnect(this, 'ARG' + i)) { // Block no longer exists or has been attached elsewhere. delete this.quarkConnections_[quarkId]; } } } } // Restore rendering and show the changes. this.rendered = savedRendered; if (this.rendered) { this.render(); } }, /** * Modify this block to have the correct number of arguments. * @private * @this {Blockly.Block} */ updateShape_: function () { for (var i = 0; i < this.arguments_.length; i++) { var field = this.getField('ARGNAME' + i); if (field) { // Ensure argument name is up to date. // The argument name field is deterministic based on the mutation, // no need to fire a change event. blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.disable(); try { field.setValue(this.arguments_[i]); } finally { blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.enable(); } } else { // Add new input. field = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldLabel(this.arguments_[i]); var input = this.appendValueInput('ARG' + i) .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField(field, 'ARGNAME' + i); input.init(); } } // Remove deleted inputs. while (this.getInput('ARG' + i)) { this.removeInput('ARG' + i); i++; } // Add 'with:' if there are parameters, remove otherwise. var topRow = this.getInput('TOPROW'); if (topRow) { if (this.arguments_.length) { if (!this.getField('WITH')) { topRow.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CALL_BEFORE_PARAMS'], 'WITH'); topRow.init(); } } else { if (this.getField('WITH')) { topRow.removeField('WITH'); } } } }, /** * Create XML to represent the (non-editable) name and arguments. * @return {!Element} XML storage element. * @this {Blockly.Block} */ mutationToDom: function () { var container = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); container.setAttribute('name', this.getProcedureCall()); for (var i = 0; i < this.arguments_.length; i++) { var parameter = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('arg'); parameter.setAttribute('name', this.arguments_[i]); container.appendChild(parameter); } return container; }, /** * Parse XML to restore the (non-editable) name and parameters. * @param {!Element} xmlElement XML storage element. * @this {Blockly.Block} */ domToMutation: function (xmlElement) { var name = xmlElement.getAttribute('name'); this.renameProcedure(this.getProcedureCall(), name); var args = []; var paramIds = []; for (var i = 0, childNode; (childNode = xmlElement.childNodes[i]); i++) { if (childNode.nodeName.toLowerCase() == 'arg') { args.push(childNode.getAttribute('name')); paramIds.push(childNode.getAttribute('paramId')); } } this.setProcedureParameters_(args, paramIds); }, /** * Return all variables referenced by this block. * @return {!Array} List of variable names. * @this {Blockly.Block} */ getVars: function () { return this.arguments_; }, /** * Return all variables referenced by this block. * @return {!Array} List of variable models. * @this {Blockly.Block} */ getVarModels: function () { return this.argumentVarModels_; }, /** * Procedure calls cannot exist without the corresponding procedure * definition. Enforce this link whenever an event is fired. * @param {!Blockly.Events.Abstract} event Change event. * @this {Blockly.Block} */ onchange: function (event) { if (!this.workspace || this.workspace.isFlyout) { // Block is deleted or is in a flyout. return; } if (!event.recordUndo) { // Events not generated by user. Skip handling. return; } if (event.type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.BLOCK_CREATE && event.ids.indexOf(this.id) != -1) { // Look for the case where a procedure call was created (usually through // paste) and there is no matching definition. In this case, create // an empty definition block with the correct signature. var name = this.getProcedureCall(); var def = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].getDefinition(name, this.workspace); if (def && (def.type != this.defType_)) { // The signatures don't match. def = null; } if (!def) { blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(event.group); /** * Create matching definition block. * * * * * * test * * */ var xml = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('xml'); var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', this.defType_); var xy = this.getRelativeToSurfaceXY(); var x = xy.x + blockly_core__WEBPACK_IMPORTED_MODULE_0__.SNAP_RADIUS * (this.RTL ? -1 : 1); var y = xy.y + blockly_core__WEBPACK_IMPORTED_MODULE_0__.SNAP_RADIUS * 2; block.setAttribute('x', x); block.setAttribute('y', y); var mutation = this.mutationToDom(); block.appendChild(mutation); var field = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field'); field.setAttribute('name', 'NAME'); var callName = this.getProcedureCall(); if (!callName) { // Rename if name is empty string. callName = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].findLegalName('', this); this.renameProcedure('', callName); } field.appendChild(blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode(callName)); block.appendChild(field); xml.appendChild(block); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Xml.domToWorkspace(xml, this.workspace); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(false); } else { if (JSON.stringify(def.getVars()) != JSON.stringify(this.arguments_)) { let paramNames = def.arguments_; let paramIds = []; for (var i = 0; i < this.arguments_.length; i++) { var input = this.getInput('ARG' + i); if (!input) { continue; } var connection = input.connection.targetConnection; if (!connection) { paramIds.push(null); continue; } paramIds.push(connection.sourceBlock_.id); } this.setProcedureParameters_(paramNames, paramIds); } } } else if (event.type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.BLOCK_DELETE) { // Look for the case where a procedure definition has been deleted, // leaving this block (a procedure call) orphaned. In this case, delete // the orphan. var name = this.getProcedureCall(); var def = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].getDefinition(name, this.workspace); if (!def) { blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(event.group); this.dispose(true); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(false); } } else if (event.type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.CHANGE && event.element == 'disabled') { var name = this.getProcedureCall(); var def = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].getDefinition(name, this.workspace); if (def && def.id == event.blockId) { // in most cases the old group should be '' var oldGroup = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.getGroup(); if (oldGroup) { // This should only be possible programmatically and may indicate a problem // with event grouping. If you see this message please investigate. If the // use ends up being valid we may need to reorder events in the undo stack. console.log('Saw an existing group while responding to a definition change'); } blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(event.group); if (event.newValue) { this.previousEnabledState_ = this.isEnabled(); this.setEnabled(false); } else { this.setEnabled(this.previousEnabledState_); } blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(oldGroup); } } }, /** * Add menu option to find the definition block for this call. * @param {!Array} options List of menu options to add to. * @this {Blockly.Block} */ customContextMenu: function (options) { if (!this.workspace.isMovable()) { // If we center on the block and the workspace isn't movable we could // loose blocks at the edges of the workspace. return; } var option = { enabled: true }; option.text = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_HIGHLIGHT_DEF']; var name = this.getProcedureCall(); var workspace = this.workspace; option.callback = function () { var def = _others_procedures__WEBPACK_IMPORTED_MODULE_1__["default"].getDefinition(name, workspace); if (def) { workspace.centerOnBlock(def.id); def.select(); } }; options.push(option); }, defType_: 'procedures_defnoreturn' }; const procedures_callreturn = { /** * Block for calling a procedure with a return value. * @this {Blockly.Block} */ init: function () { this.appendDummyInput('TOPROW') .appendField('', 'NAME'); this.setOutput(true); this.setStyle('procedure_blocks'); // Tooltip is set in domToMutation. this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_CALLRETURN_HELPURL']); this.arguments_ = []; this.argumentVarModels_ = []; this.quarkConnections_ = {}; this.quarkIds_ = null; this.previousEnabledState_ = true; }, getProcedureCall: procedures_callnoreturn.getProcedureCall, renameProcedure: procedures_callnoreturn.renameProcedure, setProcedureParameters_: procedures_callnoreturn.setProcedureParameters_, updateShape_: procedures_callnoreturn.updateShape_, mutationToDom: procedures_callnoreturn.mutationToDom, domToMutation: procedures_callnoreturn.domToMutation, getVars: procedures_callnoreturn.getVars, getVarModels: procedures_callnoreturn.getVarModels, onchange: procedures_callnoreturn.onchange, customContextMenu: procedures_callnoreturn.customContextMenu, defType_: 'procedures_defreturn' }; const procedures_ifreturn = { /** * Block for conditionally returning a value from a procedure. * @this {Blockly.Block} */ init: function () { this.appendValueInput('CONDITION') .setCheck('Boolean') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['CONTROLS_IF_MSG_IF']); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_RETURN']); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setStyle('procedure_blocks'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_IFRETURN_TOOLTIP']); this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_IFRETURN_HELPURL']); this.hasReturnValue_ = true; }, /** * Create XML to represent whether this block has a return value. * @return {!Element} XML storage element. * @this {Blockly.Block} */ mutationToDom: function () { var container = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); container.setAttribute('value', Number(this.hasReturnValue_)); return container; }, /** * Parse XML to restore whether this block has a return value. * @param {!Element} xmlElement XML storage element. * @this {Blockly.Block} */ domToMutation: function (xmlElement) { var value = xmlElement.getAttribute('value'); this.hasReturnValue_ = (value == 1); if (!this.hasReturnValue_) { this.removeInput('VALUE'); this.appendDummyInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_RETURN']); } }, /** * Called whenever anything on the workspace changes. * Add warning if this flow block is not nested inside a loop. * @param {!Blockly.Events.Abstract} _e Change event. * @this {Blockly.Block} */ onchange: function () { if (!this.workspace.isDragging || this.workspace.isDragging()) { return; // Don't change state at the start of a drag. } var legal = false; // Is the block nested in a procedure? var block = this; do { if (this.FUNCTION_TYPES.indexOf(block.type) != -1) { legal = true; break; } block = block.getSurroundParent(); } while (block); if (legal) { // If needed, toggle whether this block has a return value. if (block.type == 'procedures_defnoreturn' && this.hasReturnValue_) { this.removeInput('VALUE'); this.appendDummyInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_RETURN']); this.hasReturnValue_ = false; } else if (block.type == 'procedures_defreturn' && !this.hasReturnValue_) { this.removeInput('VALUE'); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_RETURN']); this.hasReturnValue_ = true; } this.setWarningText(null); if (!this.isInFlyout) { this.setEnabled(true); } } else { this.setWarningText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_IFRETURN_WARNING']); if (!this.isInFlyout && !this.getInheritedDisabled()) { this.setEnabled(false); } } }, /** * List of block types that are functions and thus do not need warnings. * To add a new function type add this to your code: * procedures_ifreturn.FUNCTION_TYPES.push('custom_func'); */ FUNCTION_TYPES: ['procedures_defnoreturn', 'procedures_defreturn'] }; const procedures_return = { /** * Block for conditionally returning a value from a procedure. * @this Blockly.Block */ init: function () { this.setStyle('procedure_blocks'); // this.appendValueInput('CONDITION') // .setCheck(Boolean) // .appendField(Blockly.Msg.CONTROLS_IF_MSG_IF); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_IFRETURN_TOOLTIP); this.hasReturnValue_ = true; }, /** * Create XML to represent whether this block has a return value. * @return {!Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('value', Number(this.hasReturnValue_)); return container; }, /** * Parse XML to restore whether this block has a return value. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var value = xmlElement.getAttribute('value'); this.hasReturnValue_ = (value == 1); if (!this.hasReturnValue_) { this.removeInput('VALUE'); this.appendDummyInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN); } }, /** * Called whenever anything on the workspace changes. * Add warning if this flow block is not nested inside a loop. * @param {!Blockly.Events.Abstract} e Change event. * @this Blockly.Block */ onchange: function () { var legal = false; // Is the block nested in a procedure? var block = this; do { if (this.FUNCTION_TYPES.indexOf(block.type) != -1) { legal = true; break; } block = block.getSurroundParent(); } while (block); if (legal) { // If needed, toggle whether this block has a return value. if (block.type == 'procedures_defnoreturn' && this.hasReturnValue_) { this.removeInput('VALUE'); this.appendDummyInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN); this.hasReturnValue_ = false; } else if (block.type == 'procedures_defreturn' && !this.hasReturnValue_) { this.removeInput('VALUE'); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN); this.hasReturnValue_ = true; } this.setWarningText(null); } else { this.setWarningText(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_IFRETURN_WARNING); } }, /** * List of block types that are functions and thus do not need warnings. * To add a new function type add this to your code: * procedures_ifreturn.FUNCTION_TYPES.push('custom_func'); */ FUNCTION_TYPES: ['procedures_defnoreturn', 'procedures_defreturn', 'method_procedures_defnoreturn', 'method_procedures_defreturn'] }; /***/ }), /***/ "../python/blocks/set.js": /*!*******************************!*\ !*** ../python/blocks/set.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ set_add_discard: () => (/* binding */ set_add_discard), /* harmony export */ set_clear: () => (/* binding */ set_clear), /* harmony export */ set_create_with: () => (/* binding */ set_create_with), /* harmony export */ set_create_with_container: () => (/* binding */ set_create_with_container), /* harmony export */ set_create_with_item: () => (/* binding */ set_create_with_item), /* harmony export */ set_create_with_text_return: () => (/* binding */ set_create_with_text_return), /* harmony export */ set_length: () => (/* binding */ set_length), /* harmony export */ set_operate: () => (/* binding */ set_operate), /* harmony export */ set_operate_update: () => (/* binding */ set_operate_update), /* harmony export */ set_pop: () => (/* binding */ set_pop), /* harmony export */ set_sub: () => (/* binding */ set_sub), /* harmony export */ set_toset: () => (/* binding */ set_toset), /* harmony export */ set_update: () => (/* binding */ set_update) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const SET_HUE = 100; const set_create_with = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(SET_HUE); this.appendDummyInput("") //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array'], [Blockly.Msg.LANG_MATH_STRING, 'Array'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'Array']]), 'TYPE') // .appendField(' ') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('s1'), 'VAR') this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['set_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('set_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('set_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const set_create_with_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(SET_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const set_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(SET_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_VARIABLES_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const set_length = { init: function () { this.setColour(SET_HUE); this.appendValueInput('SET'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LENGTH); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_LENGTH_TOOLTIP); this.setOutput(true, Number); } }; const set_pop = { init: function () { this.setColour(SET_HUE); this.appendValueInput('SET') .setCheck('Set') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_GET_AND_REMOVE_LAST); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_POP_TOOLTIP); this.setInputsInline(true); this.setOutput(true); } }; const set_clear = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(SET_HUE); this.appendValueInput('SET') .setCheck('Set') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_CLEAR); this.setPreviousStatement(true); this.setNextStatement(true); } }; const set_operate = { init: function () { this.appendValueInput('SET1') .setCheck('Set') var operate = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_union, 'union'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_intersection, 'intersection'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_difference, 'difference'] ]; this.setColour(SET_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_and_set) this.appendValueInput('SET2') .setCheck('Set') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_get_operate) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(operate), 'OPERATE') this.setInputsInline(true); this.setOutput(true, "set"); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OPERATE'); var TOOLTIPS = { 'union': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_UNION, 'intersection': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_INTERSECTION, 'difference': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE }; return TOOLTIPS[mode]; }); } }; const set_operate_update = { init: function () { this.appendValueInput('SET1') .setCheck('Set') var operate_update = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_union, 'update'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_intersection, 'intersection_update'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_difference, 'difference_update'] ]; this.setColour(SET_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_and_set) this.appendValueInput('SET2') .setCheck('Set') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_get_operate) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(operate_update), 'OPERATE') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_update) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OPERATE'); var TOOLTIPS = { 'update': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_UPDATE, 'intersection_update': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_INTERSECTION_UPDATE, 'difference_update': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE_UPDATE }; return TOOLTIPS[mode]; }); } }; const set_add_discard = { init: function () { this.appendValueInput('SET') .setCheck('Set') var changenum = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_blockpy_set_add, 'add'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_blockpy_set_discard, 'discard']]; this.setColour(SET_HUE); this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(changenum), 'OPERATE') this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_VARIABLES_NAME) this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OPERATE'); var TOOLTIPS = { 'add': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_ADD_TOOLTIP, 'discard': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_DISCARD_TOOLTIP, }; return TOOLTIPS[mode]; }); } }; const set_sub = { init: function () { this.appendValueInput('SET1') .setCheck('Set') var sub_super = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_sub, 'issubset'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_super, 'issuperset'] ]; this.setColour(SET_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_is_set) this.appendValueInput('SET2') .setCheck('Set') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_of) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(sub_super), 'OPERATE') this.setInputsInline(true); this.setOutput(true, Boolean); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OPERATE'); var TOOLTIPS = { 'issubset': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_SUB, 'issuperset': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_SET_SUPER }; return TOOLTIPS[mode]; }); } }; const set_update = { init: function () { this.appendValueInput('SET') .setCheck('Set') this.setColour(SET_HUE); this.appendValueInput('VAR') .setCheck([String, 'List']) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_set_add_update); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.SET_UPDATE_TOOLTIP); } }; // export const set_change_to = { // init: function() { // var OPERATORS = // [[Blockly.Msg.MIXLY_MICROBIT_TYPE_LIST, 'list'], // [Blockly.Msg.MIXLY_MICROBIT_TYPE_TUPLE, 'tuple'] // ]; // this.setColour(SET_HUE); // this.appendValueInput('VAR') // .setCheck("Set") // // .appendField(Blockly.Msg.blockpy_USE_LIST); // this.appendDummyInput("") // .appendField(Blockly.Msg.A_TO_B) // .appendField(new Blockly.FieldDropdown(OPERATORS), 'OP'); // this.setInputsInline(true); // this.setOutput(true); // var thisBlock = this; // this.setTooltip(function() { // var mode = thisBlock.getFieldValue('OP'); // var TOOLTIPS = { // 'list': Blockly.Msg.SET_TO_LISTS, // 'tuple': Blockly.Msg.SET_TO_TUPLE, // }; // return TOOLTIPS[mode]; // }); // } // }; const set_create_with_text_return = { init: function () { this.setColour(SET_HUE); this.appendDummyInput("") .appendField('{') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'), 'TEXT') .appendField('}'); // .appendField(this.newQuote_(false)) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TOOLTIP_SET_CREATE_WITH_TEXT); } } const set_toset = { init: function () { this.setColour(SET_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOSET); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOSET); } }; /***/ }), /***/ "../python/blocks/storage.js": /*!***********************************!*\ !*** ../python/blocks/storage.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ sdcard_mount: () => (/* binding */ sdcard_mount), /* harmony export */ sdcard_use_spi_init: () => (/* binding */ sdcard_use_spi_init), /* harmony export */ storage_can_write_ornot: () => (/* binding */ storage_can_write_ornot), /* harmony export */ storage_change_dir: () => (/* binding */ storage_change_dir), /* harmony export */ storage_close_file: () => (/* binding */ storage_close_file), /* harmony export */ storage_delete_file: () => (/* binding */ storage_delete_file), /* harmony export */ storage_file_seek: () => (/* binding */ storage_file_seek), /* harmony export */ storage_file_tell: () => (/* binding */ storage_file_tell), /* harmony export */ storage_file_write: () => (/* binding */ storage_file_write), /* harmony export */ storage_fileopen: () => (/* binding */ storage_fileopen), /* harmony export */ storage_fileopen_new: () => (/* binding */ storage_fileopen_new), /* harmony export */ storage_fileopen_new_encoding: () => (/* binding */ storage_fileopen_new_encoding), /* harmony export */ storage_get_a_line: () => (/* binding */ storage_get_a_line), /* harmony export */ storage_get_contents: () => (/* binding */ storage_get_contents), /* harmony export */ storage_get_contents_without_para: () => (/* binding */ storage_get_contents_without_para), /* harmony export */ storage_get_current_dir: () => (/* binding */ storage_get_current_dir), /* harmony export */ storage_get_file_size: () => (/* binding */ storage_get_file_size), /* harmony export */ storage_get_filename: () => (/* binding */ storage_get_filename), /* harmony export */ storage_is_file: () => (/* binding */ storage_is_file), /* harmony export */ storage_list_all_files: () => (/* binding */ storage_list_all_files), /* harmony export */ storage_make_dir: () => (/* binding */ storage_make_dir), /* harmony export */ storage_open_file_with_os: () => (/* binding */ storage_open_file_with_os), /* harmony export */ storage_rename: () => (/* binding */ storage_rename) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const STORAGE_HUE = 0; //'#5d69c5'//0; const storage_open_file_with_os = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput('fn') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS + "(For Windows)"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } } const storage_fileopen = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILENAME") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE); //.appendField(new Blockly.FieldTextInput('filename.txt'), 'FILENAME'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'r'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'w'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'rb'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE, 'wb'] ]), 'MODE'); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_AS); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_USE; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG; var TOOLTIPS = { 'r': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'w': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'rb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'wb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE }; return mode0 + TOOLTIPS[mode] + mode3 + mode1 + mode2; }); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const storage_fileopen_new = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILENAME") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE); //.appendField(new Blockly.FieldTextInput('filename.txt'), 'FILENAME'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'r'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'w'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'rb'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE, 'wb'] ]), 'MODE'); this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_USE; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG; var mode4 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PY_STORAGE_FILE_OBJECT; var TOOLTIPS = { 'r': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'w': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'rb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'wb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE }; return mode0 + TOOLTIPS[mode] + mode3 + mode1 + mode2 + mode4; }); } }; const storage_fileopen_new_encoding = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILENAME") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE); //.appendField(new Blockly.FieldTextInput('filename.txt'), 'FILENAME'); var code = [['ANSI', 'ANSI'], ['gbk', 'gbk'], ['utf-8', 'utf-8']]; this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'r'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'w'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'rb'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE, 'wb'] ]), 'MODE'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TEXT_ENCODE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(code), 'CODE') this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_USE; var mode1 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_BELONG; var mode4 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PY_STORAGE_FILE_OBJECT; var TOOLTIPS = { 'r': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'w': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'rb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'wb': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE }; return mode0 + TOOLTIPS[mode] + mode3 + mode1 + mode2 + mode4; }); } }; const storage_file_write = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput('data') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE); // .appendField(new Blockly.FieldTextInput('f'), 'FILE'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE); } } const storage_get_contents_without_para = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck('Variable') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL, 'read'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE, 'readline'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES, 'readlines']]), 'MODE'); this.setInputsInline(true); this.setPreviousStatement(false); //in front of the block has something this.setNextStatement(false); //beyond the ... has something this.setOutput(true, String); } }; const storage_get_contents = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck('Variable') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE, 'read'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE, 'readline'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE, 'readlines'] ]), 'MODE'); this.appendValueInput("SIZE") .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER); this.setInputsInline(true); this.setPreviousStatement(false); //in front of the block has something this.setNextStatement(false); //beyond the ... has something this.setOutput(true, String); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER; var TOOLTIPS = { 'read': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE, 'readline': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE, 'readlines': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE }; return mode0 + TOOLTIPS[mode] + 'x' + mode2; }); } }; const storage_get_a_line = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE); this.setNextStatement(true); this.appendValueInput("SIZE") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_PYTHON_TYPE); } }; const storage_can_write_ornot = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_FILE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, Boolean); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1); } }; const storage_get_filename = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME); } }; const storage_close_file = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setOutput(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE); } }; const storage_list_all_files = { init: function () { this.setColour(STORAGE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, 'List'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES); } }; blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE const storage_delete_file = { init: function () { this.setColour(STORAGE_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE, 'remove'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS, 'removedirs'] ]), 'MODE'); this.appendValueInput("FILE") .setCheck(String); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setOutput(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE); } }; const storage_get_file_size = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE); } }; const storage_file_tell = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL); } }; const storage_file_seek = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck('Variable') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START, 'start'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT, 'current'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END, 'end'] ]), 'MODE'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET); this.appendValueInput("SIZE") .setCheck(Number); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER); this.setInputsInline(true); this.setPreviousStatement(true); //in front of the block has something this.setNextStatement(true); //beyond the ... has something var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER; var mode3 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET; var TOOLTIPS = { 'start': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START, 'current': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT, 'end': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END }; return mode0 + " " + TOOLTIPS[mode] + mode3 + 'x' + mode2; }); } }; const storage_get_current_dir = { init: function () { this.setColour(STORAGE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, 'List'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR); } }; const storage_make_dir = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("PATH") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SET); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR, 'mkdir'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS, 'makedirs'] ]), 'MODE'); this.setInputsInline(true); this.setPreviousStatement(true); //in front of the block has something this.setNextStatement(true); //beyond the ... has something this.setOutput(false); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ESP32_SET; var TOOLTIPS = { 'mkdir': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR, 'makedirs': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS }; return mode0 + 'x' + mode2 + TOOLTIPS[mode]; }); } }; const storage_rename = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME); this.appendValueInput("NEWFILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_AS); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setOutput(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME); } }; const storage_change_dir = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setOutput(false); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR); } }; const storage_is_file = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput("FILE") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_FILE, 'isfile'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR, 'isdir'] ]), 'MODE'); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, Boolean); let thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('MODE'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH; var mode2 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT; var TOOLTIPS = { 'isfile': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR, 'isdir': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS }; return mode0 + 'x' + mode2 + TOOLTIPS[mode]; }); } }; const sdcard_use_spi_init = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput('SPISUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.CONTROLS_FOR_INPUT_WITH + "SPI") .setCheck("var"); this.appendValueInput('PINSUB') .appendField("CS") this.appendValueInput('SUB') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SETUP + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SD_CARD); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); } }; const sdcard_mount = { init: function () { this.setColour(STORAGE_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SD_CARD); this.appendValueInput("DIR") .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_SDCARD_MOUNT); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(); } } /***/ }), /***/ "../python/blocks/text.js": /*!********************************!*\ !*** ../python/blocks/text.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ascii_to_char: () => (/* binding */ ascii_to_char), /* harmony export */ char_to_ascii: () => (/* binding */ char_to_ascii), /* harmony export */ number_to_text: () => (/* binding */ number_to_text), /* harmony export */ os_system: () => (/* binding */ os_system), /* harmony export */ text: () => (/* binding */ text), /* harmony export */ text_capital: () => (/* binding */ text_capital), /* harmony export */ text_center: () => (/* binding */ text_center), /* harmony export */ text_char: () => (/* binding */ text_char), /* harmony export */ text_char_at: () => (/* binding */ text_char_at), /* harmony export */ text_char_at2: () => (/* binding */ text_char_at2), /* harmony export */ text_char_at3: () => (/* binding */ text_char_at3), /* harmony export */ text_compareTo: () => (/* binding */ text_compareTo), /* harmony export */ text_compare_to: () => (/* binding */ text_compare_to), /* harmony export */ text_create_with_container: () => (/* binding */ text_create_with_container), /* harmony export */ text_create_with_item: () => (/* binding */ text_create_with_item), /* harmony export */ text_encode: () => (/* binding */ text_encode), /* harmony export */ text_equals_starts_ends: () => (/* binding */ text_equals_starts_ends), /* harmony export */ text_eval: () => (/* binding */ text_eval), /* harmony export */ text_find: () => (/* binding */ text_find), /* harmony export */ text_format: () => (/* binding */ text_format), /* harmony export */ text_format_noreturn: () => (/* binding */ text_format_noreturn), /* harmony export */ text_join: () => (/* binding */ text_join), /* harmony export */ text_join_seq: () => (/* binding */ text_join_seq), /* harmony export */ text_length: () => (/* binding */ text_length), /* harmony export */ text_random_char: () => (/* binding */ text_random_char), /* harmony export */ text_replace: () => (/* binding */ text_replace), /* harmony export */ text_split: () => (/* binding */ text_split), /* harmony export */ text_strip: () => (/* binding */ text_strip), /* harmony export */ text_substring: () => (/* binding */ text_substring), /* harmony export */ text_substring2: () => (/* binding */ text_substring2), /* harmony export */ text_substring3: () => (/* binding */ text_substring3), /* harmony export */ text_textarea: () => (/* binding */ text_textarea) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const TEXTS_HUE = 160//'#9ec440'//160; const text = { /** * Block for text value. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.TEXT_TEXT_HELPURL); this.setColour(TEXTS_HUE); this.appendDummyInput() .appendField(this.newQuote_(true)) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(''), 'TEXT') .appendField(this.newQuote_(false)); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TEXT_TOOLTIP); }, /** * Create an image of an open or closed quote. * @param {boolean} open True if open quote, false if closed. * @return {!Blockly.FieldImage} The field image of the quote. * @private */ newQuote_: function (open) { if (open == this.RTL) { var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg=='; } else { var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC'; } return new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldImage(file, 12, 12, '"'); } }; const text_textarea = { /** * Block for text value. * @this Blockly.Block */ init: function () { //this.setHelpUrl(Blockly.Msg.TEXT_TEXT_HELPURL); this.setColour(TEXTS_HUE); this.appendDummyInput() .appendField(this.newQuote_(true)) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput('Hello\nMixly'), 'VALUE') // .appendField(new Blockly.FieldTextInput(''), 'TEXT') .appendField(this.newQuote_(false)); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_LINES_TOOLTIP); }, /** * Create an image of an open or closed quote. * @param {boolean} open True if open quote, false if closed. * @return {!Blockly.FieldImage} The field image of the quote. * @private */ newQuote_: function (open) { if (open == this.RTL) { var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg=='; } else { var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC'; } return new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldImage(file, 12, 12, '"'); } }; blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.char_validator = function (text) { if (text.length > 1) { if (text.charAt(0) === "\\") { var charAtOne = text.charAt(1); if (charAtOne === "0" || charAtOne === "b" || charAtOne === "f" || charAtOne === "n" || charAtOne === "r" || charAtOne === "t" || charAtOne === "\\" || charAtOne === "'") { return String(text).substring(0, 2); } else if (charAtOne === "x" && text.charAt(2) === "0" && text.charAt(3) === "B") { return String(text).substring(0, 4); } } } return String(text).substring(0, 1); }; const text_char = { init: function () { this.setColour(TEXTS_HUE); this.appendDummyInput() .appendField(this.newQuote_(true)) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('', blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput.char_validator), 'TEXT') .appendField(this.newQuote_(false)); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHAR_TOOLTIP); }, newQuote_: function (open) { if (open == true) { var file = '../../media/quote2.png'; } else { var file = '../../media/quote3.png'; } return new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldImage(file, 7, 12, '"'); } }; const text_join = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('A') .setCheck([String, Number]); this.appendValueInput('B') .setCheck([String, Number]) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TEXT_JOIN); this.setInputsInline(true); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_JOIN); } }; const ascii_to_char = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('VAR') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOCHAR); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR); } }; const char_to_ascii = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('VAR') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOASCII); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_TOASCII); } }; const number_to_text = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOSTRING); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT); } }; const text_length = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LENGTH); this.setOutput(true, Number); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TEXT_LENGTH); } } const text_char_at2 = { init: function () { this.WHERE_OPTIONS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START, "FROM_START"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_END, "FROM_END"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_GET_INDEX_RANDOM + 1 + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2, "RANDOM"] ]; this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_HELPURL); this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String) // .appendField(Blockly.Msg.MIXLY_MICROBIT_TYPE_LIST) this.appendValueInput("AT") .setCheck(Number) this.appendDummyInput() //.appendField(Blockly.Msg.MIXLY_MID) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_GET, "MODE"); // .appendField("", "SPACE"); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TAIL && this.appendDummyInput("TAIL").appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TAIL); // this.appendDummyInput().appendField(Blockly.Msg.MIXLY_DE); this.setInputsInline(!0); this.setOutput(!0); this.updateAt_(!0); var b = this; this.setTooltip(function () { var a = b.getFieldValue("MODE"), e = b.getFieldValue("WHERE"), d = ""; switch (a + " " + e) { case "GET FROM_START": case "GET FROM_END": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM; break; case "GET RANDOM": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM; break; case "GET_REMOVE FROM_START": case "GET_REMOVE FROM_END": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM; break; case "GET_REMOVE RANDOM": d = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM; break; } if ("FROM_START" == e || "FROM_END" == e) d += " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1", blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.ONE_BASED_INDEXING ? "#1" : "#0"); return d }) var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('WHERE'); var TOOLTIPS = { 'FROM_START': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START, 'FROM_END': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_END, 'RANDOM': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_GET_INDEX_RANDOM }; return blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING + TOOLTIPS[mode] + 'n' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2; }); }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("statement", !this.outputConnection); var b = this.getInput("AT").type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; a.setAttribute("at", b); return a }, domToMutation: function (a) { var b = "true" == a.getAttribute("statement"); this.updateStatement_(b); a = "false" != a.getAttribute("at"); this.updateAt_(a) }, updateStatement_: function (a) { a != !this.outputConnection && (this.unplug(!0, !0), a ? (this.setOutput(!1), this.setPreviousStatement(!0), this.setNextStatement(!0)) : (this.setPreviousStatement(!1), this.setNextStatement(!1), this.setOutput(!0))) }, updateAt_: function (a) { this.removeInput("AT"); this.removeInput("ORDINAL", !0); a ? (this.appendValueInput("AT").setCheck(Number), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2 && this.appendDummyInput("ORDINAL").appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2)) : this.appendDummyInput("AT"); var b = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this.WHERE_OPTIONS, function (b) { var e = "FROM_START" == b || "FROM_END" == b; if (e != a) { var d = this.sourceBlock_; d.updateAt_(e); d.setFieldValue(b, "WHERE"); return null } }); this.getInput("AT").appendField(b, "WHERE"); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TAIL && this.moveInputBefore("TAIL", null) } }; const text_char_at = { init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_HELPURL); this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String); this.appendValueInput("AT") .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_DEFRETURN_RETURN + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START + 'n' + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2); } } const text_random_char = { init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_HELPURL); this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_RANDOM_CHAR); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_RANDOM_CHAR_TOOLTIP); } } const text_substring2 = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this['WHERE_OPTIONS_1'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START, 'FROM_START'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_END, 'FROM_END'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_START_FIRST, 'FIRST'] ]; this['WHERE_OPTIONS_2'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_START, 'FROM_START'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_END, 'FROM_END'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_LAST, 'LAST'] ]; this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String) //.appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL) // if (Blockly.Msg.LISTS_GET_SUBLIST_TAIL) { // this.appendDummyInput('TAIL') // .appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL); // } this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendDummyInput('AT1'); this.appendDummyInput('AT2'); this.setInputsInline(true); this.setOutput(true, 'List'); this.updateAt_(1, true); this.updateAt_(2, true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg._GET_TEXT_SUBLIST_TOOLTIP); }, /** * Create XML to represent whether there are 'AT' inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); var isAt1 = this.getInput('AT1').type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; container.setAttribute('at2', isAt2); return container; }, /** * Parse XML to restore the 'AT' inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var isAt1 = (xmlElement.getAttribute('at1') == 'true'); var isAt2 = (xmlElement.getAttribute('at2') == 'true'); this.updateAt_(1, isAt1); this.updateAt_(2, isAt2); }, /** * Create or delete an input for a numeric index. * This block has two such inputs, independant of each other. * @param {number} n Specify first or second input (1 or 2). * @param {boolean} isAt True if the input should exist. * @private * @this Blockly.Block */ updateAt_: function (n, isAt) { // Create or delete an input for the numeric index. // Destroy old 'AT' and 'ORDINAL' inputs. this.removeInput('AT' + n); this.removeInput('ORDINAL' + n, true); // Create either a value 'AT' input or a dummy input. if (isAt) { this.appendValueInput('AT' + n).setCheck(Number); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2) { this.appendDummyInput('ORDINAL' + n) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2); } } else { this.appendDummyInput('AT' + n); } var menu = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this['WHERE_OPTIONS_' + n], function (value) { var newAt = (value == 'FROM_START') || (value == 'FROM_END'); // The 'isAt' variable is available due to this function being a // closure. if (newAt != isAt) { var block = this.sourceBlock_; block.updateAt_(n, newAt); // This menu has been destroyed and replaced. // Update the replacement. block.setFieldValue(value, 'WHERE' + n); return null; } return undefined; }); this.getInput('AT' + n) .appendField(menu, 'WHERE' + n); if (n == 1) { this.moveInputBefore('AT1', 'AT2'); if (this.getInput('ORDINAL1')) { this.moveInputBefore('ORDINAL1', 'AT2'); } } // if (Blockly.Msg.LISTS_GET_SUBLIST_TAIL) { // this.moveInputBefore('TAIL', null); // } } }; const text_substring = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String) this.appendValueInput('AT1') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendValueInput('AT2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT2); this.setInputsInline(true); this.setOutput(true, ['List', String]); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg._GET_TEXT_SUBLIST_TOOLTIP); } } const text_equals_starts_ends = { init: function () { var TEXT_DOWHAT = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_EQUALS, '==='], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_STARTSWITH, 'startswith'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_ENDSWITH, 'endswith'] ]; this.setColour(TEXTS_HUE); this.appendValueInput("STR1") .setCheck(String); this.appendValueInput("STR2") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(TEXT_DOWHAT), 'DOWHAT') .setCheck(String); this.setOutput(true, [Boolean, Number]); this.setInputsInline(true); } } const text_compare_to = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("STR1") .setCheck(String); this.appendValueInput("STR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMPARETO) .setCheck(String); this.setOutput(true, Number); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_COMPARETO_HELP); } } const text_capital = { init: function () { var TEXT_CAPITAL = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_UPPER, 'upper'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TITLE, 'title'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CAPITALIZE, 'capitalize'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_SWAPCASE, 'swapcase'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_LOWER, 'lower'] ]; this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(TEXT_CAPITAL), 'CAPITAL') .setCheck(String); this.setOutput(true, String); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('CAPITAL'); var TOOLTIPS = { 'upper': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP, 'title': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP, 'swapcase': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP, 'capitalize': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP, 'lower': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP }; return TOOLTIPS[mode]; }); } } const text_center = { init: function () { var TEXT_CENTER = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_LJUST, 'ljust'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CENTER, 'center'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_RJUST, 'rjust'] ]; this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(TEXT_CENTER), 'CENTER') .setCheck(String); this.appendValueInput("WID") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_WIDTH) .setCheck(Number); this.appendValueInput("Symbol") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_RECT_Fill) .setCheck(String); this.setInputsInline(true); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP); } } const text_find = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .setCheck(String); this.appendValueInput("STR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MID + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER) .setCheck(String); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX); this.setInputsInline(true); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP); } } const text_join_seq = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR) .setCheck(String); this.appendValueInput('LIST') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ) .setCheck('List', 'Tuple', 'Set', 'Dict'); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR); this.setInputsInline(true); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP); } } const text_replace = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("VAR") .setCheck(String); this.appendValueInput("STR1") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_REPLACE) .setCheck(String); this.appendValueInput("STR2") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_SET_INDEX_INPUT_TO) .setCheck(String); this.setInputsInline(true); this.setOutput(true, String); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP); } } const text_split = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput("VAR"); this.appendValueInput("VAL") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LIST_SPLIT_AS); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LIST_SPLIT); this.setOutput(true, "List"); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP); this.setInputsInline(true); } } const text_strip = { init: function () { var STRIP = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_BOTH, 'strip'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT, 'lstrip'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT, 'rstrip']]; this.setColour(TEXTS_HUE); this.appendValueInput('VAR') this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_STRIM); this.appendDummyInput('') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(STRIP), 'TOWHAT'); this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_BLANK); this.setOutput(true, String); this.setInputsInline(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('TOWHAT'); var TOOLTIPS = { 'strip': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_BOTH_TOOLTIP, 'lstrip': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_LEFT_TOOLTIP, 'rstrip': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_TRIM_RIGHT_TOOLTIP }; return TOOLTIPS[mode]; }); } }; const text_format = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(TEXTS_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_FORMAT) //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array'], [Blockly.Msg.LANG_MATH_STRING, 'Array'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'Array']]), 'TYPE') // .appendField(' ') this.appendDummyInput("") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('str'), 'VAR'); this.itemCount_ = 1; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['text_create_with_item'], this)); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('text_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('text_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_BEFORE_PARAMS); } } } }, getVars: function () { if (this.getFieldValue('VAR') != null) { if ((this.getFieldValue('VAR').indexOf("'") == -1) && (this.getFieldValue('VAR').indexOf('"') == -1)) { return [this.getFieldValue('VAR')]; } return []; } }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const text_create_with_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(TEXTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_MUTATORCONTAINER_TITLE); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const text_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(TEXTS_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_VARIABLES_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const text_substring3 = text_substring const text_compareTo = text_compare_to const text_char_at3 = text_char_at const text_format_noreturn = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(TEXTS_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROPYTHON_FORMAT) //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array'], [Blockly.Msg.LANG_MATH_STRING, 'Array'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'Array']]), 'TYPE') // .appendField(' ') this.appendValueInput("VAR") .setCheck(String); this.itemCount_ = 1; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setInputsInline(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['text_create_with_item'], this)); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('text_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('text_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PROCEDURES_BEFORE_PARAMS); } } } } }; const text_encode = { init: function () { this.setColour(TEXTS_HUE); var encode_decode = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TEXT_ENCODE, 'encode'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TEXT_DECODE, 'decode']]; var code = [['ASCII', 'ASCII'], ['gb2312', 'gb2312'], ['gbk', 'gbk'], ['utf-8', 'utf-8'], ['utf-16', 'utf-16'], ['utf-32', 'utf-32']]; this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(code), 'CODE') .appendField(' ') this.appendValueInput("VAR") .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(encode_decode), 'DIR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_STRING); this.setOutput(true, String); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TEXT_ENCODE_DECODE_TOOLTIP); } }; const text_eval = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('VAR') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_EVAL); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_EVAL_RESULT); this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TEXT_EVAL_TOOLTIP); } }; const os_system = { init: function () { this.setColour(TEXTS_HUE); this.appendValueInput('VAR') .setCheck(String) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_OS_SYSTEM); this.setInputsInline(true); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_OS_SYSTEM_TOOLTIP); } }; /***/ }), /***/ "../python/blocks/tuple.js": /*!*********************************!*\ !*** ../python/blocks/tuple.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ tuple_change_to: () => (/* binding */ tuple_change_to), /* harmony export */ tuple_create_with: () => (/* binding */ tuple_create_with), /* harmony export */ tuple_create_with_container: () => (/* binding */ tuple_create_with_container), /* harmony export */ tuple_create_with_item: () => (/* binding */ tuple_create_with_item), /* harmony export */ tuple_create_with_noreturn: () => (/* binding */ tuple_create_with_noreturn), /* harmony export */ tuple_create_with_text2: () => (/* binding */ tuple_create_with_text2), /* harmony export */ tuple_create_with_text_return: () => (/* binding */ tuple_create_with_text_return), /* harmony export */ tuple_del: () => (/* binding */ tuple_del), /* harmony export */ tuple_find: () => (/* binding */ tuple_find), /* harmony export */ tuple_getIndex: () => (/* binding */ tuple_getIndex), /* harmony export */ tuple_getSublist: () => (/* binding */ tuple_getSublist), /* harmony export */ tuple_get_random_item: () => (/* binding */ tuple_get_random_item), /* harmony export */ tuple_get_sublist: () => (/* binding */ tuple_get_sublist), /* harmony export */ tuple_input: () => (/* binding */ tuple_input), /* harmony export */ tuple_join: () => (/* binding */ tuple_join), /* harmony export */ tuple_length: () => (/* binding */ tuple_length), /* harmony export */ tuple_max: () => (/* binding */ tuple_max), /* harmony export */ tuple_totuple: () => (/* binding */ tuple_totuple), /* harmony export */ tuple_trig: () => (/* binding */ tuple_trig) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const TUPLE_HUE = 195; //'#5ec73d'//195; const tuple_create_with = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput("") //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array'], [Blockly.Msg.LANG_MATH_STRING, 'Array'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'Array']]), 'TYPE') // .appendField(' ') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('mytup'), 'VAR'); this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['tuple_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('tuple_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('tuple_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const tuple_create_with_container = { /** * Mutator block for list container. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const tuple_create_with_item = { /** * Mutator bolck for adding items. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_VARIABLES_NAME); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = false; } }; const tuple_create_with_text2 = { init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput("") //don't need to specify the data type in Python // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'Array']]), 'TYPE') // .appendField(' ') // .appendField(Blockly.Msg.blockpy_MIXLY_TUPLE_CREATE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('mytup'), 'VAR') //.appendField(new Blockly.FieldTextInput('3',Blockly.FieldTextInput.math_number_validator), 'SIZE') // .appendField(Blockly.Msg.MIXLY_MAKELISTFROM) // .appendField(this.newQuote_(true)) .appendField(' = (') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'), 'TEXT') .appendField(')'); // .appendField(this.newQuote_(false)) this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } // newQuote_: function(open) { // if (open == this.RTL) { // var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg=='; // } else { // var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC'; // } // return new Blockly.FieldImage(file, 12, 12, '"'); // } } const tuple_create_with_text_return = { init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput("") .appendField('(') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'), 'TEXT') .appendField(')'); // .appendField(this.newQuote_(false)) this.setOutput(true); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT); // }, // getVars: function() { // return [this.getFieldValue('VAR')]; // }, // renameVar: function(oldName, newName) { // if (Blockly.Names.equals(oldName, this.getFieldValue('VAR'))) { // this.setTitleValue(newName, 'VAR'); // } } // newQuote_: function(open) { // if (open == this.RTL) { // var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg=='; // } else { // var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC'; // } // return new Blockly.FieldImage(file, 12, 12, '"'); // } } const tuple_getIndex = { init: function () { this.setColour(TUPLE_HUE); this.setOutput(true); this.appendValueInput('TUP') .setCheck('Tuple') this.appendValueInput('AT') .setCheck(Number) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_GET_INDEX1); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_LISTS_GET_INDEX2); this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_GET_INDEX_TOOLTIP); } }; const tuple_length = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendValueInput('TUP'); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LENGTH); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_LENGTH_TOOLTIP); this.setOutput(true, Number); } }; const tuple_del = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendValueInput('TUP') .setCheck('Tuple') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_DEL); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_DEL_TOOLTIP); } }; const tuple_join = { /** * Block for list length. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.appendValueInput('TUP1') .setCheck('Tuple') this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_JOIN) this.appendValueInput('TUP2') .setCheck('Tuple') this.setInputsInline(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_JOIN_TOOLTIP); this.setOutput(true, "Tuple"); } }; const tuple_max = { init: function () { this.appendValueInput('TUP') .setCheck('Tuple') var max_min = [[blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_TUPLE_MAX, 'max'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_TUPLE_MIN, 'min'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_SUM, 'sum']]; this.setColour(TUPLE_HUE); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_JS_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(max_min), 'DIR') this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('DIR'); var TOOLTIPS = { 'max': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TUPLE_MAX, 'min': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TUPLE_MIN, 'sum': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TUPLE_SUM }; return TOOLTIPS[mode]; }); } }; const tuple_change_to = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, 'list'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, 'set'] ]; this.setColour(TUPLE_HUE); this.appendValueInput('VAR') .setCheck("Tuple") // .appendField(Blockly.Msg.blockpy_USE_LIST); this.appendDummyInput("") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.A_TO_B) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'list': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_TO_LISTS, 'set': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_TO_SET, }; return TOOLTIPS[mode]; }); } }; const tuple_find = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_INDEX, 'INDEX'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_COUNT, 'COUNT'] ]; this.setColour(TUPLE_HUE); this.appendValueInput('VAR') .setCheck('List') this.appendValueInput('data') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.HTML_VALUE) this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_DE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); //.appendField(new Blockly.FieldTextInput('mylist'), 'VAR') this.setInputsInline(true); this.setOutput(true, Number); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'INDEX': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TUPLE_FIND_INDEX, 'COUNT': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOOLTIP_TUPLE_FIND_COUNT }; return TOOLTIPS[mode]; }); } }; const tuple_trig = { init: function () { var OPERATORS = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_LIST_LEN, 'LEN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_SUM, 'SUM'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MAX, 'MAX'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MIN, 'MIN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_AVERAGE, 'AVERAGE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MEDIAN, 'MEDIAN'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_MODE, 'MODE'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_OPERATOR_STD_DEV, 'STD_DEV'], ]; //this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); this.setColour(TUPLE_HUE); this.setOutput(true, Number); this.appendValueInput('data') .setCheck('List') this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(OPERATORS), 'OP'); this.setInputsInline(true); // Assign 'this' to a variable for use in the tooltip closure below. var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('OP'); var TOOLTIPS = { 'LEN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_LENGTH_TOOLTIP, 'SUM': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_SUM, 'MAX': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MAX, 'MIN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MIN, 'AVERAGE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_AVERAGE, 'MEDIAN': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MEDIAN, 'MODE': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MODE, 'STD_DEV': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MATH_ONLIST_TOOLTIP_TUPLE_STD_DEV }; return TOOLTIPS[mode]; }); } }; const tuple_getSublist = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this['WHERE_OPTIONS_1'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START, 'FROM_START'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_END, 'FROM_END'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_START_FIRST, 'FIRST'] ]; this['WHERE_OPTIONS_2'] = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_START, 'FROM_START'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_END, 'FROM_END'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_LAST, 'LAST'] ]; this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(TUPLE_HUE); this.appendValueInput('LIST') .setCheck('List') //.appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL) // if (Blockly.Msg.LISTS_GET_SUBLIST_TAIL) { // this.appendDummyInput('TAIL') // .appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL); // } this.appendDummyInput('') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET); this.appendDummyInput('AT1'); this.appendDummyInput('AT2'); this.setInputsInline(true); this.setOutput(true, 'List'); this.updateAt_(1, true); this.updateAt_(2, true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP); }, /** * Create XML to represent whether there are 'AT' inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); var isAt1 = this.getInput('AT1').type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE; container.setAttribute('at2', isAt2); return container; }, /** * Parse XML to restore the 'AT' inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { var isAt1 = (xmlElement.getAttribute('at1') == 'true'); var isAt2 = (xmlElement.getAttribute('at2') == 'true'); this.updateAt_(1, isAt1); this.updateAt_(2, isAt2); }, /** * Create or delete an input for a numeric index. * This block has two such inputs, independant of each other. * @param {number} n Specify first or second input (1 or 2). * @param {boolean} isAt True if the input should exist. * @private * @this Blockly.Block */ updateAt_: function (n, isAt) { // Create or delete an input for the numeric index. // Destroy old 'AT' and 'ORDINAL' inputs. this.removeInput('AT' + n); this.removeInput('ORDINAL' + n, true); // Create either a value 'AT' input or a dummy input. if (isAt) { this.appendValueInput('AT' + n).setCheck(Number); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL) { this.appendDummyInput('ORDINAL' + n) .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL); } } else { this.appendDummyInput('AT' + n); } var menu = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(this['WHERE_OPTIONS_' + n], function (value) { var newAt = (value == 'FROM_START') || (value == 'FROM_END'); // The 'isAt' variable is available due to this function being a // closure. if (newAt != isAt) { var block = this.sourceBlock_; block.updateAt_(n, newAt); // This menu has been destroyed and replaced. // Update the replacement. block.setFieldValue(value, 'WHERE' + n); return null; } return undefined; }); this.getInput('AT' + n) .appendField(menu, 'WHERE' + n); if (n == 1) { this.moveInputBefore('AT1', 'AT2'); if (this.getInput('ORDINAL1')) { this.moveInputBefore('ORDINAL1', 'AT2'); } } // if (Blockly.Msg.LISTS_GET_SUBLIST_TAIL) { // this.moveInputBefore('TAIL', null); // } } }; const tuple_create_with_noreturn = { /** * Block for creating a list with any number of elements of any type. * @this Blockly.Block */ init: function () { this.setColour(TUPLE_HUE); this.itemCount_ = 3; this.updateShape_(); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, "Tuple") this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['tuple_create_with_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_TOOLTIP); }, /** * Create XML to represent list inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = workspace.newBlock('tuple_create_with_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('tuple_create_with_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_EMPTY_TITLE); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TUPLE_CREATE_WITH_INPUT_WITH); } } } }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(oldName, this.getFieldValue('VAR'))) { this.setTitleValue(newName, 'VAR'); } } }; const tuple_get_sublist = { /** * Block for getting sublist. * @this Blockly.Block */ init: function () { this.setHelpUrl(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_HELPURL); this.setColour(TUPLE_HUE); this.appendValueInput('LIST') this.appendDummyInput('') this.appendValueInput('AT1') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_FROM_START); this.appendValueInput('AT2') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_SUBLIST_END_FROM_START); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_CHARAT_TAIL); this.setInputsInline(true); this.setOutput(true, 'Tuple'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP); } } const tuple_get_random_item = { init: function () { this.setColour(TUPLE_HUE); this.appendValueInput("TUP"); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + " " + blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_RANDOM) this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM); this.setOutput(true); } }; const tuple_totuple = { init: function () { this.setColour(TUPLE_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_TOTUPLE); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_TOOLTIP_TOTUPLE); } }; const tuple_input = { init: function () { this.setColour(TUPLE_HUE); this.appendDummyInput("") .appendField('(') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput('0,0,0'),"CONTENT") .appendField(')'); this.setOutput(true); } }; /***/ }), /***/ "../python/blocks/utility.js": /*!***********************************!*\ !*** ../python/blocks/utility.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ attribute_access: () => (/* binding */ attribute_access), /* harmony export */ function_call: () => (/* binding */ function_call), /* harmony export */ function_call_container: () => (/* binding */ function_call_container), /* harmony export */ function_call_item: () => (/* binding */ function_call_item), /* harmony export */ raw_block: () => (/* binding */ raw_block), /* harmony export */ raw_empty: () => (/* binding */ raw_empty), /* harmony export */ raw_expression: () => (/* binding */ raw_expression), /* harmony export */ raw_table: () => (/* binding */ raw_table), /* harmony export */ text_comment: () => (/* binding */ text_comment), /* harmony export */ text_print_multiple: () => (/* binding */ text_print_multiple), /* harmony export */ text_print_multiple_container: () => (/* binding */ text_print_multiple_container), /* harmony export */ text_print_multiple_item: () => (/* binding */ text_print_multiple_item), /* harmony export */ type_check: () => (/* binding */ type_check) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /** * @license * Visual Blocks Editor * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Utility blocks for Blockly. * @author acbart@vt.edu (Austin Cory Bart) */ const UTILITY_HUE = 160; const raw_table = { // Container. init: function () { this.setColour(UTILITY_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendDummyInput() .appendField('Tabular Abstraction:'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTable(''), 'TEXT'); } }; const raw_block = { // Container. init: function () { this.setColour(UTILITY_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendDummyInput() .appendField('Code Block:'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput(''), 'TEXT'); } }; const raw_expression = { // Container. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendField('Code Expression:'); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldMultilineInput(''), 'TEXT'); this.setOutput(true); } }; const raw_empty = { // Container. init: function () { this.setColour(UTILITY_HUE); this.setPreviousStatement(true); this.setNextStatement(true); this.appendValueInput('VALUE') .appendField(''); this.setInputsInline(false); } }; const text_comment = { // Text value. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendTitle('Comment:') .appendTitle(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(''), 'TEXT'); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip('This comment will be ignored by Python'); } }; const type_check = { // Set element at index. init: function () { this.setColour(UTILITY_HUE); this.appendValueInput('VALUE') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TYPE_CHECK); this.setInputsInline(false); this.setOutput(true, 'Type'); //this.setPreviousStatement(true); //this.setNextStatement(true); } }; const text_print_multiple = { /** * Block for printing multiple things (including nothing) * @this Blockly.Block */ init: function () { this.setColour(UTILITY_HUE); this.itemCount_ = 1; this.updateShape_(); this.setPreviousStatement(true); this.setNextStatement(true); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['text_print_multiple_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); }, /** * Create XML to represent print inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Block.obtain(workspace, 'text_print_multiple_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var x = 0; x < this.itemCount_; x++) { var itemBlock = workspace.newBlock('text_print_multiple_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('PRINT' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { // Store a pointer to any connected child blocks. var itemBlock = containerBlock.getInputTargetBlock('STACK'); var x = 0; while (itemBlock) { var input = this.getInput('PRINT' + x); itemBlock.valueConnection_ = input && input.connection.targetConnection; x++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('PRINT' + i)) { this.removeInput('PRINT' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField("print"); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('PRINT' + i); if (i == 0) { input.appendField("print"); } } } } }; const text_print_multiple_container = { // Container. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendField('print'); this.appendStatementInput('STACK'); this.setTooltip(''); this.contextMenu = false; } }; const text_print_multiple_item = { // Add items. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendField('item'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); this.contextMenu = false; } }; const function_call = { /** * Block for printing multiple things (including nothing) * @this Blockly.Block */ init: function () { this.setColour(UTILITY_HUE); this.itemCount_ = 1; this.hasReturn_ = false; this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput("str"), 'NAME'); this.updateShape_(); this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['function_call_item'], this)); this.setTooltip("Can be used to call any function"); }, /** * Create XML to represent print inputs. * @return {Element} XML storage element. * @this Blockly.Block */ mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); container.setAttribute('hasReturn', this.hasReturn_ ? "TRUE" : "FALSE"); return container; }, /** * Parse XML to restore the list inputs. * @param {!Element} xmlElement XML storage element. * @this Blockly.Block */ domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.hasReturn_ = xmlElement.getAttribute('hasReturn') === "TRUE"; this.updateShape_(); }, /** * Populate the mutator's dialog with this block's components. * @param {!Blockly.Workspace} workspace Mutator's workspace. * @return {!Blockly.Block} Root block in mutator. * @this Blockly.Block */ decompose: function (workspace) { var containerBlock = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Block.obtain(workspace, 'function_call_container'); containerBlock.initSvg(); containerBlock.setFieldValue(this.hasStatements_ ? 'TRUE' : 'FALSE', 'RETURN'); var connection = containerBlock.getInput('STACK').connection; for (var x = 0; x < this.itemCount_; x++) { var itemBlock = workspace.newBlock('function_call_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, /** * Notification that the procedure's return state has changed. * @param {boolean} returnState New return state * @this Blockly.Block */ setReturn: function (returnState) { this.unplug(true, true); this.setOutput(returnState); this.setPreviousStatement(!returnState); this.setNextStatement(!returnState); if (this.rendered) { this.render(); } }, /** * Reconfigure this block based on the mutator dialog's components. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.hasReturn_ = containerBlock.getFieldValue("RETURN") === "TRUE"; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ARGUMENT' + i).connection.connect(connections[i]); } } }, /** * Store pointers to any connected child blocks. * @param {!Blockly.Block} containerBlock Root block in mutator. * @this Blockly.Block */ saveConnections: function (containerBlock) { // Store a pointer to any connected child blocks. var itemBlock = containerBlock.getInputTargetBlock('STACK'); var x = 0; while (itemBlock) { var input = this.getInput('ARGUMENT' + x); itemBlock.valueConnection_ = input && input.connection.targetConnection; x++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, /** * Modify this block to have the correct number of inputs. * @private * @this Blockly.Block */ updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ARGUMENT' + i)) { this.removeInput('ARGUMENT' + i); i++; } } // Rebuild block. for (var i = 0; i < this.itemCount_; i++) { this.appendValueInput('ARGUMENT' + i); } // Set whether returns anything this.setReturn(this.hasReturn_); } }; const function_call_container = { // Container. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendField('Arguments'); this.appendStatementInput('STACK'); this.appendDummyInput() .setAlign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.inputs.Align.RIGHT) .appendField('has return') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldCheckbox('TRUE'), 'RETURN'); this.setTooltip(''); this.contextMenu = false; } }; const function_call_item = { // Add items. init: function () { this.setColour(UTILITY_HUE); this.appendDummyInput() .appendField('argument'); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(''); this.contextMenu = false; } }; const attribute_access = { init: function () { this.appendValueInput("MODULE") .setCheck(null); this.appendValueInput("NAME") .setCheck(null) .appendField("."); this.setInputsInline(true); this.setOutput(true, null); this.setColour(230); this.setTooltip(''); this.setHelpUrl(''); } }; /***/ }), /***/ "../python/blocks/variables.js": /*!*************************************!*\ !*** ../python/blocks/variables.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ controls_type: () => (/* binding */ controls_type), /* harmony export */ controls_typeLists: () => (/* binding */ controls_typeLists), /* harmony export */ lists_zip: () => (/* binding */ lists_zip), /* harmony export */ lists_zip_container: () => (/* binding */ lists_zip_container), /* harmony export */ lists_zip_item: () => (/* binding */ lists_zip_item), /* harmony export */ unpack_iterable_object: () => (/* binding */ unpack_iterable_object), /* harmony export */ variables_change: () => (/* binding */ variables_change), /* harmony export */ variables_get: () => (/* binding */ variables_get), /* harmony export */ variables_global: () => (/* binding */ variables_global), /* harmony export */ variables_set: () => (/* binding */ variables_set) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _others_names__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../others/names */ "../python/others/names.js"); const VARIABLES_HUE = 330//'#af5180'//330; // ************************************************************************ // THIS SECTION IS INSERTED INTO BLOCKLY BY BLOCKLYDUINO. // export const variables_declare = { // // Variable setter. // init: function() { // this.setColour(VARIABLES_HUE); // this.appendValueInput('VALUE', null) // .appendField(Blockly.Msg.MIXLY_DECLARE) // .appendField(new Blockly.FieldTextInput(''), 'VAR') // //.appendField(Blockly.Msg.MIXLY_AS) // //.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_NUMBER, 'number'], [Blockly.Msg.LANG_MATH_STRING, 'string'], [Blockly.Msg.LANG_MATH_BOOLEAN, 'boolean']]), 'TYPE') // .appendField(Blockly.Msg.MIXLY_VALUE); // this.setPreviousStatement(true); // this.setNextStatement(true); // this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE); // }, // getVars: function() { // return [this.getFieldValue('VAR')]; // }, // renameVar: function(oldName, newName) { // if (Names.equals(oldName, this.getFieldValue('VAR'))) { // this.setTitleValue(newName, 'VAR'); // } // } // }; // ************************************************************************ const variables_get = { init: function () { this.setColour(VARIABLES_HUE); this.appendDummyInput() .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(''), 'VAR') this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.VARIABLES_GET_TOOLTIP); }, getVars: function () { return [this.getFieldValue('VAR')]; }, renameVar: function (oldName, newName) { if (_others_names__WEBPACK_IMPORTED_MODULE_1__["default"].equals(oldName, this.getFieldValue('VAR'))) { this.setFieldValue(newName, 'VAR'); } }/*, onchange: function() { var varName = Blockly.Arduino.variableDB_.getName(this.getFieldValue('VAR'),Blockly.Variables.NAME_TYPE); if(Blockly.Arduino.definitions_['var_declare'+varName]){ this.setWarningText(null); }else{ this.setWarningText(Blockly.Msg.MIXLY_WARNING_NOT_DECLARE); } }*/ }; // export const variables_set = { // init: function() { // this.setColour(VARIABLES_HUE); // this.appendValueInput('VALUE') // .appendField(new Blockly.FieldTextInput(''), 'VAR') // .appendField(Blockly.Msg.MIXLY_VALUE2); // this.setPreviousStatement(true); // this.setNextStatement(true); // this.setTooltip(Blockly.Msg.VARIABLES_SET_TOOLTIP); // }, // getVars: function() { // return [this.getFieldValue('VAR')]; // }, // renameVar: function(oldName, newName) { // if (Names.equals(oldName, this.getFieldValue('VAR'))) { // this.setFieldValue(newName, 'VAR'); // } // }/*, // onchange: function() { // var varName = Blockly.Arduino.variableDB_.getName(this.getFieldValue('VAR'),Blockly.Variables.NAME_TYPE); // if(Blockly.Arduino.definitions_['var_declare'+varName]){ // this.setWarningText(null); // }else{ // this.setWarningText(Blockly.Msg.MIXLY_WARNING_NOT_DECLARE); // } // }*/ // }; const variables_set = { init: function () { this.setColour(VARIABLES_HUE); this.appendValueInput('VALUE') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldTextInput(''), 'VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_VALUE2); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.VARIABLES_SET_TOOLTIP); }, getVars: function () { var varValue = this.getFieldValue('VAR'); if (varValue == null) { return []; } return varValue.split(","); }, renameVar: function (oldName, newName) { if (_others_names__WEBPACK_IMPORTED_MODULE_1__["default"].equals(oldName, this.getFieldValue('VAR'))) { this.setFieldValue(newName, 'VAR'); } } }; /** * Block for basic data type change. * @this Blockly.Block */ const variables_change = { init: function () { this.setColour(VARIABLES_HUE); var DATATYPES = [ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, "int"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_FLOAT, "float"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BOOLEAN, "bool"], // [Blockly.Msg.MIXLY_MICROPYTHON_TYPE_COMPLEX, "complex"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_STRING, "str"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, "list"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, "tuple"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, "dict"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, "set"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE, "bytes"] ]; this.appendValueInput('MYVALUE') .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown(DATATYPES), 'OP'); // Assign 'this' to a variable for use in the tooltip closure below. this.setOutput(true); // this.setInputsInline(true); } }; const variables_global = { init: function () { this.setColour(VARIABLES_HUE); this.appendValueInput("VAR") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_GLOBAL) .setCheck("var"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.TEXT_PRINT_TOOLTIP); } }; const controls_type = { init: function () { this.setColour(VARIABLES_HUE); this.appendValueInput("DATA") .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_PYTHON_TYPE); // this.setInputsInline(true); this.setOutput(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_PYTHON_TYPE); } }; const controls_typeLists = { init: function () { this.setColour(VARIABLES_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, "int"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_FLOAT, "float"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING, "str"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, "list"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, "tuple"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, "dict"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, "set"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE, "bytes"], // [Blockly.Msg.MIXLY_MICROBIT_IMAGE,"image"], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL, "type(None)"]]), "type"); //整数、浮点数、字符串、列表、元组、字典、集合、图像不太对, unfinished this.setInputsInline(true); this.setOutput(true); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('type'); var mode0 = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MICROBIT_controls_TypeLists; var TOOLTIPS = { 'int': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_INT, 'float': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_FLOAT, 'str': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_STRING, 'list': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_LIST, 'tuple': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_TUPLE, 'dict': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, 'set': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD, 'image': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_IMAGE, 'bytes': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LANG_MATH_BYTE, 'NoneType': blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.LOGIC_NULL }; return mode0 + TOOLTIPS[mode]; }); } }; const lists_zip = { init: function () { this.setColour(VARIABLES_HUE); this.itemCount_ = 2; this.updateShape_(); this.setInputsInline(true); this.setPreviousStatement(false); this.setNextStatement(false); this.setOutput(true, "List") this.setMutator(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.icons.MutatorIcon(['lists_zip_item'], this)); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP_TOOLTIP); }, mutationToDom: function () { var container = document.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, domToMutation: function (xmlElement) { this.itemCount_ = parseInt(xmlElement.getAttribute('items'), 10); this.updateShape_(); }, decompose: function (workspace) { var containerBlock = workspace.newBlock('lists_zip_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var i = 0; i < this.itemCount_; i++) { var itemBlock = workspace.newBlock('lists_zip_item'); itemBlock.initSvg(); connection.connect(itemBlock.previousConnection); connection = itemBlock.nextConnection; } return containerBlock; }, compose: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; var i = 0; while (itemBlock) { connections[i] = itemBlock.valueConnection_; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); i++; } this.itemCount_ = i; this.updateShape_(); // Reconnect any child blocks. for (var i = 0; i < this.itemCount_; i++) { if (connections[i]) { this.getInput('ADD' + i).connection.connect(connections[i]); } } }, saveConnections: function (containerBlock) { var itemBlock = containerBlock.getInputTargetBlock('STACK'); var i = 0; while (itemBlock) { var input = this.getInput('ADD' + i); itemBlock.valueConnection_ = input && input.connection.targetConnection; i++; itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); } }, updateShape_: function () { // Delete everything. if (this.getInput('EMPTY')) { this.removeInput('EMPTY'); } else { var i = 0; while (this.getInput('ADD' + i)) { this.removeInput('ADD' + i); i++; } } // Rebuild block. if (this.itemCount_ == 0) { this.appendDummyInput('EMPTY') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP); } else { for (var i = 0; i < this.itemCount_; i++) { var input = this.appendValueInput('ADD' + i); if (i == 0) { input.appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP); } } } } }; const lists_zip_container = { init: function () { this.setColour(VARIABLES_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP) .appendField('[]'); this.appendStatementInput('STACK'); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP); this.contextMenu = false; } }; const lists_zip_item = { init: function () { this.setColour(VARIABLES_HUE); this.appendDummyInput() .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM_TOOLTIP); this.contextMenu = false; } }; const unpack_iterable_object = { init: function () { this.setColour(VARIABLES_HUE); this.appendValueInput('VAR') .appendField(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_VARIABLE_UNPACK) .appendField(new blockly_core__WEBPACK_IMPORTED_MODULE_0__.FieldDropdown([ [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM, '*'], [blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg.MIXLY_MICROBIT_TYPE_DICT, '**'] ]), 'TYPE'); this.setTooltip(''); this.setOutput(true); } }; /***/ }), /***/ "../python/export.js": /*!***************************!*\ !*** ../python/export.js ***! \***************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Names: () => (/* reexport safe */ _others_names__WEBPACK_IMPORTED_MODULE_26__["default"]), /* harmony export */ Procedures: () => (/* reexport safe */ _others_procedures__WEBPACK_IMPORTED_MODULE_27__["default"]), /* harmony export */ Python: () => (/* reexport safe */ _python_generator__WEBPACK_IMPORTED_MODULE_29__.Python), /* harmony export */ PythonControlBlocks: () => (/* reexport module object */ _blocks_control__WEBPACK_IMPORTED_MODULE_1__), /* harmony export */ PythonControlGenerators: () => (/* reexport module object */ _generators_control__WEBPACK_IMPORTED_MODULE_14__), /* harmony export */ PythonDictsBlocks: () => (/* reexport module object */ _blocks_dicts__WEBPACK_IMPORTED_MODULE_5__), /* harmony export */ PythonDictsGenerators: () => (/* reexport module object */ _generators_dicts__WEBPACK_IMPORTED_MODULE_18__), /* harmony export */ PythonHtmlBlocks: () => (/* reexport module object */ _blocks_html__WEBPACK_IMPORTED_MODULE_11__), /* harmony export */ PythonHtmlGenerators: () => (/* reexport module object */ _generators_html__WEBPACK_IMPORTED_MODULE_24__), /* harmony export */ PythonListsBlocks: () => (/* reexport module object */ _blocks_lists__WEBPACK_IMPORTED_MODULE_4__), /* harmony export */ PythonListsGenerators: () => (/* reexport module object */ _generators_lists__WEBPACK_IMPORTED_MODULE_17__), /* harmony export */ PythonLogicBlocks: () => (/* reexport module object */ _blocks_logic__WEBPACK_IMPORTED_MODULE_6__), /* harmony export */ PythonLogicGenerators: () => (/* reexport module object */ _generators_logic__WEBPACK_IMPORTED_MODULE_19__), /* harmony export */ PythonMathBlocks: () => (/* reexport module object */ _blocks_math__WEBPACK_IMPORTED_MODULE_2__), /* harmony export */ PythonMathGenerators: () => (/* reexport module object */ _generators_math__WEBPACK_IMPORTED_MODULE_15__), /* harmony export */ PythonProceduresBlocks: () => (/* reexport module object */ _blocks_procedures__WEBPACK_IMPORTED_MODULE_8__), /* harmony export */ PythonProceduresGenerators: () => (/* reexport module object */ _generators_procedures__WEBPACK_IMPORTED_MODULE_21__), /* harmony export */ PythonSetBlocks: () => (/* reexport module object */ _blocks_set__WEBPACK_IMPORTED_MODULE_10__), /* harmony export */ PythonSetGenerators: () => (/* reexport module object */ _generators_set__WEBPACK_IMPORTED_MODULE_23__), /* harmony export */ PythonStorageBlocks: () => (/* reexport module object */ _blocks_storage__WEBPACK_IMPORTED_MODULE_7__), /* harmony export */ PythonStorageGenerators: () => (/* reexport module object */ _generators_storage__WEBPACK_IMPORTED_MODULE_20__), /* harmony export */ PythonTextBlocks: () => (/* reexport module object */ _blocks_text__WEBPACK_IMPORTED_MODULE_3__), /* harmony export */ PythonTextGenerators: () => (/* reexport module object */ _generators_text__WEBPACK_IMPORTED_MODULE_16__), /* harmony export */ PythonTupleBlocks: () => (/* reexport module object */ _blocks_tuple__WEBPACK_IMPORTED_MODULE_9__), /* harmony export */ PythonTupleGenerators: () => (/* reexport module object */ _generators_tuple__WEBPACK_IMPORTED_MODULE_22__), /* harmony export */ PythonUtilityBlocks: () => (/* reexport module object */ _blocks_utility__WEBPACK_IMPORTED_MODULE_12__), /* harmony export */ PythonUtilityGenerators: () => (/* reexport module object */ _generators_utility__WEBPACK_IMPORTED_MODULE_25__), /* harmony export */ PythonVariablesBlocks: () => (/* reexport module object */ _blocks_variables__WEBPACK_IMPORTED_MODULE_0__), /* harmony export */ PythonVariablesGenerators: () => (/* reexport module object */ _generators_variables__WEBPACK_IMPORTED_MODULE_13__), /* harmony export */ Variables: () => (/* reexport safe */ _others_variables__WEBPACK_IMPORTED_MODULE_28__["default"]) /* harmony export */ }); /* harmony import */ var _blocks_variables__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blocks/variables */ "../python/blocks/variables.js"); /* harmony import */ var _blocks_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocks/control */ "../python/blocks/control.js"); /* harmony import */ var _blocks_math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocks/math */ "../python/blocks/math.js"); /* harmony import */ var _blocks_text__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blocks/text */ "../python/blocks/text.js"); /* harmony import */ var _blocks_lists__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blocks/lists */ "../python/blocks/lists.js"); /* harmony import */ var _blocks_dicts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blocks/dicts */ "../python/blocks/dicts.js"); /* harmony import */ var _blocks_logic__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blocks/logic */ "../python/blocks/logic.js"); /* harmony import */ var _blocks_storage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blocks/storage */ "../python/blocks/storage.js"); /* harmony import */ var _blocks_procedures__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blocks/procedures */ "../python/blocks/procedures.js"); /* harmony import */ var _blocks_tuple__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./blocks/tuple */ "../python/blocks/tuple.js"); /* harmony import */ var _blocks_set__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./blocks/set */ "../python/blocks/set.js"); /* harmony import */ var _blocks_html__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./blocks/html */ "../python/blocks/html.js"); /* harmony import */ var _blocks_utility__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./blocks/utility */ "../python/blocks/utility.js"); /* harmony import */ var _generators_variables__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./generators/variables */ "../python/generators/variables.js"); /* harmony import */ var _generators_control__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./generators/control */ "../python/generators/control.js"); /* harmony import */ var _generators_math__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./generators/math */ "../python/generators/math.js"); /* harmony import */ var _generators_text__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./generators/text */ "../python/generators/text.js"); /* harmony import */ var _generators_lists__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./generators/lists */ "../python/generators/lists.js"); /* harmony import */ var _generators_dicts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./generators/dicts */ "../python/generators/dicts.js"); /* harmony import */ var _generators_logic__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./generators/logic */ "../python/generators/logic.js"); /* harmony import */ var _generators_storage__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./generators/storage */ "../python/generators/storage.js"); /* harmony import */ var _generators_procedures__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./generators/procedures */ "../python/generators/procedures.js"); /* harmony import */ var _generators_tuple__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./generators/tuple */ "../python/generators/tuple.js"); /* harmony import */ var _generators_set__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./generators/set */ "../python/generators/set.js"); /* harmony import */ var _generators_html__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./generators/html */ "../python/generators/html.js"); /* harmony import */ var _generators_utility__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./generators/utility */ "../python/generators/utility.js"); /* harmony import */ var _others_names__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./others/names */ "../python/others/names.js"); /* harmony import */ var _others_procedures__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./others/procedures */ "../python/others/procedures.js"); /* harmony import */ var _others_variables__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./others/variables */ "../python/others/variables.js"); /* harmony import */ var _python_generator__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./python_generator */ "../python/python_generator.js"); /***/ }), /***/ "../python/generators/control.js": /*!***************************************!*\ !*** ../python/generators/control.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Panic_with_status_code: () => (/* binding */ Panic_with_status_code), /* harmony export */ base_setup: () => (/* binding */ base_setup), /* harmony export */ controls_delay: () => (/* binding */ controls_delay), /* harmony export */ controls_flow_statements: () => (/* binding */ controls_flow_statements), /* harmony export */ controls_for: () => (/* binding */ controls_for), /* harmony export */ controls_forEach: () => (/* binding */ controls_forEach), /* harmony export */ controls_for_range: () => (/* binding */ controls_for_range), /* harmony export */ controls_if: () => (/* binding */ controls_if), /* harmony export */ controls_interrupts: () => (/* binding */ controls_interrupts), /* harmony export */ controls_lambda: () => (/* binding */ controls_lambda), /* harmony export */ controls_main: () => (/* binding */ controls_main), /* harmony export */ controls_millis: () => (/* binding */ controls_millis), /* harmony export */ controls_nointerrupts: () => (/* binding */ controls_nointerrupts), /* harmony export */ controls_pass: () => (/* binding */ controls_pass), /* harmony export */ controls_range: () => (/* binding */ controls_range), /* harmony export */ controls_repeat: () => (/* binding */ controls_repeat), /* harmony export */ controls_repeat_ext: () => (/* binding */ controls_repeat_ext), /* harmony export */ controls_thread: () => (/* binding */ controls_thread), /* harmony export */ controls_try_finally: () => (/* binding */ controls_try_finally), /* harmony export */ controls_whileUntil: () => (/* binding */ controls_whileUntil), /* harmony export */ datetime_fromtimestamp: () => (/* binding */ datetime_fromtimestamp), /* harmony export */ do_while: () => (/* binding */ do_while), /* harmony export */ garbage_collection: () => (/* binding */ garbage_collection), /* harmony export */ gene_unique_identifier: () => (/* binding */ gene_unique_identifier), /* harmony export */ get_mem_alloc: () => (/* binding */ get_mem_alloc), /* harmony export */ get_mem_free: () => (/* binding */ get_mem_free), /* harmony export */ get_unique_identifier: () => (/* binding */ get_unique_identifier), /* harmony export */ reset: () => (/* binding */ reset), /* harmony export */ time_sleep: () => (/* binding */ time_sleep) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); const controls_main = function (a, generator) { var d = generator.statementToCode(a, "DO"), d = generator.addLoopTrap(d, a.id) || generator.PASS; return "if __name__ == '__main__':\n" + d; } const base_setup = function (_, generator) { var branch = generator.statementToCode(this, 'DO'); branch = branch.replace(/(^\s*)|(\s*$)/g, "").replace(/\n {4}/g, '\n');//去除两端空格 if (branch.endsWith('\n')) { generator.setups_['setup_setup'] = branch; } else { generator.setups_['setup_setup'] = branch + '\n'; } return ''; } // ok const controls_if = function (a, generator) { var b = 0, c = "", d, e; do e = generator.valueToCode(a, "IF" + b, generator.ORDER_NONE) || "False", d = generator.statementToCode(a, "DO" + b) || generator.PASS, c += (0 == b ? "if " : "elif ") + e + ":\n" + d, ++b; while (a.getInput("IF" + b)); a.getInput("ELSE") && (d = generator.statementToCode(a, "ELSE") || generator.PASS, c += "else:\n" + d); return c } const controls_try_finally = function (_, generator) { var n = 1; var argument = generator.valueToCode(this, 'IF' + n, generator.ORDER_NONE) || 'null'; var branch = ''; var t = generator.statementToCode(this, 'try') || ' pass\n'; var code = 'try:\n' + t; for (n = 1; n <= this.elseifCount_; n++) { argument = generator.valueToCode(this, 'IF' + n, generator.ORDER_NONE) || ''; if (argument !== '') argument = ' ' + argument branch = generator.statementToCode(this, 'DO' + n) || ' pass\n'; code += 'except' + argument + ': \n' + branch; } if (this.elseCount_) { branch = generator.statementToCode(this, 'ELSE') || ' pass\n'; code += 'finally:\n' + branch; } // code += '}'; return code; } // ok const controls_for = function (a, generator) { var b = generator.variableDB_.getName(a.getFieldValue("VAR"), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE), //var b = generator.valueToCode(a, "VAR", generator.ORDER_MEMBER) || "''", c = generator.valueToCode(a, "FROM", generator.ORDER_NONE) || "0", d = generator.valueToCode(a, "TO", generator.ORDER_NONE) || "0", e = generator.valueToCode(a, "STEP", generator.ORDER_NONE) || "1", f = generator.statementToCode(a, "DO"), f = generator.addLoopTrap(f, a.id) || generator.PASS, g = "", h = function (_, generator) { return generator.provideFunction_("upRange", ["def " + generator.FUNCTION_NAME_PLACEHOLDER_ + "(start, stop, step):", " while start <= stop:", " yield start", " start += abs(step)"]) }, k = function (_, generator) { return generator.provideFunction_("downRange", ["def " + generator.FUNCTION_NAME_PLACEHOLDER_ + "(start, stop, step):", " while start >= stop:", " yield start", " start -= abs(step)"]) } a = function (a, b, c) { return "(" + a + " <= " + b + ") and " + h() + "(" + a + ", " + b + ", " + c + ") or " + k() + "(" + a + ", " + b + ", " + c + ")" } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(c) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(d) && blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(e)) c = parseFloat(c), d = parseFloat(d), e = Math.abs(parseFloat(e)), 0 === c % 1 && 0 === d % 1 && 0 === e % 1 ? (c <= d ? (d++, a = 0 == c && 1 == e ? d : c + ", " + d, 1 != e && (a += ", " + e)) : (d--, a = c + ", " + d + ", -" + e), a = "range(" + a + ")") : (a = c < d ? h() : k(), a += "(" + c + ", " + d + ", " + e + ")"); else { var l = function (a, c) { if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(a)) a = parseFloat(a); else { var d = generator.variableDB_.getDistinctName(b + c, blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); g += d + " = " + a + "\n"; a = d } return a }, c = l(c, "_start"), d = l(d, "_end"); l(e, "_inc"); a = "number" == typeof c && "number" == typeof d ? c < d ? h(c, d, e) : k(c, d, e) : a(c, d, e) } return g += "for " + b + " in " + a + ":\n" + f } const controls_for_range = function (block, generator) { var iter = generator.variableDB_.getName(block.getFieldValue("VAR"), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE), from = generator.valueToCode(block, "FROM", generator.ORDER_NONE) || "0", end = generator.valueToCode(block, "TO", generator.ORDER_NONE) || "0", step = generator.valueToCode(block, "STEP", generator.ORDER_NONE) || "1", dostatement = generator.statementToCode(block, "DO"), pass = generator.addLoopTrap(dostatement, block.id) || generator.PASS; generator.setups_["mixly_range"] = "def mixly_range(start, stop, step):\n" + " for i in range(start, stop + 1, step):\n" + " yield i\n\n"; return "for " + iter + " in mixly_range(" + from + ", " + end + ", " + step + "):\n" + pass; } const controls_whileUntil = function (a, generator) { var b = "UNTIL" == a.getFieldValue("MODE"), c = generator.valueToCode(a, "BOOL", generator.ORDER_NONE) || "False", d = generator.statementToCode(a, "DO"), d = generator.addLoopTrap(d, a.id) || generator.PASS; b && (c = "not " + c); return "while " + c + ":\n" + d } // export const controls_flow_statements = function (_, generator) { // // Flow statements: continue, break. // switch (this.getFieldValue('FLOW')) { // case 'BREAK': // return 'break;\n'; // case 'CONTINUE': // return 'continue;\n'; // } // throw 'Unknown flow statement.'; // } //ok const controls_flow_statements = function (a) { switch (a.getFieldValue("FLOW")) { case "BREAK": return "break\n"; case "CONTINUE": return "continue\n" } throw "Unknown flow statement."; } // ok const controls_delay = function (_, generator) { var delay_time = generator.valueToCode(this, 'DELAY_TIME', generator.ORDER_ATOMIC) || '1000' var code = 'sleep(' + delay_time + ')\n'; return code; } // ok const Panic_with_status_code = function (_, generator) { var status_code = generator.valueToCode(this, 'STATUS_CODE', generator.ORDER_ATOMIC) || '1000' var code = 'panic(' + status_code + ')\n'; return code; } // ok const controls_millis = function (_, generator) { generator.definitions_.import_time = "import time"; var code = 'time.time()'; return [code, generator.ORDER_ATOMIC]; } // ok const reset = function (_, generator) { generator.definitions_['import_microbit'] = 'from microbit import *' return 'reset()\n'; } const controls_interrupts = function () { return 'interrupts();\n'; } const controls_nointerrupts = function () { return 'noInterrupts();\n'; } const controls_forEach = function (block, generator) { // For each loop. var variable0 = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '\'\''; var argument0 = generator.valueToCode(block, 'LIST', generator.ORDER_RELATIONAL) || '[]'; var branch = generator.statementToCode(block, 'DO'); branch = generator.addLoopTrap(branch, block.id) || generator.PASS; var code = 'for ' + variable0 + ' in ' + argument0 + ':\n' + branch; return code; } const controls_range = function (_, generator) { var from = generator.valueToCode(this, "FROM", generator.ORDER_NONE) || "0"; var end = generator.valueToCode(this, "TO", generator.ORDER_NONE) || "0"; var step = generator.valueToCode(this, "STEP", generator.ORDER_NONE) || "1"; var code = "range(" + from + ", " + end + ", " + step + ")"; return [code, generator.ORDER_ATOMIC]; } const controls_lambda = function (a, generator) { var c = generator.valueToCode(a, "BOOL", generator.ORDER_NONE) || "None", d = generator.statementToCode(a, "DO") || "pass"; var code = "lambda " + c + ": " + d; code = code.replace('\n', '').replace(' ', '') return [code, generator.ORDER_ATOMIC]; } const time_sleep = function (_, generator) { generator.definitions_['import_time'] = 'import time'; var delay_time = generator.valueToCode(this, 'DELAY_TIME', generator.ORDER_ATOMIC) || '1000' var code = 'time.sleep(' + delay_time + ')\n'; return code; } const controls_pass = function () { return 'pass\n'; } const controls_thread = function (_, generator) { generator.definitions_['import__thread'] = 'import _thread'; var v = generator.valueToCode(this, "VAR", generator.ORDER_NONE) || "None"; var callback = generator.variableDB_.getName( generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None", blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.NAME_TYPE ); var code = "_thread.start_new_thread(" + callback + ", " + v + ")\n"; return code; } // do-while循环 const do_while = function (_, generator) { var value_select_data = generator.valueToCode(this, 'select_data', generator.ORDER_NONE) || "False"; var statements_input_data = generator.statementToCode(this, 'input_data') var dropdown_type = this.getFieldValue('type'); if (dropdown_type == 'true') { statements_input_data = statements_input_data + ' if (' + value_select_data + '):\n' + ' break\n'; } else { statements_input_data = statements_input_data + ' if not (' + value_select_data + '):\n' + ' break\n'; } statements_input_data = generator.addLoopTrap(statements_input_data, this.id) || generator.PASS; //var dropdown_type = this.getFieldValue('type'); var code = 'while True:\n' + statements_input_data; return code; } // export const base_type = controls_type; // export const controls_TypeLists = controls_typeLists; const controls_repeat_ext = function (a, generator) { var times = generator.valueToCode(this, 'TIMES', generator.ORDER_ATOMIC); var d = generator.statementToCode(a, "DO"), d = generator.addLoopTrap(d, a.id) || generator.PASS; return 'for _my_variable in range(' + times + '):\n' + d; } const garbage_collection = function (_, generator) { generator.definitions_['import_gc'] = 'import gc'; var code = 'gc.collect()\n' return code; } const get_mem_alloc = function (_, generator) { generator.definitions_['import_gc'] = 'import gc'; var code = 'gc.mem_alloc()'; return [code, generator.ORDER_ATOMIC]; } const get_mem_free = function (_, generator) { generator.definitions_['import_gc'] = 'import gc'; var code = 'gc.mem_free()'; return [code, generator.ORDER_ATOMIC] } const get_unique_identifier = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; var code = 'machine.unique_id()'; return [code, generator.ORDER_ATOMIC]; } // ok const controls_repeat = controls_repeat_ext; const datetime_fromtimestamp = function(_,generator){ generator.definitions_['import_datatime'] = 'import datatime'; var ts = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = 'datatime.datatime.fromtimestamp(' + ts + ')'; return [code, generator.ORDER_ATOMIC]; } const gene_unique_identifier = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] generator.definitions_['import_' + version + 'uuid'] = 'from ' + version + ' import uuid'; var code = 'uuid()'; return [code, generator.ORDER_ATOMIC] } /***/ }), /***/ "../python/generators/dicts.js": /*!*************************************!*\ !*** ../python/generators/dicts.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ dicts_add_change_del: () => (/* binding */ dicts_add_change_del), /* harmony export */ dicts_add_or_change: () => (/* binding */ dicts_add_or_change), /* harmony export */ dicts_clear: () => (/* binding */ dicts_clear), /* harmony export */ dicts_create_with: () => (/* binding */ dicts_create_with), /* harmony export */ dicts_create_with_noreturn: () => (/* binding */ dicts_create_with_noreturn), /* harmony export */ dicts_deldict: () => (/* binding */ dicts_deldict), /* harmony export */ dicts_delete: () => (/* binding */ dicts_delete), /* harmony export */ dicts_get: () => (/* binding */ dicts_get), /* harmony export */ dicts_get_default: () => (/* binding */ dicts_get_default), /* harmony export */ dicts_items: () => (/* binding */ dicts_items), /* harmony export */ dicts_keys: () => (/* binding */ dicts_keys), /* harmony export */ dicts_length: () => (/* binding */ dicts_length), /* harmony export */ dicts_pop: () => (/* binding */ dicts_pop), /* harmony export */ dicts_setdefault: () => (/* binding */ dicts_setdefault), /* harmony export */ dicts_to_json: () => (/* binding */ dicts_to_json), /* harmony export */ dicts_to_json2: () => (/* binding */ dicts_to_json2), /* harmony export */ dicts_to_to: () => (/* binding */ dicts_to_to), /* harmony export */ dicts_todict: () => (/* binding */ dicts_todict), /* harmony export */ dicts_update: () => (/* binding */ dicts_update), /* harmony export */ dicts_values: () => (/* binding */ dicts_values), /* harmony export */ json_to_dicts: () => (/* binding */ json_to_dicts) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); /** * @license * Visual Blocks Language * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Generating Python for dictionary blocks. * @author acbart@vt.edu (Austin Cory Bart) */ const dicts_create_with = function (_, generator) { // Create a list with any number of elements of any type. //var dropdown_type = this.getFieldValue('TYPE'); var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); var code = new Array(this.itemCount_); var default_value = '0'; for (var n = 0; n < this.itemCount_; n++) { var keyName = this.getFieldValue('KEY' + n); code[n] = keyName + ":" + (generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value); } var code = varName + '= ' + '{' + code.join(', ') + '}\n'; //var code =''+varName+'['+size+"]"+'='+ '{' + code.join(', ') + '}\n'; //generator.setups_['setup_lists'+varName] = code; return code; } const dicts_keys = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.keys()'; return [code, generator.ORDER_ATOMIC]; } const dicts_get = function (_, generator) { var version = mixly__WEBPACK_IMPORTED_MODULE_1__.Boards.getSelectedBoardKey().split(':')[2] var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; //var size=window.parseFloat(this.getFieldValue('SIZE')); var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); if (version=='educore'){ var code = varName+'.get('+text+')'; }else{ var code = varName + "[" + text + "]"; } return [code, generator.ORDER_ATOMIC]; } const dicts_get_default = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; //var size=window.parseFloat(this.getFieldValue('SIZE')); var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; // var text=this.getFieldValue('KEY'); var code = varName + ".get(" + text + ',' + argument + ")"; return [code, generator.ORDER_ATOMIC]; } const dicts_add_or_change = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || 'mydict'; var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + "[" + text + "] = " + argument + '\n'; return code; } const dicts_delete = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || 'mydict'; var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); var code = "del " + varName + "[" + text + "]\n"; return code; } const dicts_update = function (_, generator) { var varName2 = generator.valueToCode(this, 'DICT2', generator.ORDER_ASSIGNMENT) || '0'; var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.update(' + varName2 + ')\n'; return code; } const dicts_clear = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.clear()\n'; return code; } const dicts_items = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.items()'; return [code, generator.ORDER_ATOMIC]; } const dicts_values = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.values()'; return [code, generator.ORDER_ATOMIC]; } const dicts_length = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = 'len(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const dicts_deldict = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = 'del ' + varName + '\n'; return code; } const dicts_add_change_del = function (block, generator) { var dict = generator.valueToCode(block, 'DICT', generator.ORDER_MEMBER) || '[]'; var mode = block.getFieldValue('WHERE'); var KEY = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); switch (mode) { case 'INSERT': //var at2 = block.getFieldValue('AT2'); var at2 = generator.valueToCode(this, 'AT2', generator.ORDER_ASSIGNMENT) || '0'; var code = dict + "[" + KEY + "] = " + at2 + '\n' break; case 'DELETE': var code = 'del ' + dict + "[" + KEY + "]\n" break; default: throw 'Unhandled option (lists_setIndex2)'; } return code; } const dicts_pop = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); var code = varName + ".pop(" + text + ")"; return [code, generator.ORDER_ATOMIC]; } const dicts_setdefault = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || 'mydict'; var text = generator.valueToCode(this, 'KEY', generator.ORDER_ASSIGNMENT); // var text=this.getFieldValue('KEY'); var argument = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + ".setdefault" + "(" + text + "," + argument + ")\n"; return code; } const dicts_create_with_noreturn = function (_, generator) { // Create a list with any number of elements of any type. // var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), // Blockly.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); var code = new Array(this.itemCount_); var default_value = '0'; for (var n = 0; n < this.itemCount_; n++) { var keyName = this.getFieldValue('KEY' + n); code[n] = keyName + ":" + (generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value); } // if (this.itemCount_!=1){ // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ')\n';} // else { // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ',)\n';} if (this.itemCount_ != 1) { var code = '{' + code.join(', ') + '}'; } else { var code = '{' + code.join(', ') + ',}'; } return [code, generator.ORDER_ATOMIC]; } const dicts_todict = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['dict(' + str + ')', generator.ORDER_ATOMIC]; } const dicts_to_json = function (_, generator) { generator.definitions_['import_json'] = 'import json'; var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = 'json.dumps(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const json_to_dicts = function (_, generator) { generator.definitions_['import_json'] = 'import json'; var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || 'null'; var code = 'json.loads(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const dicts_to_to = function (_, generator) { var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var R = generator.valueToCode(this, 'VAR1', generator.ORDER_ASSIGNMENT) || 'null'; var I = generator.valueToCode(this, 'VAR2', generator.ORDER_ASSIGNMENT) || 'null'; var L = generator.valueToCode(this, 'VAR3', generator.ORDER_ASSIGNMENT) || 'null'; var N = generator.valueToCode(this, 'VAR4', generator.ORDER_ASSIGNMENT) || 'null'; var code = varName + '['+R+']'+'['+I+']'+'['+L+']'+'['+N+']'; return [code, generator.ORDER_ATOMIC]; } const dicts_to_json2 = function (_, generator) { generator.definitions_['import_json'] = 'import json'; generator.definitions_['import_ujson'] = 'import ujson'; var varName = generator.valueToCode(this, 'DICT', generator.ORDER_ASSIGNMENT) || '0'; var code = 'ujson.loads(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/html.js": /*!************************************!*\ !*** ../python/generators/html.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ html_content: () => (/* binding */ html_content), /* harmony export */ html_content_more: () => (/* binding */ html_content_more), /* harmony export */ html_document: () => (/* binding */ html_document), /* harmony export */ html_form: () => (/* binding */ html_form), /* harmony export */ html_head_body: () => (/* binding */ html_head_body), /* harmony export */ html_style: () => (/* binding */ html_style), /* harmony export */ html_style_content: () => (/* binding */ html_style_content), /* harmony export */ html_text: () => (/* binding */ html_text), /* harmony export */ html_title: () => (/* binding */ html_title) /* harmony export */ }); const html_document = function (_, generator) { var head = generator.statementToCode(this, 'HEAD'); var body = generator.statementToCode(this, 'BODY'); var code = "'''\n\n\n" + '\t\n' + head + "\n\n" + body + "\n\n'''"; return [code, generator.ORDER_ATOMIC]; } const html_title = function (_, generator) { var t = generator.statementToCode(this, 'DO'); var l = this.getFieldValue('LEVEL'); var code = "\n" + t + "\n"; return code; } const html_head_body = function (_, generator) { var t = generator.statementToCode(this, 'DO'); var l = this.getFieldValue('LEVEL'); if (l == 'head') { var code = "<" + l + '>\n\t\n' + t + "\n"; } else { var code = "<" + l + ">\n" + t + "\n"; } return code; } const html_content = function (_, generator) { var t = generator.statementToCode(this, 'DO'); // var s = generator.valueToCode(this, 'style'); var l = this.getFieldValue('LEVEL'); // var code = "<" + l + " " + s + " >\n" + t + "\n"; var code = "<" + l + ">\n" + t + "\n"; return code; } const html_content_more = function (_, generator) { var t = generator.statementToCode(this, 'DO'); var s = generator.valueToCode(this, 'style'); var l = this.getFieldValue('LEVEL'); var code = "<" + l + " " + s + " >\n" + t + "\n"; return code; } const html_style = function (_, generator) { var style = generator.statementToCode(this, 'STYLE'); var code = 'style="' + style + '"'; return [code, generator.ORDER_ATOMIC]; } const html_form = function (_, generator) { var tag = this.getFieldValue('LEVEL'); var name = this.getFieldValue('NAME'); var value = this.getFieldValue('VALUE'); var s = generator.valueToCode(this, 'style') || ""; var code = ''; return code; } const html_style_content = function () { var key = this.getFieldValue('KEY'); var value = this.getFieldValue('VALUE'); var code = key + ':' + value + ";"; return code; } const html_text = function () { var text = this.getFieldValue('TEXT'); var code = text + "\n"; return code; } /***/ }), /***/ "../python/generators/lists.js": /*!*************************************!*\ !*** ../python/generators/lists.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ content_in_lists: () => (/* binding */ content_in_lists), /* harmony export */ enumerate: () => (/* binding */ enumerate), /* harmony export */ list_many_input: () => (/* binding */ list_many_input), /* harmony export */ list_tolist: () => (/* binding */ list_tolist), /* harmony export */ list_tolist2: () => (/* binding */ list_tolist2), /* harmony export */ list_trig: () => (/* binding */ list_trig), /* harmony export */ lists_2d_get_col_row_data: () => (/* binding */ lists_2d_get_col_row_data), /* harmony export */ lists_2d_get_data_with_col_row: () => (/* binding */ lists_2d_get_data_with_col_row), /* harmony export */ lists_append_extend: () => (/* binding */ lists_append_extend), /* harmony export */ lists_change_to: () => (/* binding */ lists_change_to), /* harmony export */ lists_change_to_general: () => (/* binding */ lists_change_to_general), /* harmony export */ lists_clear: () => (/* binding */ lists_clear), /* harmony export */ lists_create_with: () => (/* binding */ lists_create_with), /* harmony export */ lists_create_with2: () => (/* binding */ lists_create_with2), /* harmony export */ lists_create_with_noreturn: () => (/* binding */ lists_create_with_noreturn), /* harmony export */ lists_create_with_text: () => (/* binding */ lists_create_with_text), /* harmony export */ lists_create_with_text2: () => (/* binding */ lists_create_with_text2), /* harmony export */ lists_del_general: () => (/* binding */ lists_del_general), /* harmony export */ lists_find: () => (/* binding */ lists_find), /* harmony export */ lists_getIndex3: () => (/* binding */ lists_getIndex3), /* harmony export */ lists_getSublist3: () => (/* binding */ lists_getSublist3), /* harmony export */ lists_get_index: () => (/* binding */ lists_get_index), /* harmony export */ lists_get_random_item: () => (/* binding */ lists_get_random_item), /* harmony export */ lists_get_random_sublist: () => (/* binding */ lists_get_random_sublist), /* harmony export */ lists_get_sublist: () => (/* binding */ lists_get_sublist), /* harmony export */ lists_insert_value: () => (/* binding */ lists_insert_value), /* harmony export */ lists_insert_value2: () => (/* binding */ lists_insert_value2), /* harmony export */ lists_pop: () => (/* binding */ lists_pop), /* harmony export */ lists_remove_at: () => (/* binding */ lists_remove_at), /* harmony export */ lists_remove_at2: () => (/* binding */ lists_remove_at2), /* harmony export */ lists_reverse: () => (/* binding */ lists_reverse), /* harmony export */ lists_setIndex3: () => (/* binding */ lists_setIndex3), /* harmony export */ lists_set_index: () => (/* binding */ lists_set_index), /* harmony export */ lists_sort: () => (/* binding */ lists_sort) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const lists_get_sublist = function (_, generator) { // Get sublist. var list = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var at1 = generator.valueToCode(this, 'AT1', generator.ORDER_ADDITIVE); var at2 = generator.valueToCode(this, 'AT2', generator.ORDER_ADDITIVE); var code = list + '[' + at1 + ' : ' + at2 + ']'; return [code, generator.ORDER_ATOMIC]; } const lists_2d_get_data_with_col_row = function (_, generator) { var value_LIST = generator.valueToCode(this, 'LIST', generator.ORDER_ATOMIC) || 'mylist'; var value_row = generator.valueToCode(this, 'row', generator.ORDER_ATOMIC) || 0; var value_col = generator.valueToCode(this, 'col', generator.ORDER_ATOMIC) || 0; var code = value_LIST + '[' + value_row + ',' + value_col + ']'; return [code, generator.ORDER_ATOMIC]; } const lists_2d_get_col_row_data = function (_, generator) { var value_LIST = generator.valueToCode(this, 'LIST', generator.ORDER_ATOMIC) || 'mylist'; var value_row_start = generator.valueToCode(this, 'row_start', generator.ORDER_ATOMIC) || 0; var value_row_end = generator.valueToCode(this, 'row_end', generator.ORDER_ATOMIC) || 1; var value_col_start = generator.valueToCode(this, 'col_start', generator.ORDER_ATOMIC) || 0; var value_col_end = generator.valueToCode(this, 'col_end', generator.ORDER_ATOMIC) || 1; var code = value_LIST + '[' + value_row_start + ' : ' + value_row_end + ',' + value_col_start + ' : ' + value_col_end + ']'; return [code, generator.ORDER_ATOMIC]; } const lists_create_with = function (_, generator) { // Create a list with any number of elements of any type. var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); 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; } //generator.setups_['var_declare'+varName] = varName+' = '+ '[' + code.join(', ') + ']\n'; var code = varName + ' = ' + '[' + code.join(', ') + ']\n'; return code; } const lists_create_with_text = function (_, generator) { var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); var text = this.getFieldValue('TEXT'); // generator.setups_['var_declare'+varName] = varName+' = '+ '[' + text + ']\n'; var code = varName + ' = ' + '[' + text + ']\n'; return code; } const lists_get_index = function (_, generator) { // Indexing into a list is the same as indexing into a string. var list = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var argument0 = generator.valueToCode(this, 'AT', generator.ORDER_ADDITIVE) || 0; var code = list + '[' + argument0 + ']'; return [code, generator.ORDER_ATOMIC]; } const lists_set_index = function (_, generator) { // Set element at index. var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var argument0 = generator.valueToCode(this, 'AT', generator.ORDER_ADDITIVE) || '0'; var argument2 = generator.valueToCode(this, 'TO', generator.ORDER_ASSIGNMENT) || '0'; // Blockly uses one-based indicies. return varName + '[' + argument0 + '] = ' + argument2 + '\n'; } const lists_append_extend = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT) || '0'; var argument = generator.valueToCode(this, 'DATA', generator.ORDER_ASSIGNMENT) || '0'; var op = this.getFieldValue('OP'); var code = varName + '.' + op + '(' + argument + ')\n'; return code; } const lists_get_random_item = function (_, generator) { generator.definitions_['import_random'] = 'import random'; var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var code = 'random.choice(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const lists_get_random_sublist = function (_, generator) { generator.definitions_['import_random'] = 'import random'; var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var VALUE = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = 'random.sample(' + varName + ',' + VALUE + ')'; return [code, generator.ORDER_ATOMIC]; } const lists_insert_value = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT) || '0'; var at = generator.valueToCode(this, 'AT', generator.ORDER_ADDITIVE) || '0'; var VALUE = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.insert(' + at + ', ' + VALUE + ')\n'; return code; } const lists_reverse = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.reverse()\n'; return code; } const lists_clear = function (_, generator) { var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.clear()\n'; return code; } const lists_find = function (_, generator) { var op = this.getFieldValue('OP'); var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var argument = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT) || '0'; if (op == 'INDEX') var code = varName + '.index(' + argument + ')'; else if (op == 'COUNT') var code = varName + '.count(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const lists_remove_at = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT) || '0'; var argument = generator.valueToCode(this, 'DATA', generator.ORDER_ASSIGNMENT) || '0'; var op = this.getFieldValue('OP'); var code = ""; if (op == "del") { code = 'del ' + varName + '[' + argument + ']\n'; } else { code = varName + '.remove' + '(' + argument + ')\n'; } return code; } const lists_pop = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var argument = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.pop(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const list_trig = function (a, generator) { var b = a.getFieldValue("OP"), c; generator.definitions_['import_math'] = "import math"; a = generator.valueToCode(a, 'data', generator.ORDER_NONE) switch (b) { case "LEN": c = "len(" + a + ")"; break; case "SUM": c = "sum(" + a + ")"; break; case "MIN": c = "min(" + a + ")"; break; case "MAX": c = "max(" + a + ")"; break; case 'AVERAGE': generator.definitions_['import_mixpy_math_mean'] = "from mixpy import math_mean"; c = 'math_mean(' + a + ')'; break; case 'MEDIAN': generator.definitions_['import_mixpy_math_median'] = "from mixpy import math_median"; c = 'math_median(' + a + ')'; break; case 'MODE': generator.definitions_['import_mixpy_math_modes'] = "from mixpy import math_modes"; c = 'math_modes(' + a + ')'; break; case 'STD_DEV': generator.definitions_['import_mixpy_math_standard_deviation'] = "from mixpy import math_standard_deviation"; c = 'math_standard_deviation(' + a + ')'; break; default: throw 'Unknown operator: ' + b; } if (c) return [c, generator.ORDER_ATOMIC]; } const lists_sort = function (block, generator) { // Block for sorting a list. generator.definitions_['import_mixpy_lists_sort'] = "from mixpy import lists_sort"; var list = (generator.valueToCode(block, 'LIST', generator.ORDER_NONE) || '[]'); var type = block.getFieldValue('TYPE'); var reverse = block.getFieldValue('DIRECTION') === '1' ? 'False' : 'True'; var code = 'lists_sort(' + list + ', "' + type + '", ' + reverse + ')'; return [code, generator.ORDER_ATOMIC]; } const lists_change_to = function (_, generator) { var op = this.getFieldValue('OP'); var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = ''; if (op == 'array') { generator.definitions_['import_numpy'] = 'import numpy'; code = 'numpy.array(' + varName + ')'; } else { code = op + '(' + varName + ')'; } return [code, generator.ORDER_ATOMIC]; } const list_many_input = function (_, generator) { var text = this.getFieldValue('CONTENT'); var code = '[' + text + ']' return [code, generator.ORDER_ATOMIC]; } const lists_create_with_noreturn = 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; } var code = '[' + code.join(', ') + ']'; return [code, generator.ORDER_ATOMIC]; } const lists_change_to_general = lists_change_to; const lists_del_general = function (_, generator) { var varName = generator.valueToCode(this, 'TUP', generator.ORDER_ASSIGNMENT) || '0'; var code = 'del ' + varName + '\n'; return code; } const lists_create_with2 = lists_create_with const lists_create_with_text2 = lists_create_with_text const lists_getIndex3 = lists_get_index const lists_getSublist3 = lists_get_sublist const lists_setIndex3 = lists_set_index const lists_insert_value2 = lists_insert_value const lists_remove_at2 = lists_remove_at const list_tolist = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['list(' + str + ')', generator.ORDER_ATOMIC]; } const list_tolist2 = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return [str + '.tolist()', generator.ORDER_ATOMIC]; } const enumerate = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var argument = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || '0'; var code = 'enumerate(' +varName+',start='+ argument + ')'; return [code, generator.ORDER_ATOMIC]; } const content_in_lists = function (_, generator) { var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist'; var con = generator.valueToCode(this, 'CON', generator.ORDER_ASSIGNMENT) || '0'; var code = con +' in '+varName; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/logic.js": /*!*************************************!*\ !*** ../python/generators/logic.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ logic_boolean: () => (/* binding */ logic_boolean), /* harmony export */ logic_compare: () => (/* binding */ logic_compare), /* harmony export */ logic_compare_continous: () => (/* binding */ logic_compare_continous), /* harmony export */ logic_is: () => (/* binding */ logic_is), /* harmony export */ logic_is_in: () => (/* binding */ logic_is_in), /* harmony export */ logic_negate: () => (/* binding */ logic_negate), /* harmony export */ logic_null: () => (/* binding */ logic_null), /* harmony export */ logic_operation: () => (/* binding */ logic_operation), /* harmony export */ logic_tobool: () => (/* binding */ logic_tobool), /* harmony export */ logic_true_or_false: () => (/* binding */ logic_true_or_false) /* harmony export */ }); const logic_compare = function (_, generator) { // Comparison operator. var mode = this.getFieldValue('OP'); var operator = logic_compare.OPERATORS[mode]; var order = (operator == '==' || operator == '!=') ? generator.ORDER_EQUALITY : generator.ORDER_RELATIONAL; var argument0 = generator.valueToCode(this, 'A', order) || '0'; var argument1 = generator.valueToCode(this, 'B', order) || '0'; var code = argument0 + ' ' + operator + ' ' + argument1; return [code, order]; } const logic_compare_continous = function (_, generator) { // Comparison operator. var mode1 = this.getFieldValue('OP1'); var operator1 = logic_compare.OPERATORS[mode1]; var mode2 = this.getFieldValue('OP2'); var operator2 = logic_compare.OPERATORS[mode2]; var argument0 = generator.valueToCode(this, 'A', generator.ORDER_RELATIONAL) || '0'; var argument1 = generator.valueToCode(this, 'B', generator.ORDER_RELATIONAL) || '0'; var argument2 = generator.valueToCode(this, 'C', generator.ORDER_RELATIONAL) || '0'; var code = argument0 + ' ' + operator1 + ' ' + argument1 + ' ' + operator2 + ' ' + argument2; return [code, generator.ORDER_RELATIONAL]; } logic_compare.OPERATORS = { EQ: '==', NEQ: '!=', LT: '<', LTE: '<=', GT: '>', GTE: '>=' }; const logic_operation = function (_, generator) { // Operations 'and', 'or'. var operator = this.getFieldValue('OP'); var order = (operator == '&&') ? generator.ORDER_LOGICAL_AND : generator.ORDER_LOGICAL_OR; var argument0 = generator.valueToCode(this, 'A', order) || 'False'; var argument1 = generator.valueToCode(this, 'B', order) || 'False'; if (operator == 'AND') { var code = argument0 + ' and ' + argument1; } else if (operator == 'OR') { var code = argument0 + ' or ' + argument1; } else if (operator == 'NOR') { // var code = '('+argument0+' and '+argument1+' ) or ((not '+argument0+') and (not '+argument1+'))'; var code = 'not(' + argument0 + '^' + argument1 + ')'; } else { // var code = '((not '+argument0+') and '+argument1+' ) or ( '+argument0+' and (not '+argument1+'))'; var code = argument0 + '^' + argument1; } return [code, order]; } const logic_negate = function (_, generator) { // Negation. var order = generator.ORDER_UNARY_PREFIX; var argument0 = generator.valueToCode(this, 'BOOL', order) || 'False'; var code = 'not ' + argument0; return [code, order]; } const logic_boolean = function (_, generator) { // Boolean values true and false. var code = (this.getFieldValue('BOOL') == 'TRUE') ? 'True' : 'False'; return [code, generator.ORDER_ATOMIC]; } const logic_null = function (_, generator) { var code = 'None'; return [code, generator.ORDER_ATOMIC]; } const logic_true_or_false = function (_, generator) { var a = generator.valueToCode(this, 'A', generator.ORDER_ATOMIC) || 'False'; var b = generator.valueToCode(this, 'B', generator.ORDER_ATOMIC) || 'False'; var c = generator.valueToCode(this, 'C', generator.ORDER_ATOMIC) || 'False'; var code = '(' + b + ' if ' + a + ' else ' + c + ')'; return [code, generator.ORDER_ATOMIC]; } const logic_is_in = function (_, generator) { var a = generator.valueToCode(this, 'A', generator.ORDER_ATOMIC) || '\'\''; var b = generator.valueToCode(this, 'B', generator.ORDER_ATOMIC) || '\'\''; var bool = this.getFieldValue('BOOL'); var code = a + ' ' + bool + ' ' + b; return [code, generator.ORDER_ATOMIC]; } const logic_is = function (_, generator) { var a = generator.valueToCode(this, 'A', generator.ORDER_ATOMIC) || '\'\''; var b = generator.valueToCode(this, 'B', generator.ORDER_ATOMIC) || '\'\''; var bool = this.getFieldValue('BOOL'); var code = a + ' ' + bool + ' ' + b; return [code, generator.ORDER_ATOMIC]; } const logic_tobool = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['bool(' + str + ')', generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/math.js": /*!************************************!*\ !*** ../python/generators/math.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ base_map: () => (/* binding */ base_map), /* harmony export */ generate_cartesian_product: () => (/* binding */ generate_cartesian_product), /* harmony export */ math_arithmetic: () => (/* binding */ math_arithmetic), /* harmony export */ math_bit: () => (/* binding */ math_bit), /* harmony export */ math_constant: () => (/* binding */ math_constant), /* harmony export */ math_constant_mp: () => (/* binding */ math_constant_mp), /* harmony export */ math_constrain: () => (/* binding */ math_constrain), /* harmony export */ math_dec: () => (/* binding */ math_dec), /* harmony export */ math_indexer_number: () => (/* binding */ math_indexer_number), /* harmony export */ math_map: () => (/* binding */ math_map), /* harmony export */ math_max_min: () => (/* binding */ math_max_min), /* harmony export */ math_number: () => (/* binding */ math_number), /* harmony export */ math_number_base_conversion: () => (/* binding */ math_number_base_conversion), /* harmony export */ math_random: () => (/* binding */ math_random), /* harmony export */ math_random_seed: () => (/* binding */ math_random_seed), /* harmony export */ math_round: () => (/* binding */ math_round), /* harmony export */ math_selfcalcu: () => (/* binding */ math_selfcalcu), /* harmony export */ math_single: () => (/* binding */ math_single), /* harmony export */ math_to_int: () => (/* binding */ math_to_int), /* harmony export */ math_trig: () => (/* binding */ math_trig), /* harmony export */ text_to_number: () => (/* binding */ text_to_number), /* harmony export */ text_to_number_skulpt: () => (/* binding */ text_to_number_skulpt), /* harmony export */ turn_to_int: () => (/* binding */ turn_to_int) /* harmony export */ }); // export const math_number = function() { // // Numeric value. // var code = (this.getFieldValue('NUM')); // // -4.abs() returns -4 in Dart due to strange order of operation choices. // // -4 is actually an operator and a number. Reflect this in the order. // var order = code < 0 ? // generator.ORDER_UNARY_PREFIX : generator.ORDER_ATOMIC; // return [code, order]; // } // generator.math = {} // generator.addReservedWords("math,random,Number"); const math_number = function (_, generator) { // a = parseFloat(a.getFieldValue("NUM")); // var b; // Infinity == a ? (a = 'float("inf")', b = generator.ORDER_FUNCTION_CALL) : -Infinity == a ? (a = '-float("inf")', b = generator.ORDER_UNARY_SIGN) : b = 0 > a ? generator.ORDER_UNARY_SIGN : generator.ORDER_ATOMIC; // return [a, b] var code = this.getFieldValue('NUM'); // -4.abs() returns -4 in Dart due to strange order of operation choices. // -4 is actually an operator and a number. Reflect this in the order. var order = code < 0 ? generator.ORDER_UNARY_PREFIX : generator.ORDER_ATOMIC; return [code, order]; } const math_constant = function (_, generator) { generator.definitions_.import_math = "import math"; var name = this.getFieldValue('CONSTANT'); var code = 'math.' + name; return [code, generator.ORDER_ATOMIC]; } const math_constant_mp = function (_, generator) { generator.definitions_.import_math = "import math"; var name = this.getFieldValue('CONSTANT'); var code = 'math.' + name; return [code, generator.ORDER_ATOMIC]; } const math_bit = function (_, generator) { var operator = this.getFieldValue('OP'); var order = generator.ORDER_ATOMIC; var argument0 = generator.valueToCode(this, 'A', order) || '0'; var argument1 = generator.valueToCode(this, 'B', order) || '0'; var code = '(' + argument0 + operator + argument1 + ')'; return [code, order]; } const math_arithmetic = function (a, generator) { var b = { ADD: [" + ", generator.ORDER_ADDITIVE], MINUS: [" - ", generator.ORDER_ADDITIVE], MULTIPLY: [" * ", generator.ORDER_MULTIPLICATIVE], DIVIDE: [" / ", generator.ORDER_MULTIPLICATIVE], QUYU: [' % ', generator.ORDER_MULTIPLICATIVE],//增加取余操作 ZHENGCHU: [' // ', generator.ORDER_MULTIPLICATIVE],//增加整除操作 POWER: [" ** ", generator.ORDER_EXPONENTIATION] }[a.getFieldValue("OP")]; var c = b[0], b = b[1], d = generator.valueToCode(a, "A", b) || "0"; a = generator.valueToCode(a, "B", b) || "0"; return [d + c + a, b] } const math_selfcalcu = function (_, generator) { var argument0 = generator.valueToCode(this, 'A', generator.ORDER_RELATIONAL) || '0'; var argument1 = generator.valueToCode(this, 'B', generator.ORDER_RELATIONAL) || '0'; var operator = this.getFieldValue('OP'); switch (operator) { case 'ADD': var op = '+='; break; case 'MINUS': var op = '-='; break; case 'MULTIPLY': var op = '*='; break; case 'DIVIDE': var op = '/='; break; case 'QUYU': var op = '%='; break; case 'ZHENGCHU': var op = '//='; break; case 'POWER': var op = '**='; break; } var code = argument0 + ' ' + op + ' ' + argument1 + '\n'; return code; } const math_single = function (a, generator) { var b = a.getFieldValue("OP"), c; if ("NEG" == b) return c = generator.valueToCode(a, "NUM", generator.ORDER_UNARY_SIGN) || "0", ["-" + c, generator.ORDER_UNARY_SIGN]; generator.definitions_['import_math'] = "import math"; a = "SIN" == b || "COS" == b || "TAN" == b ? generator.valueToCode(a, "NUM", generator.ORDER_MULTIPLICATIVE) || "0" : generator.valueToCode(a, "NUM", generator.ORDER_NONE) || "0"; switch (b) { case "ABS": c = "math.fabs(" + a + ")"; break; case "ROOT": c = "math.sqrt(" + a + ")"; break; case "LN": c = "math.log(" + a + ")"; break; case "LOG10": c = "math.log10(" + a + ")"; break; case "EXP": c = "math.exp(" + a + ")"; break; case "POW10": c = "math.pow(10," + a + ")"; break; case "ROUND": c = "round(" + a + ")"; break; case "ROUNDUP": c = "math.ceil(" + a + ")"; break; case "ROUNDDOWN": c = "math.floor(" + a + ")"; break; case "SIN": c = "math.sin(" + a + ")"; break; case "COS": c = "math.cos(" + a + ")"; break; case "TAN": c = "math.tan(" + a + ")"; break; case "++": c = "++(" + a + ")"; break; case "--": c = "--(" + a + ")"; break; case "-": c = "-(" + a + ")"; break; default: } if (c) return [c, generator.ORDER_EXPONENTIATION]; switch (b) { case "ASIN": c = "math.degrees(math.asin(" + a + "))"; break; case "ACOS": c = "math.degrees(math.acos(" + a + "))"; break; case "ATAN": c = "math.degrees(math.atan(" + a + "))"; break; } return [c, generator.ORDER_MULTIPLICATIVE] } const math_trig = math_single; const math_dec = function (_, generator) { var argument0 = generator.valueToCode(this, 'NUM', generator.ORDER_NONE) || '0'; var operator = this.getFieldValue('OP'); var code = operator + '(' + argument0 + ')'; return [code, generator.ORDER_ATOMIC]; } const math_to_int = function (_, generator) { var argument0 = generator.valueToCode(this, 'A', generator.ORDER_NONE) || '0'; var operator = this.getFieldValue('OP'); var code = ""; if (operator === "round") { code = operator + '(' + argument0 + ')'; } else { code = "math." + operator + '(' + argument0 + ')'; generator.definitions_.import_math = "import math"; } return [code, generator.ORDER_ATOMIC]; } const math_max_min = function (_, generator) { var a = generator.valueToCode(this, 'A', generator.ORDER_NONE) || '0'; var b = generator.valueToCode(this, 'B', generator.ORDER_NONE) || '0'; var operator = this.getFieldValue('OP'); var code = operator + '(' + a + ', ' + b + ')'; return [code, generator.ORDER_ATOMIC]; } const math_random = function (_, generator) { generator.definitions_.import_random = "import random"; // Random integer between [X] and [Y]. var type = this.getFieldValue('TYPE'); var argument0 = generator.valueToCode(this, 'FROM', generator.ORDER_NONE) || '0'; var argument1 = generator.valueToCode(this, 'TO', generator.ORDER_NONE) || '0'; if (type == 'int') { var code = 'random.randint(' + argument0 + ', ' + argument1 + ')'; } else if (type == 'float') { var code = 'random.uniform(' + argument0 + ', ' + argument1 + ')'; } return [code, generator.ORDER_UNARY_POSTFIX]; } const math_map = function (_, generator) { var value_num = generator.valueToCode(this, 'NUM', generator.ORDER_NONE); var value_fl = generator.valueToCode(this, 'fromLow', generator.ORDER_ATOMIC); var value_fh = generator.valueToCode(this, 'fromHigh', generator.ORDER_ATOMIC); var value_tl = generator.valueToCode(this, 'toLow', generator.ORDER_ATOMIC); var value_th = generator.valueToCode(this, 'toHigh', generator.ORDER_ATOMIC); generator.definitions_['import_mixpy_math_map'] = "from mixpy import math_map"; var code = 'math_map(' + value_num + ', ' + value_fl + ', ' + value_fh + ', ' + value_tl + ', ' + value_th + ')'; return [code, generator.ORDER_NONE]; } const math_constrain = function (_, generator) { // Constrain a number between two limits. var argument0 = generator.valueToCode(this, 'VALUE', generator.ORDER_NONE) || '0'; var argument1 = generator.valueToCode(this, 'LOW', generator.ORDER_NONE) || '0'; var argument2 = generator.valueToCode(this, 'HIGH', generator.ORDER_NONE) || '0'; var code = 'min(max(' + argument0 + ', ' + argument1 + '), ' + argument2 + ')'; return [code, generator.ORDER_UNARY_POSTFIX]; } const math_number_base_conversion = function (a, generator) { var c1 = a.getFieldValue("OP"); var d = generator.valueToCode(this, 'NUM', generator.ORDER_NONE) || '0'; var c2 = a.getFieldValue("OP2"); generator.definitions_['import_math'] = "import math"; var param1 = ""; var param2 = "10"; if (c1 == "two") { param2 = '2'; } else if (c1 == "eight") { param2 = '8' } else if (c1 == "ten") { param2 = '10' } else if (c1 == "sixteen") { param2 = '16' } if (c2 == "two") { param1 = 'bin'; } else if (c2 == "eight") { param1 = 'oct' } else if (c2 == "ten") { param1 = '' } else if (c2 == "sixteen") { param1 = 'hex' } if (param1 == "") { var code = "int(str(" + d + "), " + param2 + ")"; } else { var code = param1 + "(int(str(" + d + "), " + param2 + "))"; } return [code, generator.ORDER_ATOMIC]; } const math_random_seed = function (_, generator) { // Random integer between [X] and [Y]. generator.definitions_.import_random = "import random"; var a = generator.valueToCode(this, 'NUM', generator.ORDER_NONE) || '0'; var code = 'random.seed(' + a + ');' + '\n'; return code; } const math_indexer_number = function (_, generator) { var code = this.getFieldValue('NUM'); // -4.abs() returns -4 in Dart due to strange order of operation choices. // -4 is actually an operator and a number. Reflect this in the order. var order = code < 0 ? generator.ORDER_UNARY_PREFIX : generator.ORDER_ATOMIC; return [code, order]; } const math_round = function (_, generator) { var argument0 = generator.valueToCode(this, 'VALUE', generator.ORDER_NONE) || '0'; var argument1 = generator.valueToCode(this, 'VAR', generator.ORDER_NONE) || '0'; var code = 'round(' + argument0 + ', ' + argument1 + ')'; return [code, generator.ORDER_ATOMIC]; } const text_to_number = function (_, generator) { var towhat = this.getFieldValue('TOWHAT'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (towhat == 'b') return ['' + str + '.encode("utf-8")', generator.ORDER_ATOMIC]; else if (towhat == 'bti') return ['int.from_bytes(' + str + ',"big")', generator.ORDER_ATOMIC]; return [towhat + "(" + str + ')', generator.ORDER_ATOMIC]; } const text_to_number_skulpt = function (_, generator) { var towhat = this.getFieldValue('TOWHAT'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); if (towhat == 'b') return ['' + str + '.encode("utf-8")', generator.ORDER_ATOMIC]; return [towhat + "(" + str + ')', generator.ORDER_ATOMIC]; } const base_map = math_map; const turn_to_int = function (_, generator) { generator.definitions_.import_hexlify = "from ubinascii import hexlify"; var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return ["hexlify(" + str + ').decode()', generator.ORDER_ATOMIC]; } const generate_cartesian_product = function (_, generator) { generator.definitions_.import_itertools = 'import itertools'; let re = generator.valueToCode(this, 'REPEAT', generator.ORDER_ATOMIC); let items = new Array(this.itemCount_); for (let n = 0; n < this.itemCount_; n++) { items[n] = generator.valueToCode(this, `ADD${n}`, generator.ORDER_NONE) || '0'; } let code = ''; if (this.itemCount_) { code = `itertools.product(${items.join(', ')}, repeat=${re})`; } return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/procedures.js": /*!******************************************!*\ !*** ../python/generators/procedures.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ procedures_callnoreturn: () => (/* binding */ procedures_callnoreturn), /* harmony export */ procedures_callreturn: () => (/* binding */ procedures_callreturn), /* harmony export */ procedures_defnoreturn: () => (/* binding */ procedures_defnoreturn), /* harmony export */ procedures_defreturn: () => (/* binding */ procedures_defreturn), /* harmony export */ procedures_ifreturn: () => (/* binding */ procedures_ifreturn), /* harmony export */ procedures_return: () => (/* binding */ procedures_return) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const procedures_defreturn = function (_, generator) { // Define a procedure with a return value. var funcName = generator.variableDB_.getName(this.getFieldValue('NAME'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.NAME_TYPE); var branch = (this.getInput('STACK') && generator.statementToCode(this, 'STACK')) ?? ' pass\n'; if (generator.INFINITE_LOOP_TRAP) { branch = generator.INFINITE_LOOP_TRAP.replace(/%1/g, '\'' + this.id + '\'') + branch; } var returnValue = generator.valueToCode(this, 'RETURN', generator.ORDER_NONE) || ''; //var type=this.getFieldValue('TYPE'); if (returnValue) { returnValue = ' return ' + returnValue + '\n'; } //var returnType = returnValue ? type : 'void'; var args = []; for (var x = 0; x < this.arguments_.length; x++) { var varName = generator.variableDB_.getName(this.arguments_[x], blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); args[x] = varName; } var code = 'def ' + funcName + '(' + args.join(', ') + '):\n' + branch + returnValue + '\n'; code = generator.scrub_(this, code); generator.setups_[funcName] = code; return null; } const procedures_defnoreturn = function (_, generator) { // Define a procedure with a return value. var funcName = generator.variableDB_.getName(this.getFieldValue('NAME'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.NAME_TYPE); var branch = (this.getInput('STACK') && generator.statementToCode(this, 'STACK')) ?? ' pass\n'; if (generator.INFINITE_LOOP_TRAP) { branch = generator.INFINITE_LOOP_TRAP.replace(/%1/g, '\'' + this.id + '\'') + branch; } //var returnType = returnValue ? type : 'void'; var args = []; for (var x = 0; x < this.arguments_.length; x++) { var varName = generator.variableDB_.getName(this.arguments_[x], blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); args[x] = varName; } var code = 'def ' + funcName + '(' + args.join(', ') + '):\n' + branch + '\n'; code = generator.scrub_(this, code); generator.setups_[funcName] = code; return null; } const procedures_callreturn = function (_, generator) { // Call a procedure with a return value. var funcName = generator.variableDB_.getName(this.getFieldValue('NAME'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.NAME_TYPE); var args = []; for (var x = 0; x < this.arguments_.length; x++) { args[x] = generator.valueToCode(this, 'ARG' + x, generator.ORDER_NONE) || 'null'; } var code = funcName + '(' + args.join(', ') + ')'; return [code, generator.ORDER_UNARY_POSTFIX]; } const procedures_callnoreturn = function (_, generator) { // Call a procedure with no return value. var funcName = generator.variableDB_.getName(this.getFieldValue('NAME'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.NAME_TYPE); var args = []; for (var x = 0; x < this.arguments_.length; x++) { args[x] = generator.valueToCode(this, 'ARG' + x, generator.ORDER_NONE) || 'null'; } var code = funcName + '(' + args.join(', ') + ')\n'; return code; } const procedures_ifreturn = function (_, generator) { // Conditionally return value from a procedure. var condition = generator.valueToCode(this, 'CONDITION', generator.ORDER_NONE) || 'False'; var code = 'if (' + condition + ') :\n'; if (this.hasReturnValue_) { var value = generator.valueToCode(this, 'VALUE', generator.ORDER_NONE) || 'None'; code += ' return ' + value; } else { code += ' return None'; } code += '\n'; return code; } const procedures_return = function (_, generator) { // Conditionally return value from a procedure. var code = "" if (this.hasReturnValue_) { var value = generator.valueToCode(this, 'VALUE', generator.ORDER_NONE) || 'None'; code += 'return ' + value; } else { code += 'return None'; } code += '\n'; return code; } /***/ }), /***/ "../python/generators/set.js": /*!***********************************!*\ !*** ../python/generators/set.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ set_add_discard: () => (/* binding */ set_add_discard), /* harmony export */ set_clear: () => (/* binding */ set_clear), /* harmony export */ set_create_with: () => (/* binding */ set_create_with), /* harmony export */ set_create_with_text_return: () => (/* binding */ set_create_with_text_return), /* harmony export */ set_length: () => (/* binding */ set_length), /* harmony export */ set_operate: () => (/* binding */ set_operate), /* harmony export */ set_operate_update: () => (/* binding */ set_operate_update), /* harmony export */ set_pop: () => (/* binding */ set_pop), /* harmony export */ set_sub: () => (/* binding */ set_sub), /* harmony export */ set_toset: () => (/* binding */ set_toset), /* harmony export */ set_update: () => (/* binding */ set_update) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const set_create_with = function (_, generator) { var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_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; } //generator.definitions_['var_declare'+varName] = varName+'= '+ '{' + code.join(', ') + '}\n'; code = varName + '= ' + '{' + code.join(', ') + '}\n'; if (this.itemCount_ == 0) { code = varName + ' = ' + 'set()\n' } return code; } const set_length = function (_, generator) { var varName = generator.valueToCode(this, 'SET', generator.ORDER_ASSIGNMENT) || '0'; var code = 'len(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const set_pop = function (_, generator) { var varName = generator.valueToCode(this, 'SET', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.pop()'; return [code, generator.ORDER_ATOMIC]; } const set_clear = function (_, generator) { var varName = generator.valueToCode(this, 'SET', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + '.clear()\n'; return code; } const set_operate = function (_, generator) { var vars1 = generator.valueToCode(this, 'SET1', generator.ORDER_ASSIGNMENT) || '0'; var vars2 = generator.valueToCode(this, 'SET2', generator.ORDER_ASSIGNMENT) || '0'; var operate = this.getFieldValue('OPERATE'); //var num = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = vars1 + "." + operate + "(" + vars2 + ')'; return [code, generator.ORDER_ATOMIC]; } const set_operate_update = function (_, generator) { var vars1 = generator.valueToCode(this, 'SET1', generator.ORDER_ASSIGNMENT) || '0'; var vars2 = generator.valueToCode(this, 'SET2', generator.ORDER_ASSIGNMENT) || '0'; var operate = this.getFieldValue('OPERATE'); //var num = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = vars1 + "." + operate + "(" + vars2 + ')\n'; return code; } const set_add_discard = function (_, generator) { var vars1 = generator.valueToCode(this, 'SET', generator.ORDER_ASSIGNMENT) || '0'; var operate = this.getFieldValue('OPERATE'); var argument = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT) || '0'; var code = vars1 + "." + operate + "(" + argument + ')\n'; return code; } const set_sub = function (_, generator) { var vars1 = generator.valueToCode(this, 'SET1', generator.ORDER_ASSIGNMENT) || '0'; var vars2 = generator.valueToCode(this, 'SET2', generator.ORDER_ASSIGNMENT) || '0'; var operate = this.getFieldValue('OPERATE'); //var num = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = vars1 + "." + operate + "(" + vars2 + ')'; return [code, generator.ORDER_ATOMIC]; } const set_update = function (_, generator) { var varName = generator.valueToCode(this, 'SET', generator.ORDER_ASSIGNMENT) || '0'; var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); //var color = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT) || '0'; var code = varName + "." + 'update' + '(' + color + ')\n'; return code; } // export const set_change_to = function(){ // var op = this.getFieldValue('OP'); // var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; // var code = op + '(' + varName + ')\n'; // return [code, generator.ORDER_ATOMIC]; // } const set_create_with_text_return = function (_, generator) { var text = this.getFieldValue('TEXT'); var code = '{' + text + '}'; return [code, generator.ORDER_ATOMIC]; } const set_toset = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['set(' + str + ')', generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/storage.js": /*!***************************************!*\ !*** ../python/generators/storage.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ sdcard_mount: () => (/* binding */ sdcard_mount), /* harmony export */ sdcard_use_spi_init: () => (/* binding */ sdcard_use_spi_init), /* harmony export */ storage_can_write_ornot: () => (/* binding */ storage_can_write_ornot), /* harmony export */ storage_change_dir: () => (/* binding */ storage_change_dir), /* harmony export */ storage_close_file: () => (/* binding */ storage_close_file), /* harmony export */ storage_delete_file: () => (/* binding */ storage_delete_file), /* harmony export */ storage_file_seek: () => (/* binding */ storage_file_seek), /* harmony export */ storage_file_tell: () => (/* binding */ storage_file_tell), /* harmony export */ storage_file_write: () => (/* binding */ storage_file_write), /* harmony export */ storage_fileopen: () => (/* binding */ storage_fileopen), /* harmony export */ storage_fileopen_new: () => (/* binding */ storage_fileopen_new), /* harmony export */ storage_fileopen_new_encoding: () => (/* binding */ storage_fileopen_new_encoding), /* harmony export */ storage_get_a_line: () => (/* binding */ storage_get_a_line), /* harmony export */ storage_get_contents: () => (/* binding */ storage_get_contents), /* harmony export */ storage_get_contents_without_para: () => (/* binding */ storage_get_contents_without_para), /* harmony export */ storage_get_current_dir: () => (/* binding */ storage_get_current_dir), /* harmony export */ storage_get_file_size: () => (/* binding */ storage_get_file_size), /* harmony export */ storage_get_filename: () => (/* binding */ storage_get_filename), /* harmony export */ storage_is_file: () => (/* binding */ storage_is_file), /* harmony export */ storage_list_all_files: () => (/* binding */ storage_list_all_files), /* harmony export */ storage_make_dir: () => (/* binding */ storage_make_dir), /* harmony export */ storage_open_file_with_os: () => (/* binding */ storage_open_file_with_os), /* harmony export */ storage_rename: () => (/* binding */ storage_rename) /* harmony export */ }); const storage_open_file_with_os = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var fn = generator.valueToCode(this, 'fn', generator.ORDER_ATOMIC); return "os.startfile(" + fn + ")\n"; } const storage_fileopen = function (_, generator) { // For each loop. var variable0 = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var fn = generator.valueToCode(this, 'FILENAME', generator.ORDER_ATOMIC); var mode = this.getFieldValue('MODE'); var code = variable0 + ' = open(' + fn + ', \'' + mode + '\')\n'; return code; } const storage_fileopen_new = function (_, generator) { // For each loop. var fn = generator.valueToCode(this, 'FILENAME', generator.ORDER_ATOMIC); var mode = this.getFieldValue('MODE'); var code = 'open(' + fn + ', \'' + mode + '\')'; return [code, generator.ORDER_ATOMIC]; } const storage_fileopen_new_encoding = function (_, generator) { // For each loop. var fn = generator.valueToCode(this, 'FILENAME', generator.ORDER_ATOMIC); var mode = this.getFieldValue('MODE'); var encode = this.getFieldValue('CODE'); var code = 'open(' + fn + ', \'' + mode + '\', encoding="' + encode + '")'; return [code, generator.ORDER_ATOMIC]; } const storage_file_write = function (_, generator) { var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC); var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); return file + ".write(" + data + ")\n"; } const storage_get_contents_without_para = function (_, generator) { var mode = this.getFieldValue('MODE'); var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = file + '.' + mode + '()'; return [code, generator.ORDER_ATOMIC]; } const storage_get_contents = function (_, generator) { var mode = this.getFieldValue('MODE'); var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var size = generator.valueToCode(this, 'SIZE', generator.ORDER_ATOMIC); var code = file + '.' + mode + '(' + size + ')'; return [code, generator.ORDER_ATOMIC]; } const storage_get_a_line = function (_, generator) { var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var size = generator.valueToCode(this, 'SIZE', generator.ORDER_ATOMIC); var code = file + ".readline(" + size + ')'; return [code, generator.ORDER_ATOMIC]; } const storage_can_write_ornot = function (_, generator) { var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = file + ".writable()"; return [code, generator.ORDER_ATOMIC]; } const storage_get_filename = function (_, generator) { var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = file + ".name()"; return [code, generator.ORDER_ATOMIC]; } const storage_close_file = function (_, generator) { var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = file + ".close()\n"; return code; } const storage_list_all_files = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var code = 'os.listdir()'; return [code, generator.ORDER_ATOMIC]; } const storage_delete_file = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var mode = this.getFieldValue('MODE'); var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = "os." + mode + "(" + file + ")\n"; return code; } const storage_get_file_size = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = "os.path.getsize(" + file + ")"; return [code, generator.ORDER_ATOMIC]; } const storage_file_tell = function (_, generator) { var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = file + ".tell()"; return [code, generator.ORDER_ATOMIC]; } const storage_file_seek = function (_, generator) { var mode = this.getFieldValue('MODE'); var mode_num = 0; if (mode == 'start') { mode_num = 0; } else if (mode == 'current') { mode_num = 1; } else { mode_num = 2; } var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var size = generator.valueToCode(this, 'SIZE', generator.ORDER_ATOMIC); var code = file + '.seek(' + size + ',' + mode_num + ')\n'; return code; } const storage_change_dir = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var code = "os.chdir(" + file + ")\n"; return code; } const storage_get_current_dir = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var code = 'os.getcwd()'; return [code, generator.ORDER_ATOMIC]; } const storage_make_dir = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var mode = this.getFieldValue('MODE'); var path = generator.valueToCode(this, 'PATH', generator.ORDER_ATOMIC); var code = 'os.' + mode + '(' + path + ')\n'; return code; } const storage_rename = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var file1 = generator.valueToCode(this, 'NEWFILE', generator.ORDER_ATOMIC); var code = "os.rename(" + file + "," + file1 + ")\n"; return code; } const storage_is_file = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var file = generator.valueToCode(this, 'FILE', generator.ORDER_ATOMIC); var mode = this.getFieldValue('MODE'); var code = "os." + mode + "(" + file + ")"; return [code, generator.ORDER_ATOMIC]; } const sdcard_use_spi_init = function (_, generator) { generator.definitions_['import_os'] = 'import os'; generator.definitions_['import_sdcard'] = 'import sdcard'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sv = generator.valueToCode(this, 'SPISUB', generator.ORDER_ATOMIC); var pv = generator.valueToCode(this, 'PINSUB', generator.ORDER_ATOMIC); var code = v + ' = sdcard.SDCard(' + sv + ',' + pv + ')\n'; return code; } const sdcard_mount = function (_, generator) { generator.definitions_['import_os'] = 'import os'; generator.definitions_['import_sdcard'] = 'import sdcard'; var sd = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var dir = generator.valueToCode(this, 'DIR', generator.ORDER_ATOMIC); return "os.mount(" + sd + ',' + dir + ")\n"; } /***/ }), /***/ "../python/generators/text.js": /*!************************************!*\ !*** ../python/generators/text.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ascii_to_char: () => (/* binding */ ascii_to_char), /* harmony export */ char_to_ascii: () => (/* binding */ char_to_ascii), /* harmony export */ number_to_text: () => (/* binding */ number_to_text), /* harmony export */ os_system: () => (/* binding */ os_system), /* harmony export */ text: () => (/* binding */ text), /* harmony export */ text_capital: () => (/* binding */ text_capital), /* harmony export */ text_center: () => (/* binding */ text_center), /* harmony export */ text_char: () => (/* binding */ text_char), /* harmony export */ text_char_at: () => (/* binding */ text_char_at), /* harmony export */ text_char_at2: () => (/* binding */ text_char_at2), /* harmony export */ text_char_at3: () => (/* binding */ text_char_at3), /* harmony export */ text_compareTo: () => (/* binding */ text_compareTo), /* harmony export */ text_compare_to: () => (/* binding */ text_compare_to), /* harmony export */ text_encode: () => (/* binding */ text_encode), /* harmony export */ text_equals_starts_ends: () => (/* binding */ text_equals_starts_ends), /* harmony export */ text_eval: () => (/* binding */ text_eval), /* harmony export */ text_find: () => (/* binding */ text_find), /* harmony export */ text_format: () => (/* binding */ text_format), /* harmony export */ text_format_noreturn: () => (/* binding */ text_format_noreturn), /* harmony export */ text_join: () => (/* binding */ text_join), /* harmony export */ text_join_seq: () => (/* binding */ text_join_seq), /* harmony export */ text_length: () => (/* binding */ text_length), /* harmony export */ text_random_char: () => (/* binding */ text_random_char), /* harmony export */ text_replace: () => (/* binding */ text_replace), /* harmony export */ text_split: () => (/* binding */ text_split), /* harmony export */ text_strip: () => (/* binding */ text_strip), /* harmony export */ text_substring: () => (/* binding */ text_substring), /* harmony export */ text_substring2: () => (/* binding */ text_substring2), /* harmony export */ text_substring3: () => (/* binding */ text_substring3), /* harmony export */ text_textarea: () => (/* binding */ text_textarea) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const text = function (_, generator) { // Text value. //var code = 'String('+generator.quote_(this.getFieldValue('TEXT'))+')'; var code = generator.quote_(this.getFieldValue('TEXT')); return [code, generator.ORDER_ATOMIC]; } const text_textarea = function (_, generator) { // Text value. //var code = 'String('+generator.quote_(this.getFieldValue('TEXT'))+')'; var code = '"""' + (this.getFieldValue('VALUE')) + '"""'; return [code, generator.ORDER_ATOMIC]; } const text_char = function (_, generator) { var code = '\'' + this.getFieldValue('TEXT') + '\''; return [code, generator.ORDER_ATOMIC]; } const text_join = function (_, generator) { // Text value. var a = generator.valueToCode(this, 'A', generator.ORDER_ATOMIC); var b = generator.valueToCode(this, 'B', generator.ORDER_ATOMIC); return [a + ' + ' + b, generator.ORDER_ADDITIVE]; } const ascii_to_char = function (_, generator) { var asciivalue = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['chr(' + asciivalue + ')', generator.ORDER_ATOMIC]; } const char_to_ascii = function (_, generator) { var charvalue = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || 'a'; return ['ord(' + charvalue + ')', generator.ORDER_ATOMIC]; } const number_to_text = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0'; return ['str(' + str + ')', generator.ORDER_ATOMIC]; } const text_length = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; return ['len(' + str + ')', generator.ORDER_ATOMIC]; } const text_char_at2 = function (a, generator) { var c = a.getFieldValue("WHERE") || "FROM_START", str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; switch (c) { case "FROM_START": a = generator.getAdjustedInt(a, "AT"); return [str + "[" + a + "]", generator.ORDER_ATOMIC]; case "FROM_END": a = generator.getAdjustedInt(a, "AT", 1, !0); return [str + "[" + a + "]", generator.ORDER_ATOMIC]; case "RANDOM": generator.definitions_.import_random = "import random"; return ["random.choice(" + str + ")", generator.ORDER_FUNCTION_CALL]; } throw "Unhandled combination (lists_getIndex)."; } const text_char_at = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var at = generator.valueToCode(this, 'AT', generator.ORDER_ATOMIC) || 0; return [str + "[" + at + "]", generator.ORDER_ATOMIC]; } const text_random_char = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; generator.definitions_.import_random = "import random"; return ["random.choice(" + str + ")", generator.ORDER_FUNCTION_CALL]; } const text_equals_starts_ends = function (_, generator) { var str1 = (generator.valueToCode(this, 'STR1', generator.ORDER_ATOMIC) || '""'); var str2 = (generator.valueToCode(this, 'STR2', generator.ORDER_ATOMIC) || '""'); var dowhat = this.getFieldValue('DOWHAT'); if (dowhat === '===') return [str1 + ' == ' + str2, generator.ORDER_ATOMIC]; return [str1 + '.' + dowhat + '(' + str2 + ')', generator.ORDER_ATOMIC]; } const text_compare_to = function (_, generator) { var str1 = (generator.valueToCode(this, 'STR1', generator.ORDER_ATOMIC) || '""'); var str2 = (generator.valueToCode(this, 'STR2', generator.ORDER_ATOMIC) || '""'); return ['cmp(' + str1 + ',' + str2 + ')', generator.ORDER_ATOMIC]; } const text_substring2 = function (block, generator) { // Get sublist. var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var where1 = block.getFieldValue('WHERE1'); var where2 = block.getFieldValue('WHERE2'); switch (where1) { case 'FROM_START': var at1 = generator.getAdjustedInt(block, 'AT1'); if (at1 == '0') { at1 = ''; } break; case 'FROM_END': var at1 = generator.getAdjustedInt(block, 'AT1', 0, true); break; case 'FIRST': var at1 = '0'; break; default: throw 'Unhandled option (lists_getSublist)'; } switch (where2) { case 'FROM_START': var at2 = generator.getAdjustedInt(block, 'AT2'); break; case 'FROM_END': var at2 = generator.getAdjustedInt(block, 'AT2', 0, true); // Ensure that if the result calculated is 0 that sub-sequence will // include all elements as expected. if (!blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(String(at2))) { generator.definitions_['import_sys'] = 'import sys'; at2 += ' or sys.maxsize'; } else if (at2 == '0') { at2 = ''; } break; case 'LAST': var at2 = '-1'; break; default: throw 'Unhandled option (lists_getSublist)'; } var code = str + '[' + at1 + ' : ' + at2 + ']'; return [code, generator.ORDER_ATOMIC]; } const text_substring = function (_, generator) { // Get sublist. var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var at1 = generator.valueToCode(this, 'AT1', generator.ORDER_ATOMIC); var at2 = generator.valueToCode(this, 'AT2', generator.ORDER_ATOMIC); var code = str + '[' + at1 + ' : ' + at2 + ']'; return [code, generator.ORDER_ATOMIC]; } const text_capital = function (_, generator) { var capital = this.getFieldValue('CAPITAL'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); return ['' + str + '.' + capital + '()', generator.ORDER_ATOMIC]; } const text_center = function (_, generator) { var center = this.getFieldValue('CENTER'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var width = generator.valueToCode(this, 'WID', generator.ORDER_ATOMIC); var symbol = generator.valueToCode(this, 'Symbol', generator.ORDER_ATOMIC); return ['' + str + '.' + center + '(' + width + ',' + symbol + ')', generator.ORDER_ATOMIC]; } const text_find = function (_, generator) { var sentence = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var str = generator.valueToCode(this, 'STR', generator.ORDER_ATOMIC); return ['' + sentence + '.find(' + str + ')', generator.ORDER_ATOMIC]; } const text_join_seq = function (_, generator) { var sentence = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT) || '0'; return [sentence + '.join(' + varName + ')', generator.ORDER_ATOMIC]; } const text_replace = function (_, generator) { var sentence = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var str1 = generator.valueToCode(this, 'STR1', generator.ORDER_ATOMIC); var str2 = generator.valueToCode(this, 'STR2', generator.ORDER_ATOMIC); return ['' + sentence + '.replace(' + str1 + ',' + str2 + ')', generator.ORDER_ATOMIC]; } const text_split = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; var argument = generator.valueToCode(this, 'VAL', generator.ORDER_ATOMIC) || '""'; var code = str + ".split(" + argument + ")"; return [code, generator.ORDER_ATOMIC]; } const text_strip = function (_, generator) { var towhat = this.getFieldValue('TOWHAT'); var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = str + "." + towhat + "()"; return [code, generator.ORDER_ATOMIC]; } const text_format = function (_, generator) { // Create a list with any number of elements of any type. var s = this.getFieldValue('VAR'); 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; } var code = s + '.format(' + code.join(', ') + ')'; return [code, generator.ORDER_ATOMIC]; } const text_format_noreturn = function (_, generator) { // Create a list with any number of elements of any type. var s = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); 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; } var code = s + '.format(' + code.join(', ') + ')'; return [code, generator.ORDER_ATOMIC]; } const text_substring3 = text_substring const text_compareTo = text_compare_to const text_char_at3 = text_char_at const text_encode = function (_, generator) { var code = this.getFieldValue('DIR'); var varName = this.getFieldValue('CODE') var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '""'; return [str + '.' + code + '("' + varName + '")', generator.ORDER_ATOMIC]; } const text_eval = function (_, generator) { var codestr = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "eval" + '(' + codestr + ')'; return [code, generator.ORDER_ATOMIC]; } const os_system = function (_, generator) { generator.definitions_['import_os'] = 'import os'; var codestr = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); var code = "os.system" + '(' + codestr + ')\n'; return code; } /***/ }), /***/ "../python/generators/tuple.js": /*!*************************************!*\ !*** ../python/generators/tuple.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ tuple_change_to: () => (/* binding */ tuple_change_to), /* harmony export */ tuple_create_with: () => (/* binding */ tuple_create_with), /* harmony export */ tuple_create_with_noreturn: () => (/* binding */ tuple_create_with_noreturn), /* harmony export */ tuple_create_with_text2: () => (/* binding */ tuple_create_with_text2), /* harmony export */ tuple_create_with_text_return: () => (/* binding */ tuple_create_with_text_return), /* harmony export */ tuple_del: () => (/* binding */ tuple_del), /* harmony export */ tuple_find: () => (/* binding */ tuple_find), /* harmony export */ tuple_getIndex: () => (/* binding */ tuple_getIndex), /* harmony export */ tuple_getSublist: () => (/* binding */ tuple_getSublist), /* harmony export */ tuple_get_random_item: () => (/* binding */ tuple_get_random_item), /* harmony export */ tuple_get_sublist: () => (/* binding */ tuple_get_sublist), /* harmony export */ tuple_input: () => (/* binding */ tuple_input), /* harmony export */ tuple_join: () => (/* binding */ tuple_join), /* harmony export */ tuple_length: () => (/* binding */ tuple_length), /* harmony export */ tuple_max: () => (/* binding */ tuple_max), /* harmony export */ tuple_totuple: () => (/* binding */ tuple_totuple), /* harmony export */ tuple_trig: () => (/* binding */ tuple_trig) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const tuple_create_with = function (_, generator) { // Create a list with any number of elements of any type. var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); 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){ // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ')\n';} // else { // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ',)\n';} if (this.itemCount_ != 1) { var code = varName + '= ' + '(' + code.join(', ') + ')\n'; } else { var code = varName + '= ' + '(' + code.join(', ') + ',)\n'; } return code; } const tuple_create_with_text2 = function (_, generator) { var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); //var size=window.parseFloat(this.getFieldValue('SIZE')); var text = this.getFieldValue('TEXT'); //generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + text + ')\n'; var code = varName + '= ' + '(' + text + ')\n'; return code; } const tuple_create_with_text_return = function (_, generator) { var text = this.getFieldValue('TEXT'); var code = '(' + text + ')'; return [code, generator.ORDER_ATOMIC]; } const tuple_getIndex = function (_, generator) { // Indexing into a list is the same as indexing into a string. var varName = generator.valueToCode(this, 'TUP', generator.ORDER_ASSIGNMENT) || '0'; var argument0 = generator.valueToCode(this, 'AT', generator.ORDER_ADDITIVE) || '1'; if (argument0.match(/^\d+$/)) { // If the index is a naked number, decrement it right now. argument0 = parseInt(argument0, 10); } // else { // If the index is dynamic, decrement it in code. // argument0; // } var code = varName + '[' + argument0 + ']'; return [code, generator.ORDER_ATOMIC]; } const tuple_length = function (_, generator) { var varName = generator.valueToCode(this, 'TUP', generator.ORDER_ASSIGNMENT) || '0'; var code = 'len(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const tuple_del = function (_, generator) { var varName = generator.valueToCode(this, 'TUP', generator.ORDER_ASSIGNMENT) || '0'; var code = 'del ' + varName + '\n'; return code; } const tuple_join = function (_, generator) { var varName1 = generator.valueToCode(this, 'TUP1', generator.ORDER_ASSIGNMENT) || '0'; var varName2 = generator.valueToCode(this, 'TUP2', generator.ORDER_ASSIGNMENT) || '0'; var code = varName1 + " + " + varName2; return [code, generator.ORDER_ATOMIC]; } const tuple_max = function (_, generator) { var varname = generator.valueToCode(this, 'TUP', generator.ORDER_ASSIGNMENT) || '0'; var maxmin = this.getFieldValue('DIR'); var code = maxmin + "(" + varname + ')'; return [code, generator.ORDER_ATOMIC]; } const tuple_change_to = function (_, generator) { var op = this.getFieldValue('OP'); var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var code = op + '(' + varName + ')\n'; return [code, generator.ORDER_ATOMIC]; } const tuple_find = function (_, generator) { var op = this.getFieldValue('OP'); var varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '0'; var argument = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT) || '0'; if (op == 'INDEX') var code = varName + '.index(' + argument + ')'; else if (op == 'COUNT') var code = varName + '.count(' + argument + ')'; return [code, generator.ORDER_ATOMIC]; } const tuple_trig = function (a, generator) { var b = a.getFieldValue("OP"), c; generator.definitions_['import_math'] = "import math"; a = generator.valueToCode(a, 'data', generator.ORDER_NONE) switch (b) { case "LEN": c = "len(" + a + ")"; break; case "SUM": c = "sum(" + a + ")"; break; case "MIN": c = "min(" + a + ")"; break; case "MAX": c = "max(" + a + ")"; break; case 'AVERAGE': // generator.definitions_['from_numbers_import_Number'] = // 'from numbers import Number'; var functionName = generator.provideFunction_( 'math_mean', // This operation excludes null and values that aren't int or float:', // math_mean([null, null, "aString", 1, 9]) == 5.0.', ['def ' + generator.FUNCTION_NAME_PLACEHOLDER_ + '(myList):', ' localList = [e for e in myList if type(e) == int or type(e) == float]', ' if not localList: return', ' return float(sum(localList)) / len(localList)']); c = functionName + '(' + a + ')'; break; case 'MEDIAN': // generator.definitions_['from_numbers_import_Number'] = // 'from numbers import Numberd'; var functionName = generator.provideFunction_( 'math_median', // This operation excludes null values: // math_median([null, null, 1, 3]) == 2.0. ['def ' + generator.FUNCTION_NAME_PLACEHOLDER_ + '(myList):', ' localList = sorted([e for e in myList if type(e) == int or type(e) == float])', ' if not localList: return', ' if len(localList) % 2 == 0:', ' return (localList[len(localList) // 2 - 1] + ' + 'localList[len(localList) // 2]) / 2.0', ' else:', ' return localList[(len(localList) - 1) // 2]']); c = functionName + '(' + a + ')'; break; case 'MODE': var functionName = generator.provideFunction_( 'math_modes', // As a list of numbers can contain more than one mode, // the returned result is provided as an array. // Mode of [3, 'x', 'x', 1, 1, 2, '3'] -> ['x', 1]. ['def ' + generator.FUNCTION_NAME_PLACEHOLDER_ + '(some_list):', ' modes = []', ' # Using a lists of [item, count] to keep count rather than dict', ' # to avoid "unhashable" errors when the counted item is ' + 'itself a list or dict.', ' counts = []', ' maxCount = 1', ' for item in some_list:', ' found = False', ' for count in counts:', ' if count[0] == item:', ' count[1] += 1', ' maxCount = max(maxCount, count[1])', ' found = True', ' if not found:', ' counts.append([item, 1])', ' for counted_item, item_count in counts:', ' if item_count == maxCount:', ' modes.append(counted_item)', ' return modes']); c = functionName + '(' + a + ')'; break; case 'STD_DEV': generator.definitions_['import_math'] = 'import math'; var functionName = generator.provideFunction_( 'math_standard_deviation', ['def ' + generator.FUNCTION_NAME_PLACEHOLDER_ + '(numbers):', ' n = len(numbers)', ' if n == 0: return', ' mean = float(sum(numbers)) / n', ' variance = sum((x - mean) ** 2 for x in numbers) / n', ' return math.sqrt(variance)']); c = functionName + '(' + a + ')'; break; default: throw 'Unknown operator: ' + b; } if (c) return [c, generator.ORDER_FUNCTION_CALL]; } const tuple_getSublist = function (block, generator) { // Get sublist. var list = generator.valueToCode(block, 'LIST', generator.ORDER_MEMBER) || '[]'; var where1 = block.getFieldValue('WHERE1'); var where2 = block.getFieldValue('WHERE2'); switch (where1) { case 'FROM_START': var at1 = generator.getAdjustedInt(block, 'AT1'); if (at1 == '0') { at1 = ''; } break; case 'FROM_END': var at1 = generator.getAdjustedInt(block, 'AT1', 1, true); break; case 'FIRST': var at1 = '0'; break; default: throw 'Unhandled option (lists_getSublist)'; } switch (where2) { case 'FROM_START': var at2 = generator.getAdjustedInt(block, 'AT2', 1); at2 = at2 - 1; break; case 'FROM_END': var at2 = generator.getAdjustedInt(block, 'AT2', 1, true); // Ensure that if the result calculated is 0 that sub-sequence will // include all elements as expected. if (!blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(String(at2))) { generator.definitions_['import_sys'] = 'import sys'; at2 += ' or sys.maxsize'; } else if (at2 == '0') { at2 = ''; } break; case 'LAST': var at2 = '-1'; break; default: throw 'Unhandled option (lists_getSublist)'; } var code = list + '[' + at1 + ' : ' + at2 + ']'; return [code, generator.ORDER_MEMBER]; } const tuple_create_with_noreturn = 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){ // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ')\n';} // else { // generator.definitions_['var_declare'+varName] = varName+'= '+ '(' + code.join(', ') + ',)\n';} if (this.itemCount_ != 1) { var code = '(' + code.join(', ') + ')'; } else { var code = '(' + code.join(', ') + ',)'; } return [code, generator.ORDER_ATOMIC]; } const tuple_get_sublist = function (_, generator) { // Get sublist. var list = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || '0'; var at1 = generator.valueToCode(this, 'AT1', generator.ORDER_ADDITIVE) || '0'; var at2 = generator.valueToCode(this, 'AT2', generator.ORDER_ADDITIVE) || '0'; var code = list + '[' + at1 + ' : ' + at2 + ']'; return [code, generator.ORDER_ATOMIC]; } const tuple_get_random_item = function (_, generator) { generator.definitions_['import_random'] = 'import random'; var varName = generator.valueToCode(this, 'TUP', generator.ORDER_ADDITIVE) || 'mytup'; var code = 'random.choice(' + varName + ')'; return [code, generator.ORDER_ATOMIC]; } const tuple_totuple = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0' return ['tuple(' + str + ')', generator.ORDER_ATOMIC]; } const tuple_input = function (_, generator) { var text = generator.getFieldValue('CONTENT'); var code = '(' + text + ')'; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/generators/utility.js": /*!***************************************!*\ !*** ../python/generators/utility.js ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ attribute_access: () => (/* binding */ attribute_access), /* harmony export */ function_call: () => (/* binding */ function_call), /* harmony export */ raw_block: () => (/* binding */ raw_block), /* harmony export */ raw_empty: () => (/* binding */ raw_empty), /* harmony export */ raw_expression: () => (/* binding */ raw_expression), /* harmony export */ raw_table: () => (/* binding */ raw_table), /* harmony export */ type_check: () => (/* binding */ type_check) /* harmony export */ }); /** * @license * Visual Blocks Language * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Generating Python for utility blocks. * @author acbart@vt.edu (Austin Cory Bart) */ const raw_block = function (block) { var code = block.getFieldValue('TEXT') + "\n"; return code; } const raw_expression = function (block, generator) { var code = block.getFieldValue('TEXT'); return [code, generator.ORDER_ATOMIC]; } const raw_empty = function (block, generator) { var code = generator.valueToCode(block, 'VALUE', generator.ORDER_ATOMIC) || ''; return code + "\n"; } const raw_table = function () { //var code = block.getFieldValue('TEXT')+"\n"; return '';//code; } const type_check = function (block, generator) { var value = generator.valueToCode(block, 'VALUE', generator.ORDER_MEMBER) || '___'; var code = 'type(' + value + ')'; return [code, generator.ORDER_ATOMIC]; } const function_call = function (block, generator) { var name = block.getFieldValue('NAME'); var hasReturn = block.hasReturn_; var args = new Array(block.itemCount_); for (var n = 0; n < block.itemCount_; n++) { args[n] = generator.valueToCode(block, 'ARGUMENT' + n, generator.ORDER_NONE) || '___'; } var code = name + '(' + args.join(', ') + ')'; if (hasReturn) { return [code, generator.ORDER_ATOMIC]; } return code + '\n'; } const attribute_access = function (block, generator) { var value_module = generator.valueToCode(block, 'MODULE', generator.ORDER_ATOMIC); var value_name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC); //去除掉两端的括号,如(val()) --> val() value_name = value_name.substring(1, value_name.length - 1); // TODO: Assemble JavaScript into code variable. var code = value_module + '.' + value_name; // TODO: Change ORDER_NONE to the correct strength. return [code, generator.ORDER_NONE]; } /***/ }), /***/ "../python/generators/variables.js": /*!*****************************************!*\ !*** ../python/generators/variables.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ controls_type: () => (/* binding */ controls_type), /* harmony export */ controls_typeLists: () => (/* binding */ controls_typeLists), /* harmony export */ lists_zip: () => (/* binding */ lists_zip), /* harmony export */ unpack_iterable_object: () => (/* binding */ unpack_iterable_object), /* harmony export */ variables_change: () => (/* binding */ variables_change), /* harmony export */ variables_get: () => (/* binding */ variables_get), /* harmony export */ variables_global: () => (/* binding */ variables_global), /* harmony export */ variables_set: () => (/* binding */ variables_set) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); const variables_get = function (_, generator) { // Variable getter. var code = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); return [code, generator.ORDER_ATOMIC]; } // export const variables_declare = function() { // var dropdown_type = this.getFieldValue('TYPE'); // var argument0; // //TODO: settype to variable // argument0 = generator.valueToCode(this, 'VALUE',generator.ORDER_ASSIGNMENT) || 'None'; // var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), // Blockly.Variables.NAME_TYPE); // if (dropdown_type === 'number') // generator.definitions_['var_declare' + varName] = 'let ' + ' ' + varName + ' = 0;'; // else if(dropdown_type === 'string') // generator.definitions_['var_declare' + varName] = 'let ' + ' ' + varName + ' = \'\';'; // else if(dropdown_type === 'boolean') // generator.definitions_['var_declare' + varName] = 'let ' + ' ' + varName + ' = true;'; // else if(dropdown_type.startsWith('Array')) // generator.definitions_['var_declare' + varName] = 'let ' + varName + ':' + dropdown_type + ' = [];'; // if(generator.setups_['var_declare' + varName] === undefined) { // generator.setups_['var_declare' + varName] = varName + ' = ' + argument0 + '\n'; // }else { // } // return ''; // } const variables_set = function (_, generator) { // Variable setter. if (this.getFieldValue('VAR') == "") { return " = None\n"; } var argument0 = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || 'None'; var varName = generator.variableDB_.getName(this.getFieldValue('VAR'), blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables.NAME_TYPE); return varName + ' = ' + argument0 + '\n'; } const variables_change = function (_, generator) { // Variable setter. var operator = this.getFieldValue('OP'); var varName = generator.valueToCode(this, 'MYVALUE', generator.ORDER_ATOMIC) || 'None'; if (operator == 'bytes') { var code = operator + '(' + varName + ',"UTF-8")'; } else { var code = operator + '(' + varName + ')'; } return [code, generator.ORDER_ATOMIC]; } const variables_global = function (_, generator) { var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || 'None'; var code = "global " + str + '\n'; return code; } // ok const controls_type = function (_, generator) { var data = generator.valueToCode(this, 'DATA', generator.ORDER_ATOMIC) || 'None' var code = 'type(' + data + ')'; return [code, generator.ORDER_ATOMIC]; } const controls_typeLists = function (_, generator) { //generator.definitions_['import_microbit_*'] = 'from microbit import *'; var type = this.getFieldValue('type'); // generator.definitions_['func_type' + type] = code; return [type, generator.ORDER_ATOMIC]; } const lists_zip = function (_, generator) { var code = new Array(this.itemCount_); var default_value = '[]'; for (var n = 0; n < this.itemCount_; n++) { code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value; } var code = 'zip(' + code.join(', ') + ')'; return [code, generator.ORDER_ATOMIC]; } const unpack_iterable_object = function (_, generator) { const varName = generator.valueToCode(this, 'VAR', generator.ORDER_ASSIGNMENT) || '[]'; const type = this.getFieldValue('TYPE'); const code = `${type}(${varName})`; return [code, generator.ORDER_ATOMIC]; } /***/ }), /***/ "../python/others/names.js": /*!*********************************!*\ !*** ../python/others/names.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./variables */ "../python/others/variables.js"); /** * @license * Visual Blocks Editor * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Utility functions for handling variables and procedure names. * @author fraser@google.com (Neil Fraser) */ /** * Class for a database of entity names (variables, functions, etc). * @param {string} reservedWords A comma-separated string of words that are * illegal for use as names in a language (e.g. 'new,if,this,...'). * @param {string=} opt_variablePrefix Some languages need a '$' or a namespace * before all variable names. * @constructor */ class Names { constructor(reservedWords, opt_variablePrefix) { this.variablePrefix_ = opt_variablePrefix || ''; this.reservedDict_ = Object.create(null); if (reservedWords) { var splitWords = reservedWords.split(','); for (var i = 0; i < splitWords.length; i++) { this.reservedDict_[splitWords[i]] = true; } } this.reset(); } /** * Do the given two entity names refer to the same entity? * Blockly names are case-insensitive. * @param {string} name1 First name. * @param {string} name2 Second name. * @return {boolean} True if names are the same. */ static equals(name1, name2) { return name1.toLowerCase() == name2.toLowerCase(); } /** * When JavaScript (or most other languages) is generated, variable 'foo' and * procedure 'foo' would collide. However, Blockly has no such problems since * variable get 'foo' and procedure call 'foo' are unambiguous. * Therefore, Blockly keeps a separate type name to disambiguate. * getName('foo', 'variable') -> 'foo' * getName('foo', 'procedure') -> 'foo2' */ /** * Empty the database and start from scratch. The reserved words are kept. */ reset() { this.db_ = Object.create(null); this.dbReverse_ = Object.create(null); this.variableMap_ = null; } /** * Set the variable map that maps from variable name to variable object. * @param {!Blockly.VariableMap} map The map to track. * @package */ setVariableMap(map) { this.variableMap_ = map; } /** * Get the name for a user-defined variable, based on its ID. * This should only be used for variables of type Variables.NAME_TYPE. * @param {string} id The ID to look up in the variable map. * @return {?string} The name of the referenced variable, or null if there was * no variable map or the variable was not found in the map. * @private */ getNameForUserVariable_(id) { if (!this.variableMap_) { /* console.log('Deprecated call to Names.prototype.getName without ' + 'defining a variable map. To fix, add the folowing code in your ' + 'generator\'s init() function:\n' + 'Blockly.YourGeneratorName.variableDB_.setVariableMap(' + 'workspace.getVariableMap());'); */ return null; } var variable = this.variableMap_.getVariableById(id); if (variable) { return variable.name; } return null; } /** * Convert a Blockly entity name to a legal exportable entity name. * @param {string} name The Blockly entity name (no constraints). * @param {string} type The type of entity in Blockly * ('VARIABLE', 'PROCEDURE', 'BUILTIN', etc...). * @return {string} An entity name that is legal in the exported language. */ getName(name, type) { if (type == _variables__WEBPACK_IMPORTED_MODULE_0__["default"].NAME_TYPE) { var varName = this.getNameForUserVariable_(name); if (varName) { name = varName; } } var normalized = name.toLowerCase() + '_' + type; var isVarType = type == _variables__WEBPACK_IMPORTED_MODULE_0__["default"].NAME_TYPE || type == Names.DEVELOPER_VARIABLE_TYPE; var prefix = isVarType ? this.variablePrefix_ : ''; if (normalized in this.db_) { return prefix + this.db_[normalized]; } var safeName = this.getDistinctName(name, type); this.db_[normalized] = safeName.substr(prefix.length); return safeName; } /** * Convert a Blockly entity name to a legal exportable entity name. * Ensure that this is a new name not overlapping any previously defined name. * Also check against list of reserved words for the current language and * ensure name doesn't collide. * @param {string} name The Blockly entity name (no constraints). * @param {string} type The type of entity in Blockly * ('VARIABLE', 'PROCEDURE', 'BUILTIN', etc...). * @return {string} An entity name that is legal in the exported language. */ getDistinctName(name, type) { var safeName = this.safeName_(name); var i = ''; while (this.dbReverse_[safeName + i] || (safeName + i) in this.reservedDict_) { // Collision with existing name. Create a unique name. i = i ? i + 1 : 2; } safeName += i; this.dbReverse_[safeName] = true; var isVarType = type == _variables__WEBPACK_IMPORTED_MODULE_0__["default"].NAME_TYPE || type == Names.DEVELOPER_VARIABLE_TYPE; var prefix = isVarType ? this.variablePrefix_ : ''; return prefix + safeName; } /** * Given a proposed entity name, generate a name that conforms to the * [_A-Za-z][_A-Za-z0-9]* format that most languages consider legal for * variables. * @param {string} name Potentially illegal entity name. * @return {string} Safe entity name. * @private */ safeName_(name) { if (!name) { name = 'unnamed'; } else { // Unfortunately names in non-latin characters will look like // _E9_9F_B3_E4_B9_90 which is pretty meaningless. // https://github.com/google/blockly/issues/1654 name = encodeURI(name.replace(/ /g, '_')).replace(/[^,\w]/g, '_'); // Most languages don't allow names with leading numbers. if ('0123456789'.indexOf(name[0]) != -1) { name = 'my_' + name; } } return name; } } /** * Constant to separate developer variable names from user-defined variable * names when running generators. * A developer variable will be declared as a global in the generated code, but * will never be shown to the user in the workspace or stored in the variable * map. */ Names.DEVELOPER_VARIABLE_TYPE = 'DEVELOPER_VARIABLE'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Names); /***/ }), /***/ "../python/others/procedures.js": /*!**************************************!*\ !*** ../python/others/procedures.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /** * @license * Copyright 2012 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Utility functions for handling procedures. * @author fraser@google.com (Neil Fraser) */ const Procedures = {}; /** * Constant to separate procedure names from variables and generated functions * when running generators. * @deprecated Use Blockly.PROCEDURE_CATEGORY_NAME */ Procedures.NAME_TYPE = blockly_core__WEBPACK_IMPORTED_MODULE_0__.PROCEDURE_CATEGORY_NAME; /** * Find all user-created procedure definitions in a workspace. * @param {!Blockly.Workspace} root Root workspace. * @return {!Array.>} Pair of arrays, the * first contains procedures without return variables, the second with. * Each procedure is defined by a three-element list of name, parameter * list, and return value boolean. */ Procedures.allProcedures = function (root) { var blocks = root.getAllBlocks(false); var proceduresReturn = []; var proceduresNoReturn = []; for (var i = 0; i < blocks.length; i++) { if (blocks[i].getProcedureDef) { var tuple = blocks[i].getProcedureDef(); if (tuple) { if (tuple[2]) { proceduresReturn.push(tuple); } else { proceduresNoReturn.push(tuple); } } } } proceduresNoReturn.sort(Procedures.procTupleComparator_); proceduresReturn.sort(Procedures.procTupleComparator_); return [proceduresNoReturn, proceduresReturn]; }; /** * Comparison function for case-insensitive sorting of the first element of * a tuple. * @param {!Array} ta First tuple. * @param {!Array} tb Second tuple. * @return {number} -1, 0, or 1 to signify greater than, equality, or less than. * @private */ Procedures.procTupleComparator_ = function (ta, tb) { return ta[0].toLowerCase().localeCompare(tb[0].toLowerCase()); }; /** * Ensure two identically-named procedures don't exist. * Take the proposed procedure name, and return a legal name i.e. one that * is not empty and doesn't collide with other procedures. * @param {string} name Proposed procedure name. * @param {!Blockly.Block} block Block to disambiguate. * @return {string} Non-colliding name. */ Procedures.findLegalName = function (name, block) { if (block.isInFlyout) { // Flyouts can have multiple procedures called 'do something'. return name; } name = name || blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['UNNAMED_KEY'] || 'unnamed'; while (!Procedures.isLegalName_(name, block.workspace, block)) { // Collision with another procedure. var r = name.match(/^(.*?)(\d+)$/); if (!r) { name += '2'; } else { name = r[1] + (parseInt(r[2], 10) + 1); } } return name; }; /** * Does this procedure have a legal name? Illegal names include names of * procedures already defined. * @param {string} name The questionable name. * @param {!Blockly.Workspace} workspace The workspace to scan for collisions. * @param {Blockly.Block=} opt_exclude Optional block to exclude from * comparisons (one doesn't want to collide with oneself). * @return {boolean} True if the name is legal. * @private */ Procedures.isLegalName_ = function (name, workspace, opt_exclude) { return !Procedures.isNameUsed(name, workspace, opt_exclude); }; /** * Return if the given name is already a procedure name. * @param {string} name The questionable name. * @param {!Blockly.Workspace} workspace The workspace to scan for collisions. * @param {Blockly.Block=} opt_exclude Optional block to exclude from * comparisons (one doesn't want to collide with oneself). * @return {boolean} True if the name is used, otherwise return false. */ Procedures.isNameUsed = function (name, workspace, opt_exclude) { var blocks = workspace.getAllBlocks(false); // Iterate through every block and check the name. for (var i = 0; i < blocks.length; i++) { if (blocks[i] == opt_exclude) { continue; } if (blocks[i].getProcedureDef) { var procName = blocks[i].getProcedureDef(); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(procName[0], name)) { return true; } } } return false; }; /** * Rename a procedure. Called by the editable field. * @param {string} name The proposed new name. * @return {string} The accepted name. * @this {Blockly.Field} */ Procedures.rename = function (name) { // Strip leading and trailing whitespace. Beyond this, all names are legal. name = name.trim(); var legalName = Procedures.findLegalName(name, this.getSourceBlock()); var oldName = this.getValue(); if (oldName != name && oldName != legalName) { // Rename any callers. var blocks = this.getSourceBlock().workspace.getAllBlocks(false); for (var i = 0; i < blocks.length; i++) { if (blocks[i].renameProcedure) { blocks[i].renameProcedure(oldName, legalName); } } } return legalName; }; /** * Construct the blocks required by the flyout for the procedure category. * @param {!Blockly.Workspace} workspace The workspace containing procedures. * @return {!Array.} Array of XML block elements. */ Procedures.flyoutCategory = function (workspace) { var xmlList = []; if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['procedures_defnoreturn']) { // // do something // var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'procedures_defnoreturn'); block.setAttribute('gap', 16); var nameField = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field'); nameField.setAttribute('name', 'NAME'); nameField.appendChild(blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode( blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFNORETURN_PROCEDURE'])); block.appendChild(nameField); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['procedures_defreturn']) { // // do something // var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'procedures_defreturn'); block.setAttribute('gap', 16); var nameField = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field'); nameField.setAttribute('name', 'NAME'); nameField.appendChild(blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode( blockly_core__WEBPACK_IMPORTED_MODULE_0__.Msg['PROCEDURES_DEFRETURN_PROCEDURE'])); block.appendChild(nameField); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['procedures_return']) { // var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'procedures_return'); block.setAttribute('gap', 16); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['procedures_ifreturn']) { // var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'procedures_ifreturn'); block.setAttribute('gap', 16); xmlList.push(block); } if (xmlList.length) { // Add slightly larger gap between system blocks and user calls. xmlList[xmlList.length - 1].setAttribute('gap', 24); } function populateProcedures(procedureList, templateName) { for (var i = 0; i < procedureList.length; i++) { var name = procedureList[i][0]; var args = procedureList[i][1]; // // // // // var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', templateName); block.setAttribute('gap', 16); var mutation = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); mutation.setAttribute('name', name); block.appendChild(mutation); for (var j = 0; j < args.length; j++) { var arg = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('arg'); arg.setAttribute('name', args[j]); mutation.appendChild(arg); } xmlList.push(block); } } var tuple = Procedures.allProcedures(workspace); populateProcedures(tuple[0], 'procedures_callnoreturn'); populateProcedures(tuple[1], 'procedures_callreturn'); return xmlList; }; /** * Find all the callers of a named procedure. * @param {string} name Name of procedure. * @param {!Blockly.Workspace} workspace The workspace to find callers in. * @return {!Array.} Array of caller blocks. */ Procedures.getCallers = function (name, workspace) { var callers = []; var blocks = workspace.getAllBlocks(false); // Iterate through every block and check the name. for (var i = 0; i < blocks.length; i++) { if (blocks[i].getProcedureCall) { var procName = blocks[i].getProcedureCall(); // Procedure name may be null if the block is only half-built. if (procName && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(procName, name)) { callers.push(blocks[i]); } } } return callers; }; /** * When a procedure definition changes its parameters, find and edit all its * callers. * @param {!Blockly.Block} defBlock Procedure definition block. */ Procedures.mutateCallers = function (defBlock) { const oldRecordUndo = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.getRecordUndo(); const procedureBlock = defBlock; const name = procedureBlock.getProcedureDef()[0]; const xmlElement = defBlock.mutationToDom(true); const callers = blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures.getCallers(name, defBlock.workspace); for (let i = 0, caller; (caller = callers[i]); i++) { const oldMutationDom = caller.mutationToDom(); const oldMutation = oldMutationDom && blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.domToText(oldMutationDom); if (caller.domToMutation) { caller.domToMutation(xmlElement); } const newMutationDom = caller.mutationToDom(); const newMutation = newMutationDom && blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.domToText(newMutationDom); if (oldMutation !== newMutation) { // Fire a mutation on every caller block. But don't record this as an // undo action since it is deterministically tied to the procedure's // definition mutation. blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setRecordUndo(false); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.fire( new (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.get(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.BLOCK_CHANGE))( caller, 'mutation', null, oldMutation, newMutation, ), ); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setRecordUndo(oldRecordUndo); } } }; /** * Find the definition block for the named procedure. * @param {string} name Name of procedure. * @param {!Blockly.Workspace} workspace The workspace to search. * @return {Blockly.Block} The procedure definition block, or null not found. */ Procedures.getDefinition = function (name, workspace) { // Assume that a procedure definition is a top block. var blocks = workspace.getTopBlocks(false); for (var i = 0; i < blocks.length; i++) { if (blocks[i].getProcedureDef) { var tuple = blocks[i].getProcedureDef(); if (tuple && blockly_core__WEBPACK_IMPORTED_MODULE_0__.Names.equals(tuple[0], name)) { return blocks[i]; } } } return null; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Procedures); /***/ }), /***/ "../python/others/variables.js": /*!*************************************!*\ !*** ../python/others/variables.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /** * @license * Visual Blocks Editor * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Utility functions for handling variables. * @author fraser@google.com (Neil Fraser) */ const Variables = {}; /** * Category to separate variable names from procedures and generated functions. */ Variables.NAME_TYPE = 'VARIABLE'; /** * Find all user-created variables. * @param {!Blockly.Block|!Blockly.Workspace} root Root block or workspace. * @return {!Array.} Array of variable names. */ Variables.allVariables = function (root) { var blocks; if (root.getDescendants) { // Root is Block. blocks = root.getDescendants(); } else if (root.getAllBlocks) { // Root is Workspace. blocks = root.getAllBlocks(); } else { throw 'Not Block or Workspace: ' + root; } var variableHash = Object.create(null); // Iterate through every block and add each variable to the hash. for (var x = 0; x < blocks.length; x++) { var blockVariables = blocks[x].getVars(); for (var y = 0; y < blockVariables.length; y++) { var varName = blockVariables[y]; // Variable name may be null if the block is only half-built. if (varName) { variableHash[varName.toLowerCase()] = varName; } } } // Flatten the hash into a list. var variableList = []; for (var name in variableHash) { variableList.push(variableHash[name]); } return variableList; }; /** * Find all instances of the specified variable and rename them. * @param {string} oldName Variable to rename. * @param {string} newName New variable name. * @param {!Blockly.Workspace} workspace Workspace rename variables in. */ Variables.renameVariable = function (oldName, newName, workspace) { blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(true); var blocks = workspace.getAllBlocks(); // Iterate through every block. for (var i = 0; i < blocks.length; i++) { blocks[i].renameVar(oldName, newName); } blockly_core__WEBPACK_IMPORTED_MODULE_0__.Events.setGroup(false); }; /** * Construct the blocks required by the flyout for the variable category. * @param {!Blockly.Workspace} workspace The workspace contianing variables. * @return {!Array.} Array of XML block elements. */ Variables.flyoutCategory = function (workspace) { var variableList = Variables.allVariables(workspace); //variableList.sort(goog.string.caseInsensitiveCompare); // In addition to the user's variables, we also want to display the default // variable name at the top. We also don't want this duplicated if the // user has created a variable of the same name. // alert(variableList) // goog.array.remove(variableList, Blockly.Msg.VARIABLES_DEFAULT_NAME); // variableList.unshift(Blockly.Msg.VARIABLES_DEFAULT_NAME); var xmlList = []; var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'variables_global'); xmlList.push(block); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_set']) { //增加variables_declare模块 var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'variables_set'); xmlList.push(block); }//change tyep /* if (Blockly.Blocks['variables_change']) { //增加variables_declare模块 var block = Blockly.utils.xml.createElement('block'); block.setAttribute('type', 'variables_change'); xmlList.push(block); }*/ if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_change']) { //增加variables_declare模块 var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'variables_change'); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['controls_type']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'controls_type'); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['controls_typeLists']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'controls_typeLists'); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['lists_zip']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'lists_zip'); block.setAttribute('inline', 'false'); var mutation = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('mutation'); mutation.setAttribute('items', 2); block.appendChild(mutation); for (let i = 0; i < 2; i++) { let add = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('value'); add.setAttribute('name', `ADD${i}`); // let childBlock = Blockly.utils.xml.createElement('block'); // childBlock.setAttribute('type', 'list_many_input'); // let field = Blockly.utils.xml.createElement('field'); // let value = Blockly.utils.xml.createTextNode('0,1,2,3'); // field.setAttribute('name', 'CONTENT'); // field.appendChild(value); // childBlock.appendChild(field); // add.appendChild(childBlock); block.appendChild(add); } xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['unpack_iterable_object']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'unpack_iterable_object'); xmlList.push(block); } for (var i = 0; i < variableList.length; i++) { // alert(variableList) // if(i==0&& !(Blockly.Python.setups_['variables_set'+''])){ // continue; // } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_set']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'variables_set'); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_get']) { block.setAttribute('gap', 8); } var field = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field', null, variableList[i]); field.setAttribute('name', 'VAR'); var name = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode(variableList[i]); field.appendChild(name); block.appendChild(field); xmlList.push(block); } if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_get']) { var block = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('block'); block.setAttribute('type', 'variables_get'); if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks['variables_set']) { block.setAttribute('gap', 24); } var field = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createElement('field', null, variableList[i]); field.setAttribute('name', 'VAR'); var name = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.xml.createTextNode(variableList[i]); field.appendChild(name); block.appendChild(field); xmlList.push(block); } } return xmlList; }; /** * Return a new variable name that is not yet being used. This will try to * generate single letter variable names in the range 'i' to 'z' to start with. * If no unique name is located it will try 'i' to 'z', 'a' to 'h', * then 'i2' to 'z2' etc. Skip 'l'. * @param {!Blockly.Workspace} workspace The workspace to be unique in. * @return {string} New variable name. */ Variables.generateUniqueName = function (workspace) { var variableList = Variables.allVariables(workspace); var newName = ''; if (variableList.length) { var nameSuffix = 1; var letters = 'ijkmnopqrstuvwxyzabcdefgh'; // No 'l'. var letterIndex = 0; var potName = letters.charAt(letterIndex); while (!newName) { var inUse = false; for (var i = 0; i < variableList.length; i++) { if (variableList[i].toLowerCase() == potName) { // This potential name is already used. inUse = true; break; } } if (inUse) { // Try the next potential name. letterIndex++; if (letterIndex == letters.length) { // Reached the end of the character sequence so back to 'i'. // a new suffix. letterIndex = 0; nameSuffix++; } potName = letters.charAt(letterIndex); if (nameSuffix > 1) { potName += nameSuffix; } } else { // We can use the current potential name. newName = potName; } } } else { newName = 'i'; } return newName; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Variables); /***/ }), /***/ "../python/python_generator.js": /*!*************************************!*\ !*** ../python/python_generator.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Python: () => (/* binding */ Python) /* harmony export */ }); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _others_names__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./others/names */ "../python/others/names.js"); /* Overrides for generic Python code generation. */ /** * Python code generator. * @type {!Blockly.Generator} */ const Python = new blockly_core__WEBPACK_IMPORTED_MODULE_0__.Generator('Python'); Python.INDENT = " "; /** * List of illegal variable names. * This is not intended to be a security feature. Blockly is 100% client-side, * so bypassing this list is trivial. This is intended to prevent users from * accidentally clobbering a built-in object or function. * @private */ Python.addReservedWords( // import keyword // print(','.join(sorted(keyword.kwlist))) // https://docs.python.org/3/reference/lexical_analysis.html#keywords // https://docs.python.org/2/reference/lexical_analysis.html#keywords 'False,None,True,and,as,assert,break,class,continue,def,del,elif,else,' + 'except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,' + 'or,pass,print,raise,return,try,while,with,yield,' + // https://docs.python.org/3/library/constants.html // https://docs.python.org/2/library/constants.html 'NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,' + // >>> print(','.join(sorted(dir(__builtins__)))) // https://docs.python.org/3/library/functions.html // https://docs.python.org/2/library/functions.html 'ArithmeticError,AssertionError,AttributeError,BaseException,' + 'BlockingIOError,BrokenPipeError,BufferError,BytesWarning,' + 'ChildProcessError,ConnectionAbortedError,ConnectionError,' + 'ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,' + 'Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,' + 'FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,' + 'ImportWarning,IndentationError,IndexError,InterruptedError,' + 'IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,' + 'ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,' + 'NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,' + 'PermissionError,ProcessLookupError,RecursionError,ReferenceError,' + 'ResourceWarning,RuntimeError,RuntimeWarning,StandardError,' + 'StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,' + 'SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,' + 'UnicodeDecodeError,UnicodeEncodeError,UnicodeError,' + 'UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,' + 'ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,' + '__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,' + 'basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,' + 'coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,' + 'enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,' + 'getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,' + 'issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,' + 'next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,' + 'reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,' + 'sum,super,tuple,type,unichr,unicode,vars,xrange,zip' ); /** * Order of operation ENUMs. * http://docs.python.org/reference/expressions.html#summary */ Python.ORDER_ATOMIC = 0; // 0 "" ... Python.ORDER_COLLECTION = 1; // tuples, lists, dictionaries Python.ORDER_STRING_CONVERSION = 1; // `expression...` Python.ORDER_UNARY_POSTFIX = 1; // expr++ expr-- () [] . Python.ORDER_UNARY_PREFIX = 2; // -expr !expr ~expr ++expr --expr Python.ORDER_MEMBER = 2.1; // . [] Python.ORDER_FUNCTION_CALL = 2.2; // () Python.ORDER_EXPONENTIATION = 3; // ** Python.ORDER_UNARY_SIGN = 4; // + - Python.ORDER_BITWISE_NOT = 4; // ~ Python.ORDER_MULTIPLICATIVE = 5; // * / // % Python.ORDER_ADDITIVE = 6; // + - Python.ORDER_BITWISE_SHIFT = 7; // << >> Python.ORDER_BITWISE_AND = 8; // & Python.ORDER_BITWISE_XOR = 9; // ^ Python.ORDER_BITWISE_OR = 10; // | Python.ORDER_RELATIONAL = 11; // in, not in, is, is not, // <, <=, >, >=, <>, !=, == Python.ORDER_EQUALITY = 11; // == != === !== Python.ORDER_LOGICAL_NOT = 12; // not Python.ORDER_LOGICAL_AND = 13; // and Python.ORDER_LOGICAL_OR = 14; // or Python.ORDER_ASSIGNMENT = 14; // = *= /= ~/= %= += -= <<= >>= &= ^= |= Python.ORDER_CONDITIONAL = 15; // if else Python.ORDER_LAMBDA = 16; // lambda Python.ORDER_NONE = 99; // (...) /** * List of outer-inner pairings that do NOT require parentheses. * @type {!Array.>} */ Python.ORDER_OVERRIDES = [ // (foo()).bar -> foo().bar // (foo())[0] -> foo()[0] [Python.ORDER_FUNCTION_CALL, Python.ORDER_MEMBER], // (foo())() -> foo()() [Python.ORDER_FUNCTION_CALL, Python.ORDER_FUNCTION_CALL], // (foo.bar).baz -> foo.bar.baz // (foo.bar)[0] -> foo.bar[0] // (foo[0]).bar -> foo[0].bar // (foo[0])[1] -> foo[0][1] [Python.ORDER_MEMBER, Python.ORDER_MEMBER], // (foo.bar)() -> foo.bar() // (foo[0])() -> foo[0]() [Python.ORDER_MEMBER, Python.ORDER_FUNCTION_CALL], // not (not foo) -> not not foo // [Python.ORDER_LOGICAL_NOT, Python.ORDER_LOGICAL_NOT], // a and (b and c) -> a and b and c // [Python.ORDER_LOGICAL_AND, Python.ORDER_LOGICAL_AND], // a or (b or c) -> a or b or c // [Python.ORDER_LOGICAL_OR, Python.ORDER_LOGICAL_OR] ]; Python.init = function () { /** * Empty loops or conditionals are not allowed in Python. */ Python.PASS = this.INDENT + 'pass\n'; // Create a dictionary of definitions to be printed before the code. Python.definitions_ = Object.create(null); // Create a dictionary mapping desired function names in definitions_ // to actual function names (to avoid collisions with user functions). Python.functionNames_ = Object.create(null); Python.setups_ = Object.create(null); Python.loops_ = Object.create(null); Python.codeEnd_ = Object.create(null); if (!Python.variableDB_) { Python.variableDB_ = new _others_names__WEBPACK_IMPORTED_MODULE_1__["default"](Python.RESERVED_WORDS_); } else { Python.variableDB_.reset(); } } Python.finish = function (code) { // Convert the definitions dictionary into a list. if (code !== "") { code = code.replace(/\n/g, '\n'); code = code.replace(/\n\s+$/, '\n'); } var imports = []; var definitions_var = []; //变量定义 var definitions_fun = []; //函数定义 for (var name in this.definitions_) { var def = this.definitions_[name]; if (name.indexOf('import') === 0) { imports.push(def); } else if (name.indexOf('var_declare') === 0) { definitions_var.push(def); } else { definitions_fun.push(def); } } if (imports.length) { imports.push('\n\n'); } if (definitions_var.length) { definitions_var.push('\n\n'); } if (definitions_fun.length) { definitions_fun.push('\n\n'); } var functions = []; for (var name in Python.functions_) { functions.push(Python.functions_[name]); } if (functions.length) { functions.push('\n\n'); } var setups = []; for (var name in Python.setups_) { setups.push(Python.setups_[name]); } if (setups.length) { setups.push('\n\n'); } var loops = []; for (var name in Python.loops_) { loops.push(Python.loops_[name]); } var codeEnd = []; for (var name in Python.codeEnd_) { codeEnd.push(Python.codeEnd_[name]); } if (codeEnd.length !== 0) { codeEnd.push('\n'); } if (loops.length > 0) { return imports.join('\n') + definitions_var.join('\n') + definitions_fun.join('\n') + functions.join('\n') + setups.join('') + code + 'while True:\n' + loops.join('') + codeEnd.join('\n'); } return imports.join('\n') + definitions_var.join('\n') + definitions_fun.join('\n') + functions.join('\n') + setups.join('') + code + codeEnd.join('\n'); } /** * Naked values are top-level blocks with outputs that aren't plugged into * anything. * @param {string} line Line of generated code. * @return {string} Legal line of code. */ Python.scrubNakedValue = function (line) { return line + '\n'; } /** * Encode a string as a properly escaped Python string, complete with quotes. * @param {string} string Text to encode. * @return {string} Python string. * @private */ Python.quote_ = function (string) { // Can't use goog.string.quote since % must also be escaped. string = string.replace(/\\/g, '\\\\') .replace(/\n/g, '\\\n'); // Follow the CPython behaviour of repr() for a non-byte string. var quote = '\''; if (string.indexOf('\'') !== -1) { if (string.indexOf('"') === -1) { quote = '"'; } else { string = string.replace(/'/g, '\\\''); } } return quote + string + quote; } /** * Encode a string as a properly escaped multiline Python string, complete * with quotes. * @param {string} string Text to encode. * @return {string} Python string. * @private */ Python.multiline_quote_ = function (string) { // Can't use goog.string.quote since % must also be escaped. string = string.replace(/'''/g, '\\\'\\\'\\\''); return '\'\'\'' + string + '\'\'\''; } /** * Common tasks for generating Python from blocks. * Handles comments for the specified block and any connected value blocks. * Calls any statements following this block. * @param {!Blockly.Block} block The current block. * @param {string} code The Python code created for this block. * @param {boolean=} opt_thisOnly True to generate code for only this statement. * @return {string} Python code with comments and subsequent blocks added. * @private */ Python.scrub_ = function (block, code, opt_thisOnly) { var commentCode = ''; // Only collect comments for blocks that aren't inline. if (!block.outputConnection || !block.outputConnection.targetConnection) { // Collect comment for this block. var comment = block.getCommentText(); if (comment) { comment = blockly_core__WEBPACK_IMPORTED_MODULE_0__.utils.string.wrap(comment, Python.COMMENT_WRAP - 3); commentCode += Python.prefixLines(comment + '\n', '# '); } // Collect comments for all value arguments. // Don't collect comments for nested statements. for (var i = 0; i < block.inputList.length; i++) { if (block.inputList[i].type == blockly_core__WEBPACK_IMPORTED_MODULE_0__.INPUT_VALUE) { var childBlock = block.inputList[i].connection.targetBlock(); if (childBlock) { var comment = Python.allNestedComments(childBlock); if (comment) { commentCode += Python.prefixLines(comment, '# '); } } } } } var nextBlock = block.nextConnection && block.nextConnection.targetBlock(); var nextCode = opt_thisOnly ? '' : Python.blockToCode(nextBlock); return commentCode + code + nextCode; } /** * Gets a property and adjusts the value, taking into account indexing, and * casts to an integer. * @param {!Blockly.Block} block The block. * @param {string} atId The property ID of the element to get. * @param {number=} opt_delta Value to add. * @param {boolean=} opt_negate Whether to negate the value. * @return {string|number} */ Python.getAdjustedInt = function (block, atId, opt_delta, opt_negate) { var delta = opt_delta || 0; if (block.workspace.options.oneBasedIndex) { delta--; } var defaultAtIndex = block.workspace.options.oneBasedIndex ? '1' : '0'; var atOrder = delta ? Python.ORDER_ADDITIVE : Python.ORDER_NONE; var at = Python.valueToCode(block, atId, atOrder) || defaultAtIndex; if (blockly_core__WEBPACK_IMPORTED_MODULE_0__.isNumber(at)) { // If the index is a naked number, adjust it right now. at = parseInt(at, 10) + delta; if (opt_negate) { at = -at; } } else { // If the index is dynamic, adjust it in code. if (delta > 0) { at = 'int(' + at + ' + ' + delta + ')'; } else if (delta < 0) { at = 'int(' + at + ' - ' + -delta + ')'; } else { at = 'int(' + at + ')'; } if (opt_negate) { at = '-' + at; } } return at; } /***/ }), /***/ "./css/color_esp32c3_mixgocc.css": /*!***************************************!*\ !*** ./css/color_esp32c3_mixgocc.css ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "blockly/core": /*!**************************!*\ !*** external "Blockly" ***! \**************************/ /***/ ((module) => { module.exports = Blockly; /***/ }), /***/ "mixly": /*!************************!*\ !*** external "Mixly" ***! \************************/ /***/ ((module) => { module.exports = Mixly; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; /*!******************!*\ !*** ./index.js ***! \******************/ __webpack_require__.r(__webpack_exports__); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! blockly/core */ "blockly/core"); /* harmony import */ var blockly_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(blockly_core__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mixly */ "mixly"); /* harmony import */ var mixly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mixly__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _mixly_python__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mixly/python */ "../python/export.js"); /* harmony import */ var _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mixly/micropython */ "../micropython/export.js"); /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ */ "./export.js"); /* harmony import */ var _css_color_esp32c3_mixgocc_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./css/color_esp32c3_mixgocc.css */ "./css/color_esp32c3_mixgocc.css"); Object.assign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Variables, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.Variables); Object.assign(blockly_core__WEBPACK_IMPORTED_MODULE_0__.Procedures, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.Procedures); blockly_core__WEBPACK_IMPORTED_MODULE_0__.Python = _mixly_python__WEBPACK_IMPORTED_MODULE_2__.Python; blockly_core__WEBPACK_IMPORTED_MODULE_0__.generator = _mixly_python__WEBPACK_IMPORTED_MODULE_2__.Python; mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default = {}; Object.assign(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2Pins); Object.assign(mixly__WEBPACK_IMPORTED_MODULE_1__.Profile.default, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2Pins['MixGo CC']); Object.assign( blockly_core__WEBPACK_IMPORTED_MODULE_0__.Blocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonVariablesBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonControlBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonMathBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonTextBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonListsBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonDictsBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonLogicBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonStorageBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonProceduresBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonTupleBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonSetBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonHtmlBlocks, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonUtilityBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonInputBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSystemBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSerialBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCommunicateBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonIotBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonWeatherBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonAISensorBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSensorOnBoardBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSensorExternBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonNetworkBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonAIBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonActuatorOnBoardBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonActuatorExternBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonDisplayOnBoardBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonDisplayExternBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonFactoryBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonBlynkBlocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCCG1Blocks, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCEGOBlocks, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2InoutBlocks, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2MiniG2Blocks, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2MEGOBlocks, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2PinsBlocks ); Object.assign( blockly_core__WEBPACK_IMPORTED_MODULE_0__.Python.forBlock, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonVariablesGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonControlGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonMathGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonTextGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonListsGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonDictsGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonLogicGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonStorageGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonProceduresGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonTupleGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonSetGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonHtmlGenerators, _mixly_python__WEBPACK_IMPORTED_MODULE_2__.PythonUtilityGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonInputGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSystemGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSerialGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCommunicateGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonIotGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonWeatherGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonAISensorGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSensorOnBoardGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonSensorExternGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonNetworkGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonAIGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonActuatorOnBoardGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonActuatorExternGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonDisplayOnBoardGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonDisplayExternGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonFactoryGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonBlynkGenerators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCCG1Generators, _mixly_micropython__WEBPACK_IMPORTED_MODULE_3__.MicroPythonCEGOGenerators, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2InoutGenerators, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2MiniG2Generators, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2MEGOGenerators, ___WEBPACK_IMPORTED_MODULE_4__.MicropythonESP32C2PinsGenerators ); /******/ })() ; //# sourceMappingURL=main.bundle.js.map