'use strict'; goog.provide('Blockly.Blocks.CocoRobo'); goog.require('Blockly.Blocks'); var musical_note = [ ["C3", "C3"], ["C#3", "C#3"], ["D3", "D3"], ["D#3", "D#3"], ["E3", "E3"], ["F3", "F3"], ["F#3", "F#3"], ["G3", "G3"], ["G#3", "G#3"], ["A3", "A3"], ["A#3", "A#3"], ["B3", "B3"], ["C4", "C4"], ["C#4", "C#4"], ["D4", "D4"], ["D#4", "D#4"], ["E4", "E4"], ["F4", "F4"], ["F#4", "F#4"], ["G4", "G4"], ["G#4", "G#4"], ["A4", "A4"], ["A#4", "A#4"], ["B4", "B4"], ["C5", "C5"], ["C#5", "C#5"], ["D5", "D5"], ["D#5", "D#5"], ["E5", "E5"], ["F5", "F5"], ["F#5", "F#5"], ["G5", "G5"], ["G#5", "G#5"], ["A5", "A5"], ["A#5", "A#5"], ["B5", "B5"] ], music_tone_freq = [ ["C3", "131"], ["C#3", "139"], ["D3", "147"], ["D#3", "156"], ["E3", "165"], ["F3", "175"], ["F#3", "185"], ["G3", "196"], ["G#3", "208"], ["A3", "220"], ["A#3", "233"], ["B3", "247"], ["C4", "262"], ["C#4", "277"], ["D4", "294"], ["D#4", "311"], ["E4", "330"], ["F4", "349"], ["F#4", "370"], ["G4", "392"], ["G#4", "415"], ["A4", "440"], ["A#4", "466"], ["B4", "494"], ["C5", "523"], ["C#5", "554"], ["D5", "587"], ["D#5", "622"], ["E5", "659"], ["F5", "698"], ["F#5", "740"], ["G5", "784"], ["G#5", "831"], ["A5", "880"], ["A#5", "932"], ["B5", "988"] ], music_tick = [ ["1/4", "1"], ["1/2", "2"], ["1", "4"], ["2", "8"] ], usocket_color = 32, logic_color = 210, CocoRobo_bluebit_color = "#336699", list_color = Blockly.Blocks.lists.HUE, math_color = 230, event_color = 32, lcd_color = 96, buttonColor = 300, pinColor = 260, rgbColor = 0, buzzColor = 192, tuple_color = 192, dict_color = 32, accelerometerColor = 55, wifi_color = 160, iot_color = 64, iot_blynk_color = "#24c48e", iot_onenet_color = 64, iot_tinyweb_color = 160, set_color = 160, extend_color = 288, bluetooth_color = "#a101e5", purple_red = 328, wine_red = rgbColor, brown = event_color, green = lcd_color, light_blue = tuple_color, purple = pinColor, light_green = wifi_color, yellow_green = iot_onenet_color, bright_green = iot_blynk_color, bright_purple = extend_color, deep_blue = CocoRobo_bluebit_color, read_digital = [ ["P0", "0"], ["P1", "1"], ["P2", "2"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], read_analog = [ ["P0", "0"], ["P1", "1"], ["P2", "2"], ["P3(EXT)", "3"], ["P4(light)", "4"], ["P10(sound)", "10"] ], read_analog_1 = [ ["P1", "1"], ["P0", "0"], ["P2", "2"], ["P3(EXT)", "3"], ["P4(light)", "4"], ["P10(sound)", "10"] ], set_digital_state = [ ["LOW", "0"], ["HIGH", "1"] ], set_digital = [ ["P0", "0"], ["P1", "1"], ["P5(button_A)", "5"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P11(button_B)", "11"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], set_digital_1 = [ ["P1", "1"], ["P0", "0"], ["P5(button_A)", "5"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], set_analog = [ ["P0", "0"], ["P1", "1"], ["P5(button_A)", "5"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P11(button_B)", "11"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], set_analog_1 = [ ["P1", "1"], ["P0", "0"], ["P5(button_A)", "5"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], all_pin = [ ["P0", "0"], ["P1", "1"], ["P2", "2"], ["P3(EXT)", "3"], ["P4(light)", "4"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P10", "10"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], buzz_tone = [ ["do", "262"], ["re", "294"], ["mi", "330"], ["fa", "349"], ["sol", "392"], ["la", "440"], ["si", "494"] ], dh11_hum_tem_pin = [ ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], text_color = 160, touchPad = [ ["P", "P"], ["Y", "Y"], ["T", "T"], ["H", "H"], ["O", "O"], ["N", "N"] ], axis = [ ["X", "X"], ["Y", "Y"], ["Z", "Z"] ], WiFi_config = [ ["IP", "0"], ["gateway", "3"] ] //, ["netmask", "2"], ["DNS", "3"] , WiFi_channel = [ ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"] ], button_AB = [ ["A", "button_a"], ["B", "button_b"] ], uart_tx_pin = [ ["P16", "16"], ["P0", "0"], ["P1", "1"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], uart_rx_pin = [ ["P15", "15"], ["P0", "0"], ["P1", "1"], ["P2", "2"], ["P3(EXT)", "3"], ["P4(light)", "4"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P10", "10"], ["P13", "13"], ["P14", "14"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], i2c_pin = [ ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ], output_pin = [ ["P0", "0"], ["P1", "1"], ["P6(buzzer)", "6"], ["P7(RGB)", "7"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19(SCL)", "19"], ["P20(SDA)", "20"] ]; Blockly.Blocks.i2c_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.I2C_PIN_HELPURL, tooltip: Blockly.Msg.I2C_PIN_TOOLTIP, message0: Blockly.Msg.I2C_PIN_MESSAGE0, args0: [{ options: i2c_pin, type: "field_dropdown", name: "i2c_pin" }] }) } }; Blockly.Blocks.uart_rx_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.UART_RX_PIN_HELPURL, tooltip: Blockly.Msg.UART_RX_PIN_TOOLTIP, message0: Blockly.Msg.UART_RX_PIN_MESSAGE0, args0: [{ options: uart_rx_pin, type: "field_dropdown", name: "uart_rx_pin" }] }) } }; Blockly.Blocks.uart_tx_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.UART_TX_PIN_HELPURL, tooltip: Blockly.Msg.UART_TX_PIN_TOOLTIP, message0: Blockly.Msg.UART_TX_PIN_MESSAGE0, args0: [{ options: uart_tx_pin, type: "field_dropdown", name: "uart_tx_pin" }] }) } }; Blockly.Blocks.dh11_hum_tem_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.DH11_HUM_TEM_PIN_HELPURL, tooltip: Blockly.Msg.DH11_HUM_TEM_PIN_TOOLTIP, message0: Blockly.Msg.DH11_HUM_TEM_PIN_MESSAGE0, args0: [{ options: dh11_hum_tem_pin, type: "field_dropdown", name: "dh11_hum_tem_pin" }] }) } }; Blockly.Blocks.pwm_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.PWM_PIN_HELPURL, tooltip: Blockly.Msg.PWM_PIN_TOOLTIP, message0: Blockly.Msg.PWM_PIN_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_PWM_PIN_P7, "7"], ["P8", "8"], [Blockly.Msg.CocoRobo_PWM_PIN_P9, "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"] ], type: "field_dropdown", name: "pwm_pin" }] }) } }; Blockly.Blocks.all_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.ALL_PIN_HELPURL, tooltip: Blockly.Msg.ALL_PIN_TOOLTIP, message0: Blockly.Msg.ALL_PIN_MESSAGE0, args0: [{ options: all_pin, type: "field_dropdown", name: "all_pin" }] }) } }; Blockly.Blocks.set_digital = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.SET_DIGITAL_HELPURL, tooltip: Blockly.Msg.SET_DIGITAL_TOOLTIP, message0: Blockly.Msg.SET_DIGITAL_MESSAGE0, args0: [{ options: set_digital, type: "field_dropdown", name: "set_digital" }] }) } }; Blockly.Blocks.set_analog = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.SET_ANALOG_HELPURL, tooltip: Blockly.Msg.SET_ANALOG_TOOLTIP, message0: Blockly.Msg.SET_ANALOG_MESSAGE0, args0: [{ options: set_analog, type: "field_dropdown", name: "set_analog" }] }) } }; Blockly.Blocks.read_analog_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.READ_ANALOG_PIN_HELPURL, tooltip: Blockly.Msg.READ_ANALOG_PIN_TOOLTIP, message0: Blockly.Msg.READ_ANALOG_PIN_MESSAGE0, args0: [{ options: read_analog, type: "field_dropdown", name: "read_analog_pin" }] }) } }; Blockly.Blocks.input_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.INPUT_PIN_HELPURL, tooltip: Blockly.Msg.INPUT_PIN_TOOLTIP, message0: Blockly.Msg.INPUT_PIN_MESSAGE0, args0: [{ options: all_pin, type: "field_dropdown", name: "input_pin" }] }) } }; Blockly.Blocks.output_pin = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.OUTPUT_PIN_HELPURL, tooltip: Blockly.Msg.OUTPUT_PIN_TOOLTIP, message0: Blockly.Msg.OUTPUT_PIN_MESSAGE0, args0: [{ options: output_pin, type: "field_dropdown", name: "output_pin" }] }) } }; function getFirstProvince() { for (var a in CITYS_DATA) return a; return "" } function getCitysByProvince(a) { var b = [], c; for (c in CITYS_DATA[a]) b.push([c, c]); return b } var PROVINCES = [], key; for (key in CITYS_DATA) PROVINCES.push([key, key]); var CITYS = getCitysByProvince(getFirstProvince()); Blockly.Blocks.china_city = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Weather, helpUrl: "", tooltip: "", message0: Blockly.Msg.CHINA_CITY_MESSAGE0, args0: [{ options: PROVINCES, type: "field_dropdown", name: "province" }, { options: CITYS, type: "field_dropdown", name: "city" }] }) } }; Blockly.Blocks.china_city_town = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Wifi, helpUrl: "", tooltip: "", message0: Blockly.Msg.CHINA_CITY_TOWN_MESSAGE0, args0: [{ options: PROVINCES, type: "field_dropdown", name: "province" }, { options: CITYS, type: "field_dropdown", name: "city" }, { options: [ ["-", "-"] ], type: "field_dropdown", name: "town" }, { options: [ [Blockly.Msg.CHINA_CITY_PINYIN, "pinyin"], [Blockly.Msg.CHINA_CITY_CNNAME, "cnname"] ], type: "field_dropdown", name: "type" }] }) } }; Blockly.Blocks.int_to_chr = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Math, helpUrl: Blockly.Msg.INT_TO_CHR_HELPURL, tooltip: Blockly.Msg.INT_TO_CHR_TOOLTIP, message0: Blockly.Msg.INT_TO_CHR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "_int" }] }) } }; Blockly.Blocks.CocoRobo_hcsr04_obj = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.General, helpUrl: Blockly.Msg.CocoRobo_HCSR04_OBJ_HELPURL, tooltip: Blockly.Msg.CocoRobo_HCSR04_OBJ_TOOLTIP, message0: Blockly.Msg.CocoRobo_HCSR04_OBJ_MESSAGE0, args0: [{ text: "hcsr04", type: "field_input", name: "hcsr04_name" }, { check: "Number", type: "input_value", name: "trigger" }, { check: "Number", type: "input_value", name: "echo" }] }) } }; Blockly.Blocks.CocoRobo_hcsr04_distance = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.General, helpUrl: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_HELPURL, tooltip: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_TOOLTIP, message0: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MESSAGE0, args0: [{ text: "hcsr04", type: "field_input", name: "hcsr04_name" }, { options: [ ["mm", "mm"], ["cm", "cm"] ], type: "field_dropdown", name: "unit" }] }) } }; Blockly.Blocks.CocoRobo_hcsr04_distance_mm = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_HELPURL, tooltip: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_TOOLTIP, message0: Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_MESSAGE0, args0: [{ text: "hcsr04", type: "field_input", name: "hcsr04_name" }] }) } }; Blockly.Blocks.CocoRobo_pm2_5_MIC = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.General, helpUrl: Blockly.Msg.CocoRobo_PM2_5_MIC_HELPURL, tooltip: Blockly.Msg.CocoRobo_PM2_5_MIC_TOOLTIP, message0: Blockly.Msg.CocoRobo_PM2_5_MIC_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "rx" }, { options: [ ["PM1.0ug/m3", "_pm_data[0]"], ["PM2.5ug/m3", "_pm_data[1]"], ["PM10ug/m3", "_pm_data[2]"] ], type: "field_dropdown", name: "unit" }] }) } }; Blockly.Blocks.CocoRobo_pm2_5_LitresAir = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.General, helpUrl: Blockly.Msg.CocoRobo_PM2_5_LitresAir_HELPURL, tooltip: Blockly.Msg.CocoRobo_PM2_5_LitresAir_TOOLTIP, message0: Blockly.Msg.CocoRobo_PM2_5_LitresAir_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "rx" }, { options: [ ["0.3um", "_pm_data[3]"], ["0.5um", "_pm_data[4]"], ["1um", "_pm_data[5]"], ["2.5um", "_pm_data[6]"], ["5um", "_pm_data[7]"], ["10um", "_pm_data[8]"] ], type: "field_dropdown", name: "unit" }] }) } }; Blockly.Blocks.CocoRobo_mac_address = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: "X" == SOFTWARE_KEY ? CategoryColors.System : CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_MAC_ADDRESS_HELPURL, tooltip: Blockly.Msg.CocoRobo_MAC_ADDRESS_TOOLTIP, message0: Blockly.Msg.CocoRobo_MAC_ADDRESS_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_ujson_loads = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_UJSON_LOADS_HELPURL, tooltip: Blockly.Msg.CocoRobo_UJSON_LOADS_TOOLTIP, message0: Blockly.Msg.CocoRobo_UJSON_LOADS_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_code_annotation = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, // output: null, colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_code_annotation_HELPURL, tooltip: Blockly.Msg.CocoRobo_code_annotation_TOOLTIP, message0: Blockly.Msg.CocoRobo_code_annotation_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_ujson_dumps = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_UJSON_DUMPS_HELPURL, tooltip: Blockly.Msg.CocoRobo_UJSON_DUMPS_TOOLTIP, message0: Blockly.Msg.CocoRobo_UJSON_DUMPS_MESSAGE0, args0: [{ type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_base64_to_data = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_BASE64_TO_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_BASE64_TO_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_BASE64_TO_DATA_MESSAGE0, args0: [{ type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_data_to_base64 = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_DATA_TO_BASE64_HELPURL, tooltip: Blockly.Msg.CocoRobo_DATA_TO_BASE64_TOOLTIP, message0: Blockly.Msg.CocoRobo_DATA_TO_BASE64_MESSAGE0, args0: [{ type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_hex_to_bin_str = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_HELPURL, tooltip: Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_TOOLTIP, message0: Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "convert_chr" }] }) } }; Blockly.Blocks.CocoRobo_str_to_hex = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_STR_TO_HEX_HELPURL, tooltip: Blockly.Msg.CocoRobo_STR_TO_HEX_TOOLTIP, message0: Blockly.Msg.CocoRobo_STR_TO_HEX_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "convert_chr" }] }) } }; Blockly.Blocks.CocoRobo_chr_to_int = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_CHR_TO_INT_HELPURL, tooltip: Blockly.Msg.CocoRobo_CHR_TO_INT_TOOLTIP, message0: Blockly.Msg.CocoRobo_CHR_TO_INT_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "convert_chr" }] }) } }; Blockly.Blocks.CocoRobo_int_to_chr = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_INT_TO_CHR_HELPURL, tooltip: Blockly.Msg.CocoRobo_INT_TO_CHR_TOOLTIP, message0: Blockly.Msg.CocoRobo_INT_TO_CHR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "convert_num" }] }) } }; Blockly.Blocks.CocoRobo_ten_converted_to_bytes = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_HELPURL, // tooltip: Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_TOOLTIP, message0: Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_MESSAGE0, args0: [{ options: [ ["2", "'\x3cH'"], ["4", "'\x3cL'"] ], type: "field_dropdown", name: "convert_choice" }, { check: "Number", type: "input_value", name: "convert_num" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('convert_choice'); var TOOLTIPS = { "'\x3cHH'": Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_TOOLTIP.replace('%1', "2"), "'\x3cLL'": Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_TOOLTIP.replace('%1', "4") }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.CocoRobo_convert_to_ten = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_CONVERT_TO_TEN_HELPURL, // tooltip: Blockly.Msg.CocoRobo_CONVERT_TO_TEN_TOOLTIP, message0: Blockly.Msg.CocoRobo_CONVERT_TO_TEN_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_BIN, "2"], [Blockly.Msg.CocoRobo_OCT, "8"], [Blockly.Msg.CocoRobo_HEX, "16"] ], type: "field_dropdown", name: "convert_choice" }, { check: "String", type: "input_value", name: "convert_str" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('convert_choice'); var TOOLTIPS = { '2': Blockly.Msg.CocoRobo_CONVERT_TO_TEN_TOOLTIP.replace('%2', "bin"), '8': Blockly.Msg.CocoRobo_CONVERT_TO_TEN_TOOLTIP.replace('%2', "oct"), '16': Blockly.Msg.CocoRobo_CONVERT_TO_TEN_TOOLTIP.replace('%2', "hex") }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.CocoRobo_ten_convert_to = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Math, helpUrl: Blockly.Msg.CocoRobo_TEN_CONVERT_TO_HELPURL, // tooltip: Blockly.Msg.CocoRobo_TEN_CONVERT_TO_TOOLTIP, message0: Blockly.Msg.CocoRobo_TEN_CONVERT_TO_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "int_num" }, { options: [ [Blockly.Msg.CocoRobo_BIN, "bin"], [Blockly.Msg.CocoRobo_OCT, "oct"], [Blockly.Msg.CocoRobo_HEX, "hex"] ], type: "field_dropdown", name: "ten_convert_to" }] }); var thisBlock = this; this.setTooltip(function () { return Blockly.Msg.CocoRobo_TEN_CONVERT_TO_TOOLTIP.replace('%2', thisBlock.getFieldValue('ten_convert_to')); }); } }; Blockly.Blocks.CocoRobo_high_low = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.CocoRobo_HIGH_LOW_HELPURL, tooltip: Blockly.Msg.CocoRobo_HIGH_LOW_TOOLTIP, message0: Blockly.Msg.CocoRobo_HIGH_LOW_MESSAGE0, args0: [{ options: [ ["HIGH", "1"], ["LOW", "0"] ], type: "field_dropdown", name: "high_low" }] }) } }; Blockly.Blocks.CocoRobo_start_new_thread = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Event, helpUrl: Blockly.Msg.CocoRobo_START_NEW_THREAD_HELPURL, tooltip: Blockly.Msg.CocoRobo_START_NEW_THREAD_TOOLTIP, message0: Blockly.Msg.CocoRobo_START_NEW_THREAD_MESSAGE0, args0: [{ options: [ ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"] ], type: "field_dropdown", name: "thread_name" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_lock_object_acquire_lock = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Event, helpUrl: Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL, tooltip: Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP, message0: Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0, args0: [{ type: "field_input", name: "thread_lock_object", text: "lock" }] }) } }; Blockly.Blocks.text_is_number = { init: function () { this.jsonInit({ inputsInline: !0, output: "Boolean", colour: CategoryColors.Text, helpUrl: Blockly.Msg.TEXT_IS_NUMBER_HELPURL, // tooltip: Blockly.Msg.TEXT_IS_NUMBER_TOOLTIP, message0: Blockly.Msg.TEXT_IS_NUMBER_MESSAGE0, args0: [{ type: "input_value", name: "TEXT", check: "String" }, { options: [ [Blockly.Msg.TEXT_IS_DIGIT, ".isdigit()"], [Blockly.Msg.TEXT_IS_ALPHA, ".isalpha()"] ], type: "field_dropdown", name: "TYPE" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('TYPE'); var TOOLTIPS = { '.isdigit()': Blockly.Msg.TEXT_IS_NUMBER_TOOLTIP.replace('%1', Blockly.Msg.TEXT_IS_DIGIT), '.isalpha()': Blockly.Msg.TEXT_IS_NUMBER_TOOLTIP.replace('%1', Blockly.Msg.TEXT_IS_ALPHA) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.CocoRobo_bytes_decode = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_BYTES_DECODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BYTES_DECODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BYTES_DECODE_MESSAGE0, args0: [{ type: "input_value", name: "bytes_decode" }] }) } }; Blockly.Blocks.text_format = { init: function () { this.jsonInit({ inputsInline: !1, output: "String", colour: "#33cc99" /* CategoryColors.Text*/, helpUrl: Blockly.Msg.TEXT_FORMAT_HELPURL, tooltip: Blockly.Msg.TEXT_FORMAT_TOOLTIP, message0: Blockly.Msg.TEXT_FORMAT_MESSAGE0, args0: [{ type: "input_value", name: "FORMAT", check: "String" }, { type: "input_value", name: "CONTENT" }] }) } }; Blockly.Blocks.text_format2 = { init: function () { this.jsonInit({ inputsInline: !1, output: "String", colour: CategoryColors.Text, helpUrl: Blockly.Msg.TEXT_FORMAT2_HELPURL, tooltip: Blockly.Msg.TEXT_FORMAT2_TOOLTIP, message0: Blockly.Msg.TEXT_FORMAT2_MESSAGE0, args0: [{ type: "input_value", name: "FORMAT", check: "String" }, { type: "input_value", name: "CONTENT" }] }) } }; Blockly.Blocks.text_to_byte = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: "#33cc99" /*CategoryColors.Text*/, helpUrl: Blockly.Msg.TEXT_TO_BYTE_HELPURL, tooltip: Blockly.Msg.TEXT_TO_BYTE_TOOLTIP, message0: Blockly.Msg.TEXT_TO_BYTE_MESSAGE0, args0: [{ type: "input_value", name: "TEXT", check: "String" }] }) } }; Blockly.Blocks.other_to_byte = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Text, helpUrl: Blockly.Msg.OTHER_TO_BYTE_HELPURL, tooltip: Blockly.Msg.OTHER_TO_BYTE_TOOLTIP, message0: Blockly.Msg.OTHER_TO_BYTE_MESSAGE0, args0: [{ type: "input_value", name: "input_var" }] }) } }; Blockly.Blocks.bit_inversion = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Math, helpUrl: Blockly.Msg.BIT_INVERSION_HELPURL, tooltip: Blockly.Msg.BIT_INVERSION_TOOLTIP, message0: Blockly.Msg.BIT_INVERSION_MESSAGE0, args0: [{ type: "input_value", name: "data" }] }) } }; Blockly.Blocks.CocoRobo_try_except = { init: function () { this.jsonInit({ message0: "", previousStatement: null, nextStatement: null, colour: CategoryColors.Logic, tooltip: Blockly.Msg.CocoRobo_try_except_TOOLTIP, helpUrl: "" }); this.appendStatementInput("TRY").appendField("try"); this.appendStatementInput("EXCEPT").appendField("except"); } }; Blockly.Blocks.CocoRobo_try_except_finally = { init: function () { this.jsonInit({ message0: "", previousStatement: null, nextStatement: null, colour: CategoryColors.Logic, tooltip: Blockly.Msg.CocoRobo_try_except_finally_TOOLTIP, helpUrl: "" }); // this.appendStatementInput("TRY").appendField(Blockly.Msg.TRY_EXCEPT_TRY); // this.appendStatementInput("EXCEPT").appendField(Blockly.Msg.TRY_EXCEPT_EXCEPT); // this.appendStatementInput("FINALLY").appendField(Blockly.Msg.TRY_EXCEPT_FINALLY) this.appendStatementInput("TRY").appendField("try"); this.appendStatementInput("EXCEPT").appendField("except"); this.appendStatementInput("FINALLY").appendField("finally") } }; Blockly.Blocks.text_append_text = { init: function () { this.jsonInit({ colour: CategoryColors.Text, args0: [{ type: "input_value", name: "text_abc" }, { type: "input_value", name: "append_text" }], output: "String", inputsInline: !0, helpUrl: Blockly.Msg.TEXT_APPEND_TEXT_HELPURL, tooltip: Blockly.Msg.TEXT_APPEND_TEXT_TOOLTIP, message0: Blockly.Msg.TEXT_APPEND_TEXT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_custom_code = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_CUSTOM_CODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_CUSTOM_CODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_CUSTOM_CODE_MESSAGE0, args0: [{ name: "custom_type", options: [ [Blockly.Msg.CocoRobo_CUSTOM_TYPE_NORMAL, "normal"], [Blockly.Msg.CocoRobo_CUSTOM_TYPE_IMPORT, "topping"] ], type: "field_dropdown" }, { type: "input_dummy" }, { type: "field_textarea", name: "custom_code", text: "custom code" }] }) } }; Blockly.Blocks.CocoRobo_machine_reset = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_MACHINE_RESET_HELPURL, tooltip: Blockly.Msg.CocoRobo_MACHINE_RESET_TOOLTIP, message0: Blockly.Msg.CocoRobo_MACHINE_RESET_MESSAGE0 }) } }; Blockly.Blocks.math_random_randrange = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Math, helpUrl: Blockly.Msg.MATH_RANDOM_RANDRANGE_HELPURL, tooltip: Blockly.Msg.MATH_RANDOM_RANDRANGE_TOOLTIP, message0: Blockly.Msg.MATH_RANDOM_RANDRANGE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "start" }, { check: "Number", type: "input_value", name: "stop" }, { check: "Number", type: "input_value", name: "step" }] }) } }; Blockly.Blocks.math_angle = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Math, helpUrl: "", tooltip: "", message0: "%1", args0: [{ name: "angle", type: "field_angle" }] }) } }; Blockly.Blocks.math_keep_decimal = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Math, helpUrl: Blockly.Msg.MATH_KEEP_DECIMAL_HELPURL, tooltip: Blockly.Msg.MATH_KEEP_DECIMAL_TOOLTIP, message0: Blockly.Msg.MATH_KEEP_DECIMAL_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "NUM" }, { check: "Number", type: "input_value", name: "PLACE" }] }) } }; Blockly.Blocks.labplus_mapping = { init: function () { this.jsonInit({ inputsInline: !0, colour: CategoryColors.Math, args0: [{ name: "inputNum", type: "input_value", check: "Number" }, { name: "bMin", type: "input_value", check: "Number" }, { name: "bMax", type: "input_value", check: "Number" }, { name: "cMin", type: "input_value", check: "Number" }, { name: "cMax", type: "input_value", check: "Number" }], output: "Number", message0: Blockly.Msg.labplus_mapping_MESSAGE0, tooltip: Blockly.Msg.labplus_mapping_TOOLTIP, helpUrl: Blockly.Msg.labplus_mapping_HELPURL }) } }; Blockly.Blocks.CocoRobo_Timer = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_Timer_MESSAGE0, nextStatement: null, previousStatement: null, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, helpUrl: Blockly.Msg.CocoRobo_Timer_HELPURL, tooltip: Blockly.Msg.CocoRobo_Timer_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "Num" }, { options: [ [Blockly.Msg.CocoRobo_PERIODIC, "PERIODIC"], [Blockly.Msg.CocoRobo_ONE_SHOT, "ONE_SHOT"] ], type: "field_dropdown", name: "Timer_mode" }, { check: "Number", type: "input_value", name: "period" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_timer_option = { init: function () { this.jsonInit({ colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, output: "Number", helpUrl: "", tooltip: "", message0: "%1", args0: [{ options: [ ["1", "1"], ["2", "2"], ["4", "4"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"] ], type: "field_dropdown", name: "Timer_num" }] }) } }; Blockly.Blocks.CocoRobo_event_option = { init: function () { this.jsonInit({ colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, output: "Number", helpUrl: "", tooltip: "", message0: "%1", args0: [{ options: [ ["10", "10"], ["9", "9"], ["8", "8"], ["7", "7"], ["4", "4"], ["2", "2"], ["1", "1"] ], type: "field_dropdown", name: "Timer_num" }] }) } }; Blockly.Blocks.CocoRobo_Timer_value = { init: function () { this.jsonInit({ colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_Timer_value_TOOLTIP, message0: Blockly.Msg.CocoRobo_Timer_value_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "Timer_num" }] }) } }; Blockly.Blocks.CocoRobo_Timer_deinit = { init: function () { this.jsonInit({ colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_Timer_deinit_TOOLTIP, message0: Blockly.Msg.CocoRobo_Timer_deinit_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "Timer_num" }] }) } }; Blockly.Blocks.CocoRobo_Interrupt_pin = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_Interrupt_pin_MESSAGE0, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_Interrupt_pin_HELPURL, tooltip: Blockly.Msg.CocoRobo_Interrupt_pin_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "Interrupt_pin" }, { options: [ [Blockly.Msg.CocoRobo_Interrupt_pin_IRQ_RISING, "to_high"], [Blockly.Msg.CocoRobo_Interrupt_pin_IRQ_FALLING, "to_low"] ], type: "field_dropdown", name: "action" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_Interrupt_AB = { init: function () { this.jsonInit({ inputsInline: !0, message0: Blockly.Msg.CocoRobo_Interrupt_AB_MESSAGE0, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_Interrupt_AB_HELPURL, tooltip: Blockly.Msg.CocoRobo_Interrupt_AB_TOOLTIP, args0: [{ options: button_AB, type: "field_dropdown", name: "button" }, { options: [ [Blockly.Msg.CocoRobo_IRQ_FALLING, "down"], [Blockly.Msg.CocoRobo_IRQ_RISING, "up"] ], type: "field_dropdown", name: "action" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_is_shaked = { init: function () { this.jsonInit({ colour: "#e8795b", output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_IS_SHAKED_HELPURL, tooltip: Blockly.Msg.CocoRobo_IS_SHAKED_TOOLTIP, message0: Blockly.Msg.CocoRobo_IS_SHAKED_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_IS_SHAKED, "shaked"], [Blockly.Msg.CocoRobo_IS_THROWN, "thrown"] ], type: "field_dropdown", name: "action" }] }) } }; Blockly.Blocks.CocoRobo_shake_detector = { init: function () { this.jsonInit({ inputsInline: !0, message0: Blockly.Msg.CocoRobo_SHAKE_DETECTOR_MESSAGE0, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_SHAKE_DETECTOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_SHAKE_DETECTOR_TOOLTIP, args0: [{ options: [ [Blockly.Msg.CocoRobo_IS_SHAKED, "shaked"], [Blockly.Msg.CocoRobo_IS_THROWN, "thrown"] ], type: "field_dropdown", name: "action" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_is_tilted = { init: function () { this.jsonInit({ colour: "#e8795b", output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_IS_TILTED_HELPURL, tooltip: Blockly.Msg.CocoRobo_IS_TILTED_TOOLTIP, message0: Blockly.Msg.CocoRobo_IS_TILTED_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_DIRECTION_FORWARD, "forward"], [Blockly.Msg.CocoRobo_DIRECTION_BACK, "back"], [Blockly.Msg.CocoRobo_DIRECTION_LEFT, "left"], [Blockly.Msg.CocoRobo_DIRECTION_RIGHT, "right"] ], type: "field_dropdown", name: "direction" }] }) } }; Blockly.Blocks.CocoRobo_tilt_detector = { init: function () { this.jsonInit({ inputsInline: !0, message0: Blockly.Msg.CocoRobo_TILT_DETECTOR_MESSAGE0, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_TILT_DETECTOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_TILT_DETECTOR_TOOLTIP, args0: [{ options: [ [Blockly.Msg.CocoRobo_DIRECTION_FORWARD, "forward"], [Blockly.Msg.CocoRobo_DIRECTION_BACK, "back"], [Blockly.Msg.CocoRobo_DIRECTION_LEFT, "left"], [Blockly.Msg.CocoRobo_DIRECTION_RIGHT, "right"], [Blockly.Msg.CocoRobo_DIRECTION_NONE, "none"] ], type: "field_dropdown", name: "direction" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_touch_event = { init: function () { this.jsonInit({ inputsInline: !0, message0: Blockly.Msg.CocoRobo_TOUCH_EVENT_MESSAGE0, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_TOUCH_EVENT_HELPURL, tooltip: Blockly.Msg.CocoRobo_TOUCH_EVENT_TOOLTIP, args0: [{ options: touchPad, type: "field_dropdown", name: "touchPad" }, { options: [ [Blockly.Msg.CocoRobo_TOUCH_EVENT_PRESSED, "pressed"], [Blockly.Msg.CocoRobo_TOUCH_EVENT_UNPRESSED, "unpressed"] ], type: "field_dropdown", name: "action" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_custom_event = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_CUSTOM_EVENT_MESSAGE0, nextStatement: null, previousStatement: null, colour: "X" == SOFTWARE_KEY ? CategoryColors.Event : CategoryColors.Loop, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_CUSTOM_EVENT_HELPURL, tooltip: Blockly.Msg.CocoRobo_CUSTOM_EVENT_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "index" }, { check: "Boolean", type: "input_value", name: "condition" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_time_ticks = { init: function () { this.jsonInit({ colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_time_ticks_TOOLTIP, message0: Blockly.Msg.CocoRobo_time_ticks_MESSAGE0, output: "Number", args0: [{ options: [ [Blockly.Msg.CocoRobo_s, "time"], [Blockly.Msg.CocoRobo_ms, "ticks_ms"], [Blockly.Msg.CocoRobo_us, "ticks_us"] ], type: "field_dropdown", name: "time_ticks" }] }) } }; Blockly.Blocks.CocoRobo_time_localtime = { init: function () { this.jsonInit({ colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_time_localtime_TOOLTIP, message0: Blockly.Msg.CocoRobo_time_localtime_MESSAGE0, output: "Number", args0: [{ options: [ [Blockly.Msg.CocoRobo_year, "0"], [Blockly.Msg.CocoRobo_month, "1"], [Blockly.Msg.CocoRobo_date, "2"], [Blockly.Msg.CocoRobo_hour, "3"], [Blockly.Msg.CocoRobo_minute, "4"], [Blockly.Msg.CocoRobo_s, "5"], [Blockly.Msg.CocoRobo_week, "6"], [Blockly.Msg.CocoRobo_days, "7"] ], type: "field_dropdown", name: "time_localtime" }] }) } }; Blockly.Blocks.CocoRobo_sway_xyz = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "direction_group", options: [ [Blockly.Msg.CocoRobo_left_right, "left_right"], [Blockly.Msg.CocoRobo_front_back, "front_back"] ], type: "field_dropdown" }], output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_sway_xyz_TOOLTIP, message0: Blockly.Msg.CocoRobo_sway_xyz_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_servo_angle0 = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ name: "pwm_pin", check: "Number", type: "input_value" }, { name: "servo_angle", type: "input_value", check: "Number" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_servo_angle0_TOOLTIP, message0: Blockly.Msg.CocoRobo_servo_angle0_MESSAGE0, inputsInline: !0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_servo_angle = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ name: "pwm_pin", check: "Number", type: "input_value" }, { name: "servo_angle", type: "input_value", check: "Number" }, { name: "min_us", type: "input_value", check: "Number" }, { name: "max_us", type: "input_value", check: "Number" }, { name: "actuation_range", type: "input_value", check: "Number" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_servo_angle_TOOLTIP, message0: Blockly.Msg.CocoRobo_servo_angle_MESSAGE0, inputsInline: !0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_dh11_hum_tem = { init: function () { this.jsonInit({ colour: CategoryColors.General, args0: [{ name: "dh11_hum_tem_pin", check: "Number", type: "input_value" }, { name: "hum_tem", options: [ [Blockly.Msg.CocoRobo_tem, "temperature"], [Blockly.Msg.CocoRobo_hum, "humidity"] ], type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_dh11_hum_tem_HELPURL, tooltip: Blockly.Msg.CocoRobo_dh11_hum_tem_TOOLTIP, message0: Blockly.Msg.CocoRobo_dh11_hum_tem_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_dh22_hum_tem = { init: function () { this.jsonInit({ colour: CategoryColors.General, args0: [{ name: "dh22_hum_tem_pin", check: "Number", type: "input_value" }, { name: "hum_tem", options: [ [Blockly.Msg.CocoRobo_tem, "temperature"], [Blockly.Msg.CocoRobo_hum, "humidity"] ], type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_DH22_HUM_TEM_HELPURL, tooltip: Blockly.Msg.CocoRobo_DH22_HUM_TEM_TOOLTIP, message0: Blockly.Msg.CocoRobo_DH22_HUM_TEM_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_sleep_ms = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Loop, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MICROBIT_SLEEP_TOOLTIP, message0: Blockly.Msg.MICROBIT_MICROBIT_SLEEP_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "duration" }, { name: "ms_us", options: [ [Blockly.Msg.CocoRobo_s, "s"], [Blockly.Msg.CocoRobo_MS, "ms"], [Blockly.Msg.CocoRobo_US, "us"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_type = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_TYPE_MESSAGE0, args0: [{ type: "input_value", name: "VAR" }], output: null, colour: CategoryColors.Logic, tooltip: Blockly.Msg.CocoRobo_TYPE_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_TYPE_HELPURL }) } }; Blockly.Blocks.CocoRobo_type_is = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_TYPE_IS_MESSAGE0, args0: [{ type: "input_value", name: "VAR" }, { name: "TYPE", options: [ ["int", "int"], ["float", "float"], ["bool", "bool"], ["str", "str"], ["list", "list"], ["tuple", "tuple"], ["set", "set"], ["dict", "dict"], ["bytes", "bytes"], ["bytearray", "bytearray"], ["complex", "complex"] ], type: "field_dropdown" }], output: "Boolean", colour: CategoryColors.Logic, // tooltip: Blockly.Msg.CocoRobo_TYPE_IS_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_TYPE_IS_HELPURL }); var thisBlock = this; this.setTooltip(function () { return Blockly.Msg.CocoRobo_TYPE_IS_TOOLTIP.replace('%2', thisBlock.getFieldValue('TYPE')); }); } }; Blockly.Blocks.CocoRobo_eval = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_EVAL_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "VAR" }], output: null, colour: CategoryColors.Logic, tooltip: Blockly.Msg.CocoRobo_EVAL_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_EVAL_HELPURL }) } }; Blockly.Blocks.CocoRobo_return = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Logic, helpUrl: Blockly.Msg.CocoRobo_RETURN_HELPURL, tooltip: Blockly.Msg.CocoRobo_RETURN_TOOLTIP, message0: Blockly.Msg.CocoRobo_RETURN_MESSAGE0, args0: [{ type: "input_value", name: "VAR" }] }) } }; Blockly.Blocks.CocoRobo_time_difference = { init: function () { this.jsonInit({ inputsInline: !0, colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_TIME_DIFFERENCE_HELPURL, tooltip: Blockly.Msg.CocoRobo_TIME_DIFFERENCE_TOOLTIP, message0: Blockly.Msg.CocoRobo_TIME_DIFFERENCE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "time1" }, { check: "Number", type: "input_value", name: "time2" }] }) } }; Blockly.Blocks.CocoRobo_def_clock = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_def_clock_TOOLTIP, message0: Blockly.Msg.CocoRobo_def_clock_MESSAGE0, args0: [{ type: "field_input", name: "clock_name", text: "my_clock" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "radius" }] }) } }; Blockly.Blocks.CocoRobo_settime_clock = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_settime_clock_TOOLTIP, message0: Blockly.Msg.CocoRobo_settime_clock_MESSAGE0, args0: [{ type: "field_input", name: "clock_name", text: "my_clock" }] }) } }; Blockly.Blocks.CocoRobo_draw_clear_clock = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_draw_clear_clock_TOOLTIP, message0: Blockly.Msg.CocoRobo_draw_clear_clock_MESSAGE0, args0: [{ name: "draw_clear_clock", options: [ [Blockly.Msg.CocoRobo_draw, "drawClock"], [Blockly.Msg.CocoRobo_clear, "clear"] ], type: "field_dropdown" }, { type: "field_input", name: "clock_name", text: "my_clock" }] }) } }; Blockly.Blocks.CocoRobo_button_is_pressed = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "button", options: [ ["A", "a"], ["B", "b"], ["A+B", "A+B"] ], type: "field_dropdown" }], output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_button_is_pressed_TOOLTIP, message0: Blockly.Msg.CocoRobo_button_is_pressed_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_button_both_pressed = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_button_both_pressed_TOOLTIP, message0: Blockly.Msg.CocoRobo_button_both_pressed_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_touchPad_value = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "touchPad", options: touchPad, type: "field_dropdown" }], output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_touchPad_value_TOOLTIP, message0: Blockly.Msg.CocoRobo_touchPad_value_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_touchPad_value_num = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "touchPad", options: touchPad, type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_touchPad_value_num_TOOLTIP, message0: Blockly.Msg.CocoRobo_touchPad_value_num_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_read_digital = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ name: "allPin", check: "Number", type: "input_value" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_read_digital_TOOLTIP, message0: Blockly.Msg.CocoRobo_read_digital_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_read_ds18b20 = { init: function () { this.jsonInit({ colour: CategoryColors.General, args0: [{ name: "allPin", check: "Number", type: "input_value" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_read_DS18B20_TOOLTIP, message0: Blockly.Msg.CocoRobo_read_DS18B20_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_set_digital = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Pin, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_digital_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_digital_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "num" }, { name: "allPin", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_set_pin_mode = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Pin, helpUrl: Blockly.Msg.CocoRobo_SETS_PIN_MODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_SETS_PIN_MODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_SETS_PIN_MODE_MESSAGE0, args0: [{ name: "allPin", check: "Number", type: "input_value" }, { name: "in_out", options: [ [Blockly.Msg.CocoRobo_SET_PIN_LEAKY_OUT, "OUT_DRAIN"] ], type: "field_dropdown" }, { name: "pin_up_down_pull", options: [ [Blockly.Msg.CocoRobo_SET_PIN_NO_PULL, "None"], [Blockly.Msg.CocoRobo_SET_PIN_DOWN_PULL, "Pin.PULL_DOWN"], [Blockly.Msg.CocoRobo_SET_PIN_UP_PULL, "Pin.PULL_UP"] ], type: "field_dropdown" }, { name: "pin_value", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_read_analog = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ check: "Number", type: "input_value", name: "allPin" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_read_analog_TOOLTIP, message0: Blockly.Msg.CocoRobo_read_analog_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_set_analog = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Pin, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_analog_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_analog_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "num" }, { name: "allPin", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_rgb_list = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: "", tooltip: "", message0: "%1", args0: [{ options: [ [Blockly.Msg.CocoRobo_RGB_0, "0"], [Blockly.Msg.CocoRobo_RGB_1, "1"], [Blockly.Msg.CocoRobo_RGB_2, "2"], [Blockly.Msg.CocoRobo_RGB_ALL, "-1"] ], type: "field_dropdown", name: "rgb_list" }] }) } }; Blockly.Blocks.CocoRobo_set_rgb_list_color = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.onboard_RGB, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_SET_RGB_LIST_COLOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_SET_RGB_LIST_COLOR_MESSAGE0, args0: [{ name: "num", check: "Number", type: "input_value" }, { type: "field_colour", name: "COLOUR", colour: "#ff0000" }] }) } }; Blockly.Blocks.CocoRobo_set_rgb_list_number = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.onboard_RGB, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_SET_RGB_LIST_NUMBER_TOOLTIP, message0: Blockly.Msg.CocoRobo_SET_RGB_LIST_NUMBER_MESSAGE0, args0: [{ name: "num", check: "Number", type: "input_value" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_off_rgb_list = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.onboard_RGB, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_OFF_RGB_LIST_TOOLTIP, message0: Blockly.Msg.CocoRobo_OFF_RGB_LIST_MESSAGE0, args0: [{ name: "num", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_set_RGB_color = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_RGB_color_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_RGB_color_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "num" }, { type: "field_colour", name: "COLOUR", colour: "#ff0000" }] }) } }; Blockly.Blocks.CocoRobo_set_RGB = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_RGB_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_RGB_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "num" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_set_RGB_color_all = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_RGB_color_all_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_RGB_color_all_MESSAGE0, args0: [{ type: "field_colour", name: "COLOUR", colour: "#ff0000" }] }) } }; Blockly.Blocks.CocoRobo_set_RGB_all = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_set_RGB_all_TOOLTIP, message0: Blockly.Msg.CocoRobo_set_RGB_all_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_fresh_RGB = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_fresh_RGB_TOOLTIP, message0: Blockly.Msg.CocoRobo_fresh_RGB_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_off_RGB = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.System, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_off_RGB_TOOLTIP, message0: Blockly.Msg.CocoRobo_off_RGB_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_buzz_state = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_buzz_state_TOOLTIP, message0: Blockly.Msg.CocoRobo_buzz_state_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_buzz_freq = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_buzz_freq_TOOLTIP, message0: Blockly.Msg.CocoRobo_buzz_freq_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "freq" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.CocoRobo_buzz_tone = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_buzz_tone_TOOLTIP, message0: Blockly.Msg.CocoRobo_buzz_tone_MESSAGE0, args0: [{ name: "buzz_tone", options: buzz_tone, type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_read_sound = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_read_sound_TOOLTIP, message0: Blockly.Msg.CocoRobo_read_sound_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_read_light = { init: function () { this.jsonInit({ colour: "#e8795b", output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_read_light_TOOLTIP, message0: Blockly.Msg.CocoRobo_read_light_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_accelerometer_get = { init: function () { this.jsonInit({ colour: "#e8795b", args0: [{ name: "axis", options: axis, type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_accelerometer_get_TOOLTIP, message0: Blockly.Msg.CocoRobo_accelerometer_get_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_accelerometer_get_x = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_accelerometer_get_x_TOOLTIP, message0: Blockly.Msg.CocoRobo_accelerometer_get_x_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_accelerometer_get_y = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_accelerometer_get_y_TOOLTIP, message0: Blockly.Msg.CocoRobo_accelerometer_get_y_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_accelerometer_get_z = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_accelerometer_get_z_TOOLTIP, message0: Blockly.Msg.CocoRobo_accelerometer_get_z_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_accelerometer_set_range = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "range", options: [ [Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_2G, "RANGE_2G"], [Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_4G, "RANGE_4G"], [Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_8G, "RANGE_8G"], [Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_16G, "RANGE_16G"] ], type: "field_dropdown" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RANGE_TOOLTIP, message0: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RANGE_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_accelerometer_set_resolustion = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "resolustion", options: [ [Blockly.Msg.CocoRobo_ACCELEROMETER_RES_10_BIT, "RES_10_BIT"], [Blockly.Msg.CocoRobo_ACCELEROMETER_RES_12_BIT, "RES_12_BIT"], [Blockly.Msg.CocoRobo_ACCELEROMETER_RES_14_BIT, "RES_14_BIT"] ], type: "field_dropdown" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RESOLUSTION_TOOLTIP, message0: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RESOLUSTION_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_accelerometer_set_offset = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ type: "input_dummy" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "z" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_OFFSET_TOOLTIP, message0: Blockly.Msg.CocoRobo_ACCELEROMETER_SET_OFFSET_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_tilt_angle = { init: function () { this.jsonInit({ colour: "#e8795b", args0: [{ name: "axis", options: axis, type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_TILT_ANGLE_HELPURL, tooltip: Blockly.Msg.CocoRobo_TILT_ANGLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_TILT_ANGLE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_random_choice = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_random_choice_MESSAGE0, args0: [{ type: "input_value", name: "list", check: ["Array", "String"] }], output: "String", colour: CategoryColors.Math, tooltip: Blockly.Msg.CocoRobo_random_choice_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_HELPURL }) } }; Blockly.Blocks.machine_time_pulse_us = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Pin, helpUrl: Blockly.Msg.MACHINE_TIME_PULSE_US_HELPURL, tooltip: Blockly.Msg.MACHINE_TIME_PULSE_US_TOOLTIP, message0: Blockly.Msg.MACHINE_TIME_PULSE_US_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "pin" }, { check: "Number", type: "input_value", name: "pulse" }] }) } }; Blockly.Blocks.CocoRobo_print = { init: function () { this.jsonInit({ colour: CategoryColors.Text, args0: [{ name: "CONTENT", type: "input_value", check: ["Number", "String"] }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_print_TOOLTIP, message0: Blockly.Msg.CocoRobo_print_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_print_to_chart = { init: function () { this.setColour(CategoryColors.Math); this.itemCount_ = 1; this.updateShape_(); this.setNextStatement(!0); this.setPreviousStatement(!0); this.setMutator(new Blockly.Mutator(["CocoRobo_print_to_chart_item"])); this.setTooltip(Blockly.Msg.CocoRobo_PRINT_TO_CHART_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("CocoRobo_print_to_chart_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("CocoRobo_print_to_chart_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { var b = a.getInputTargetBlock("STACK"); for (a = []; b;) a.push(b.valueConnection_), b = b.nextConnection && b.nextConnection.targetBlock(); for (b = 0; b < this.itemCount_; b++) { var c = this.getInput("ADD" + b).connection.targetConnection; c && -1 == a.indexOf(c) && c.disconnect() } this.itemCount_ = a.length; 4 < this.itemCount_ && (this.itemCount_ = 4); this.updateShape_(); for (b = 0; b < this.itemCount_; b++) Blockly.Mutator.reconnect(a[b], this, "ADD" + b) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.itemCount_ && this.getInput("EMPTY") ? this.removeInput("EMPTY") : this.itemCount_ || this.getInput("EMPTY") || this.appendDummyInput("EMPTY").appendField(Blockly.Msg.CocoRobo_PRINT_TO_CHART_EMPTY_TITLE); for (var a = 0; a < this.itemCount_; a++) if (!this.getInput("ADD" + a)) { var b = this.appendValueInput("ADD" + a); 0 == a && b.setCheck("Number").appendField(Blockly.Msg.CocoRobo_PRINT_TO_CHART_INPUT_WITH) } for (; this.getInput("ADD" + a);) this.removeInput("ADD" + a), a++ } }; Blockly.Blocks.CocoRobo_print_to_chart_item = { init: function () { this.setColour(CategoryColors.Math); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_PRINT_TO_CHART_ITEM_TITLE); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setTooltip(Blockly.Msg.CocoRobo_PRINT_TO_CHART_ITEM_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.CocoRobo_print_to_chart_container = { init: function () { this.setColour(CategoryColors.Math); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_PRINT_TO_CHART_CONTAINER_TITLE_ADD); this.appendStatementInput("STACK"); this.setTooltip(Blockly.Msg.CocoRobo_PRINT_TO_CHART_CONTAINER_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.CocoRobo_init_chart = { init: function () { this.setColour(CategoryColors.Math); this.itemCount_ = 1; this.updateShape_(); this.setNextStatement(!0); this.setPreviousStatement(!0); this.setMutator(new Blockly.Mutator(["CocoRobo_init_chart_item"])); this.setTooltip(Blockly.Msg.CocoRobo_INIT_CHART_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("CocoRobo_init_chart_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("CocoRobo_init_chart_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { var b = a.getInputTargetBlock("STACK"); for (a = []; b;) a.push(b.valueConnection_), b = b.nextConnection && b.nextConnection.targetBlock(); for (b = 0; b < this.itemCount_; b++) { var c = this.getInput("ADD" + b).connection.targetConnection; c && -1 == a.indexOf(c) && c.disconnect() } this.itemCount_ = a.length; 4 < this.itemCount_ && (this.itemCount_ = 4); this.updateShape_(); for (b = 0; b < this.itemCount_; b++) Blockly.Mutator.reconnect(a[b], this, "ADD" + b) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.itemCount_ && this.getInput("EMPTY") ? this.removeInput("EMPTY") : this.itemCount_ || this.getInput("EMPTY") || this.appendDummyInput("EMPTY").appendField(Blockly.Msg.CocoRobo_INIT_CHART_EMPTY_TITLE); for (var a = 0; a < this.itemCount_; a++) if (!this.getInput("ADD" + a)) { var b = this.appendValueInput("ADD" + a); 0 == a && b.setCheck("String").appendField(Blockly.Msg.CocoRobo_INIT_CHART_INPUT_WITH) } for (; this.getInput("ADD" + a);) this.removeInput("ADD" + a), a++ } }; Blockly.Blocks.CocoRobo_init_chart_item = { init: function () { this.setColour(CategoryColors.Math); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_INIT_CHART_ITEM_TITLE); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setTooltip(Blockly.Msg.CocoRobo_INIT_CHART_ITEM_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.CocoRobo_init_chart_container = { init: function () { this.setColour(CategoryColors.Math); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_INIT_CHART_CONTAINER_TITLE_ADD); this.appendStatementInput("STACK"); this.setTooltip(Blockly.Msg.CocoRobo_INIT_CHART_CONTAINER_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.CocoRobo_ir_remote_recv = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_IR_REMOTE_RECV_MESSAGE0, inputsInline: !0, colour: CategoryColors.Sensor, helpUrl: Blockly.Msg.CocoRobo_IR_REMOTE_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_REMOTE_RECV_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "pin" }, { type: "input_value", name: "address" }, { type: "input_value", name: "command" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_ir_remote_send = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_IR_REMOTE_SEND_MESSAGE0, inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Sensor, helpUrl: Blockly.Msg.CocoRobo_IR_REMOTE_SEND_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_REMOTE_SEND_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "pin" }, { check: ["Number", "Array"], type: "input_value", name: "address" }, { check: ["Number", "Array"], type: "input_value", name: "command" }] }) } }; Blockly.Blocks.CocoRobo_bme280_hum_tem_pre = { init: function () { this.jsonInit({ colour: CategoryColors.Common, args0: [{ name: "hum_tem_pre", options: [ [Blockly.Msg.CocoRobo_tem, "temperature"], [Blockly.Msg.CocoRobo_hum, "humidity"], [Blockly.Msg.CocoRobo_pre, "pressure"] ], type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_bme280_hum_tem_pre_TOOLTIP, message0: Blockly.Msg.CocoRobo_bme280_hum_tem_pre_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_compass_get_axis = { init: function () { this.jsonInit({ colour: CategoryColors.System, args0: [{ name: "axis", options: axis, type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_COMPASS_GET_AXIS_TOOLTIP, message0: Blockly.Msg.CocoRobo_COMPASS_GET_AXIS_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_compass_get_angle = { init: function () { this.jsonInit({ colour: CategoryColors.System, output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_COMPASS_GET_ANGLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_COMPASS_GET_ANGLE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_audio_set_volume = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "volume" }] }) } }; Blockly.Blocks.CocoRobo_audio_xunfei_tts = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "TEXT" }] }) } }; Blockly.Blocks.CocoRobo_audio_xunfei_tts_config = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "APPID" }, { check: "String", type: "input_value", name: "API_KEY" }] }) } }; Blockly.Blocks.CocoRobo_audio_play = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_PLAY_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_PLAY_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_PLAY_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "url" }] }) } }; Blockly.Blocks.CocoRobo_audio_cmd = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_CMD_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_CMD_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_CMD_MESSAGE0, args0: [{ options: [ [Blockly.Msg.PAUSE, "pause"], [Blockly.Msg.PLAY, "resume"], [Blockly.Msg.STOP, "stop"] ], type: "field_dropdown", name: "cmd" }] }) } }; Blockly.Blocks.CocoRobo_audio_deinit = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_DEINIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_DEINIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_DEINIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_audio_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_AUDIO_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AUDIO_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AUDIO_INIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_record_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_RECORD_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_RECORD_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_RECORD_INIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_record_deinit = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_RECORD_DEINIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_RECORD_DEINIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_RECORD_DEINIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_record_wav = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Audio, helpUrl: Blockly.Msg.CocoRobo_RECORD_WAV_HELPURL, tooltip: Blockly.Msg.CocoRobo_RECORD_WAV_TOOLTIP, message0: Blockly.Msg.CocoRobo_RECORD_WAV_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "file_name" }, { check: "Number", type: "input_value", name: "record_time" }] }) } }; Blockly.Blocks.CocoRobo_asr = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.AI, helpUrl: Blockly.Msg.CocoRobo_ASR_HELPURL, tooltip: Blockly.Msg.CocoRobo_ASR_TOOLTIP, message0: Blockly.Msg.CocoRobo_ASR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_ir_recv = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_IR_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_RECV_TOOLTIP, message0: Blockly.Msg.CocoRobo_IR_RECV_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "rx" }] }) } }; Blockly.Blocks.CocoRobo_ir_trans = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_IR_TRANS_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_TRANS_TOOLTIP, message0: Blockly.Msg.CocoRobo_IR_TRANS_MESSAGE0, args0: [{ type: "input_value", name: "data" }, { check: "Number", type: "input_value", name: "tx" }] }) } }; Blockly.Blocks.CocoRobo_lcd_move = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_MOVE_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_MOVE_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_MOVE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_LEFT, "left"], [Blockly.Msg.CocoRobo_RIGHT, "right"] ], type: "field_dropdown", name: "move" }] }) } }; Blockly.Blocks.CocoRobo_lcd_text_direction = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_LEFT_TO_RIGHT, "LEFT_TO_RIGHT"], [Blockly.Msg.CocoRobo_RIGHT_TO_LEFT, "RIGHT_TO_LEFT"] ], type: "field_dropdown", name: "text_direction" }] }) } }; Blockly.Blocks.CocoRobo_lcd_clear = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_CLEAR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_CLEAR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_CLEAR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_lcd_set_cursor = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "column" }, { check: "Number", type: "input_value", name: "row" }] }) } }; Blockly.Blocks.CocoRobo_lcd_cursor = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_CURSOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_CURSOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_CURSOR_MESSAGE0, args0: [{ options: [ [Blockly.Msg.LABPLUS_USB_SWITCH_ON, "Cursor(1)"], [Blockly.Msg.LABPLUS_USB_SWITCH_OFF, "Cursor(0)"], [Blockly.Msg.CocoRobo_LCD_CURSOR_BLINK, "Blink(1)"], [Blockly.Msg.CocoRobo_LCD_CURSOR_NO_BLINK, "Blink(0)"] ], type: "field_dropdown", name: "cursor_cmd" }] }) } }; Blockly.Blocks.CocoRobo_lcd_home = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_HOME_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_HOME_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_HOME_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_lcd_print = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_PRINT_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_PRINT_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_PRINT_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "display_str" }] }) } }; Blockly.Blocks.CocoRobo_lcd_object = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_OBJECT_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_OBJECT_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_OBJECT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_ir_recv = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_IR_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_RECV_TOOLTIP, message0: Blockly.Msg.CocoRobo_IR_RECV_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "rx" }] }) } }; Blockly.Blocks.CocoRobo_ir_trans = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_IR_TRANS_HELPURL, tooltip: Blockly.Msg.CocoRobo_IR_TRANS_TOOLTIP, message0: Blockly.Msg.CocoRobo_IR_TRANS_MESSAGE0, args0: [{ type: "input_value", name: "data" }, { check: "Number", type: "input_value", name: "tx" }] }) } }; Blockly.Blocks.CocoRobo_lcd_move = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_MOVE_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_MOVE_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_MOVE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_LEFT, "left"], [Blockly.Msg.CocoRobo_RIGHT, "right"] ], type: "field_dropdown", name: "move" }] }) } }; Blockly.Blocks.CocoRobo_lcd_text_direction = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_LEFT_TO_RIGHT, "LEFT_TO_RIGHT"], [Blockly.Msg.CocoRobo_RIGHT_TO_LEFT, "RIGHT_TO_LEFT"] ], type: "field_dropdown", name: "text_direction" }] }) } }; Blockly.Blocks.CocoRobo_lcd_clear = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_CLEAR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_CLEAR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_CLEAR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_lcd_set_cursor = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_SET_CURSOR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "column" }, { check: "Number", type: "input_value", name: "row" }] }) } }; Blockly.Blocks.CocoRobo_lcd_cursor = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_CURSOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_CURSOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_CURSOR_MESSAGE0, args0: [{ options: [ [Blockly.Msg.LABPLUS_USB_SWITCH_ON, "Cursor(1)"], [Blockly.Msg.LABPLUS_USB_SWITCH_OFF, "Cursor(0)"], [Blockly.Msg.CocoRobo_LCD_CURSOR_BLINK, "Blink(1)"], [Blockly.Msg.CocoRobo_LCD_CURSOR_NO_BLINK, "Blink(0)"] ], type: "field_dropdown", name: "cursor_cmd" }] }) } }; Blockly.Blocks.CocoRobo_lcd_home = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_HOME_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_HOME_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_HOME_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_lcd_print = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_PRINT_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_PRINT_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_PRINT_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "display_str" }] }) } }; Blockly.Blocks.CocoRobo_lcd_object = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_LCD_OBJECT_HELPURL, tooltip: Blockly.Msg.CocoRobo_LCD_OBJECT_TOOLTIP, message0: Blockly.Msg.CocoRobo_LCD_OBJECT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_lcd_bmp = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }, { check: "Array", type: "input_value", name: "bmp" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_lcd_clear = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_lcd_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "tx" }, { check: "Number", type: "input_value", name: "rx" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_lcd_print = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "_print" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_extio_writeio = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_MESSAGE0, args0: [{ type: "input_value", name: "io_value" }, { options: [ ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"] ], type: "field_dropdown", name: "IO" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_extio_readio = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_MESSAGE0, args0: [{ options: [ ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"] ], type: "field_dropdown", name: "IO" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_extio_iomode = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT, "0"], [Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT, "1"] ], type: "field_dropdown", name: "mode" }, { options: [ ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"] ], type: "field_dropdown", name: "IO" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_singleLoop = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_MESSAGE0, args0: [{ options: [ [Blockly.Msg.LABPLUS_USB_SWITCH_ON, "1"], [Blockly.Msg.LABPLUS_USB_SWITCH_OFF, "0"] ], type: "field_dropdown", name: "singleLoop" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_cmd = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_MESSAGE0, args0: [{ options: [ [Blockly.Msg.PAUSE, "pause"], [Blockly.Msg.STOP, "stop"], [Blockly.Msg.PLAY, "play"], [Blockly.Msg.PLAYNEXT, "playNext"], [Blockly.Msg.PLAYPREV, "playPrev"] ], type: "field_dropdown", name: "cmd" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_play_song = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "song_order" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_volume_plus = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_PLUS_1, "volumeInc"], [Blockly.Msg.CocoRobo_MINUS_1, "volumeDec"] ], type: "field_dropdown", name: "volume_plus" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "mp3_tx" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_mp3_volume = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "volume_level" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_matrix_show = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_matrix_bitmap = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "00" }, { checked: !1, type: "field_checkbox", name: "01" }, { checked: !1, type: "field_checkbox", name: "02" }, { checked: !1, type: "field_checkbox", name: "03" }, { checked: !1, type: "field_checkbox", name: "04" }, { checked: !1, type: "field_checkbox", name: "05" }, { checked: !1, type: "field_checkbox", name: "06" }, { checked: !1, type: "field_checkbox", name: "07" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "10" }, { checked: !1, type: "field_checkbox", name: "11" }, { checked: !1, type: "field_checkbox", name: "12" }, { checked: !1, type: "field_checkbox", name: "13" }, { checked: !1, type: "field_checkbox", name: "14" }, { checked: !1, type: "field_checkbox", name: "15" }, { checked: !1, type: "field_checkbox", name: "16" }, { checked: !1, type: "field_checkbox", name: "17" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "20" }, { checked: !1, type: "field_checkbox", name: "21" }, { checked: !1, type: "field_checkbox", name: "22" }, { checked: !1, type: "field_checkbox", name: "23" }, { checked: !1, type: "field_checkbox", name: "24" }, { checked: !1, type: "field_checkbox", name: "25" }, { checked: !1, type: "field_checkbox", name: "26" }, { checked: !1, type: "field_checkbox", name: "27" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "30" }, { checked: !1, type: "field_checkbox", name: "31" }, { checked: !1, type: "field_checkbox", name: "32" }, { checked: !1, type: "field_checkbox", name: "33" }, { checked: !1, type: "field_checkbox", name: "34" }, { checked: !1, type: "field_checkbox", name: "35" }, { checked: !1, type: "field_checkbox", name: "36" }, { checked: !1, type: "field_checkbox", name: "37" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "40" }, { checked: !1, type: "field_checkbox", name: "41" }, { checked: !1, type: "field_checkbox", name: "42" }, { checked: !1, type: "field_checkbox", name: "43" }, { checked: !1, type: "field_checkbox", name: "44" }, { checked: !1, type: "field_checkbox", name: "45" }, { checked: !1, type: "field_checkbox", name: "46" }, { checked: !1, type: "field_checkbox", name: "47" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "50" }, { checked: !1, type: "field_checkbox", name: "51" }, { checked: !1, type: "field_checkbox", name: "52" }, { checked: !1, type: "field_checkbox", name: "53" }, { checked: !1, type: "field_checkbox", name: "54" }, { checked: !1, type: "field_checkbox", name: "55" }, { checked: !1, type: "field_checkbox", name: "56" }, { checked: !1, type: "field_checkbox", name: "57" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "60" }, { checked: !1, type: "field_checkbox", name: "61" }, { checked: !1, type: "field_checkbox", name: "62" }, { checked: !1, type: "field_checkbox", name: "63" }, { checked: !1, type: "field_checkbox", name: "64" }, { checked: !1, type: "field_checkbox", name: "65" }, { checked: !1, type: "field_checkbox", name: "66" }, { checked: !1, type: "field_checkbox", name: "67" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "70" }, { checked: !1, type: "field_checkbox", name: "71" }, { checked: !1, type: "field_checkbox", name: "72" }, { checked: !1, type: "field_checkbox", name: "73" }, { checked: !1, type: "field_checkbox", name: "74" }, { checked: !1, type: "field_checkbox", name: "75" }, { checked: !1, type: "field_checkbox", name: "76" }, { checked: !1, type: "field_checkbox", name: "77" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_bluebit_matrix_fill = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_display_fill_1, "1"], [Blockly.Msg.CocoRobo_display_fill_0, "0"] ], type: "field_dropdown", name: "fill_clear" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_matrix_brightness = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "brightness_level" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_midi_play = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_PLAY, "1"], [Blockly.Msg.STOP, "0"] ], type: "field_dropdown", name: "play_stop" }, { check: "Number", type: "input_value", name: "play_note" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_midi_instrument = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0, args0: [{ options: [ [Blockly.Msg.MIDI_PIANO, "1"], [Blockly.Msg.MIDI_BRIGHTACOUSTICPIANO, "2"], [Blockly.Msg.MIDI_ELECTRICGRANDPIANO, "3"], [Blockly.Msg.MIDI_HARPSICHORD, "7"], [Blockly.Msg.MIDI_CELESTA, "9"], [Blockly.Msg.MIDI_GLOCKENSPIEL, "10"], [Blockly.Msg.MIDI_MARIMBA, "13"], [Blockly.Msg.MIDI_XYLOPHONE, "14"], [Blockly.Msg.MIDI_TUBULARBELL, "15"], [Blockly.Msg.MIDI_DULCIMER, "16"], [Blockly.Msg.MIDI_VIBRAPHONE, "12"], [Blockly.Msg.MIDI_ORGAN, "17"], [Blockly.Msg.MIDI_ACOUSTIC_GUITAR, "25"], [Blockly.Msg.MIDI_ELECTRIC_GUITAR, "31"], [Blockly.Msg.MIDI_ACOUSTIC_BASS, "33"], [Blockly.Msg.MIDI_STRING_ENSEMBLE, "49"], [Blockly.Msg.MIDI_VIOLIN, "41"], [Blockly.Msg.MIDI_TRUMPET, "57"], [Blockly.Msg.MIDI_SAX, "65"], [Blockly.Msg.MIDI_STEEL_DRUMS, "115"], [Blockly.Msg.MIDI_LEAD, "81"], [Blockly.Msg.MIDI_PAD, "89"] ], type: "field_dropdown", name: "midi_instrument" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_midi_volume = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "midi_volume" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_init_midi = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "midi_tx" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_all_color = { init: function () { this.jsonInit({ inputsInline: !0, output: "Array", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_get_color = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_MESSAGE0, args0: [{ name: "r_g_b", type: "field_dropdown", options: [ [Blockly.Msg.CocoRobo_RED, "0"], [Blockly.Msg.CocoRobo_GREEN, "1"], [Blockly.Msg.CocoRobo_BLUE, "2"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_all_color_hsv = { init: function () { this.jsonInit({ inputsInline: !0, output: "Array", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_get_color_hsv = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_MESSAGE0, args0: [{ name: "hsv", type: "field_dropdown", options: [ ["H", "0"], ["S", "1"], ["V", "2"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_force_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X64"], ["1", "0X65"], ["2", "0X66"], ["3", "0X67"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_electricity_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X60"], ["1", "0X61"], ["2", "0X62"], ["3", "0X63"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_voltage_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X6A"], ["1", "0X6B"], ["2", "0X6C"], ["3", "0X6D"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_magnetic_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X58"], ["1", "0X59"], ["2", "0X5A"], ["3", "0X5B"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_PH_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X54"], ["1", "0X55"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_tds_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X68"], ["1", "0X69"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_pressure_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X5C"], ["1", "0X5D"], ["2", "0X5E"], ["3", "0X5F"] ] }] }) } }; Blockly.Blocks.CocoRobo_bluebit_get_photogate_timer_measure = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0, args0: [{ name: "measure", type: "field_dropdown", options: [ ["0", "0X50"], ["1", "0X51"] ] }] }) } }; Blockly.Blocks.CocoRobo_init_assistant_wifi = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_HELPURL, tooltip: Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_TOOLTIP, message0: Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "ssid" }, { check: "String", type: "input_value", name: "password" }] }) } }; Blockly.Blocks.CocoRobo_init_assistant_profile = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ type: "input_value", name: "file_path" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_HELPURL, tooltip: Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_TOOLTIP, message0: Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_seg_clear = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_seg_display = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "seg_num" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_ambientlight = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_hum_tem = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, output: "Number", args0: [{ name: "hum_tem", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_TEMPERATURE, "temperature"], [Blockly.Msg.CocoRobo_BLUEBIT_HUMIDITY, "humidity"] ], type: "field_dropdown" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_ultrasonic = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, output: "Number", helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_read_digital = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "digital_senor", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_SOUND, "SOUND"], [Blockly.Msg.CocoRobo_BLUEBIT_IR_RECEIVE, "IR"], [Blockly.Msg.CocoRobo_BLUEBIT_VIBRATION, "VIBRATION"], [Blockly.Msg.CocoRobo_BLUEBIT_RFID, "RFID"], [Blockly.Msg.CocoRobo_BLUEBIT_FINGERPRINT_SCANNER, "FINGERPRINT"], [Blockly.Msg.CocoRobo_BLUEBIT_PIR, "PIR"], [Blockly.Msg.CocoRobo_BLUEBIT_MAGNETIC, "MAGNETIC"], [Blockly.Msg.CocoRobo_BLUEBIT_BUTTON, "BUTTON"] ], type: "field_dropdown" }, { name: "allPin", check: "Number", type: "input_value" }], output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_line_follower = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "allPin", check: "Number", type: "input_value" }], output: "Boolean", helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_set_true = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_MESSAGE0, args0: [{ name: "set_digital_senor", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_FAN, "_FAN"], [Blockly.Msg.CocoRobo_BLUEBIT_LASER, "_LASER"] ], type: "field_dropdown" }, { name: "set_digital_P", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_set_false = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_MESSAGE0, args0: [{ name: "set_digital_senor", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_FAN, "_FAN"], [Blockly.Msg.CocoRobo_BLUEBIT_LASER, "_LASER"] ], type: "field_dropdown" }, { name: "set_digital_P", check: "Number", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_read_analog = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "analog_senor", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_ANALOG_LIGHT, "_ANALOG_LIGHT"], [Blockly.Msg.CocoRobo_BLUEBIT_SOUND, "_SOUND"], [Blockly.Msg.CocoRobo_BLUEBIT_NTC_TEMP, "_NTC"], [Blockly.Msg.CocoRobo_BLUEBIT_WATER, "_WATER"], [Blockly.Msg.CocoRobo_BLUEBIT_SOIL_MOISTURE, "_SOIL"], [Blockly.Msg.CocoRobo_BLUEBIT_ROTATE_DIMMER, "_ROTATE"], [Blockly.Msg.CocoRobo_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER, "_LINEAR_SLIDING_POTENTIOMETER"], [Blockly.Msg.CocoRobo_BLUEBIT_LM35_TEMP, "_LM35"] ], type: "field_dropdown" }, { name: "read_analog_P", check: "Number", type: "input_value" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_set_analog = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ check: "Number", type: "input_value", name: "analog_value" }, { name: "set_analog_P", check: "Number", type: "input_value" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_voice_record_on = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ type: "field_dropdown", name: "func", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_PLAY, "play"], [Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_REC, "rec"] ] }, { type: "input_dummy" }, { name: "rec", check: "Number", type: "input_value" }, { name: "play", check: "Number", type: "input_value" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_MESSAGE0, nextStatement: null, previousStatement: null, inputsInline: !0 }) } }; Blockly.Blocks.CocoRobo_bluebit_voice_record_off = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ type: "input_dummy" }, { name: "rec", check: "Number", type: "input_value" }, { name: "play", check: "Number", type: "input_value" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0, nextStatement: null, previousStatement: null, inputsInline: !0 }) } }; Blockly.Blocks.CocoRobo_bluebit_motor_on = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "status", type: "field_dropdown", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_CLOCKWISE, "1"], [Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_ANTICLOCKWISE, "0"] ] }, { name: "speed", type: "input_value", check: "Number" }, { name: "ain1", check: "Number", type: "input_value" }, { name: "ain2", check: "Number", type: "input_value" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_MESSAGE0, inputsInline: !0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_bluebit_motor_off = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ type: "input_dummy" }, { name: "ain1", check: "Number", type: "input_value" }, { name: "ain2", check: "Number", type: "input_value" }], helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_MESSAGE0, inputsInline: !0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_bluebit_get_motorpeed = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "left_right_interface", options: [ ["M1", "1"], ["M2", "2"] ], type: "field_dropdown" }], inputsInline: !0, output: "Number", helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_m1m2_led_on = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_M1M2_LED_ON_HELPURL, tooltip: Blockly.Msg.CocoRobo_M1M2_LED_ON_TOOLTIP, message0: Blockly.Msg.CocoRobo_M1M2_LED_ON_MESSAGE0, args0: [{ name: "m1m2", options: [ ["M1", "1"], ["M2", "2"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "brightness" }] }) } }; Blockly.Blocks.CocoRobo_m1m2_led_off = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_M1M2_LED_OFF_HELPURL, tooltip: Blockly.Msg.CocoRobo_M1M2_LED_OFF_TOOLTIP, message0: Blockly.Msg.CocoRobo_M1M2_LED_OFF_MESSAGE0, args0: [{ name: "m1m2", options: [ ["M1", "1"], ["M2", "2"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_bluebit_set_Fan = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "left_right_interface", options: [ ["M1", "1"], ["M2", "2"] ], type: "field_dropdown" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_set_Fan_off = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "left_right_interface", options: [ ["M1", "1"], ["M2", "2"] ], type: "field_dropdown" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_4button = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "pin", check: "Number", type: "input_value" }, { name: "button_val", type: "field_dropdown", options: [ [Blockly.Msg.BLUE, "'A'"], [Blockly.Msg.GREEN, "'B'"], [Blockly.Msg.RED, "'C'"], [Blockly.Msg.YELLOW, "'D'"] ] }], output: "Boolean", message0: Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_MESSAGE0, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_HELPURL }) } }; Blockly.Blocks.CocoRobo_bluebit_joystick = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "pin", check: "Number", type: "input_value" }, { name: "pin1", check: "Number", type: "input_value" }, { name: "axis", type: "field_dropdown", options: [ ["X", "X"], ["Y", "Y"] ] }], output: "Number", message0: Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_MESSAGE0, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_HELPURL }) } }; Blockly.Blocks.CocoRobo_bluebit_motor_on_i2c = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "left_right_interface", options: [ ["M1", "M1"], ["M2", "M2"] ], type: "field_dropdown" }, { name: "status", type: "field_dropdown", options: [ [Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_CLOCKWISE, "CLOCKWISE"], [Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_ANTICLOCKWISE, "ANTICLOCKWISE"] ] }, { check: "Number", type: "input_value", name: "speed" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_motor_off_i2c = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_I2C_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_coded_three_motor_on_i2c = { init: function () { this.jsonInit({ colour: CategoryColors.Bluebit, args0: [{ name: "pattern", options: [ ["pwm", "set_pwm"], ["\u5de1\u822a", "set_cruise"], ["\u5b9a\u4f4d", "set_position"] ], type: "field_dropdown" }, { name: "Dial_code", options: [ ["0", "0X10"], ["1", "0X11"], ["2", "0X12"], ["3", "0X13"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "speed1" }, { check: "Number", type: "input_value", name: "speed2" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bluebit_coded_stop_motor_on_i2c = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Bluebit, helpUrl: Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0, args0: [{ name: "coded_stop", type: "field_dropdown", options: [ ["0", "0X10"], ["1", "0X11"], ["2", "0X12"], ["3", "0X13"] ] }] }) } }; Blockly.Blocks.CocoRobo_init_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_init_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_init_bluetooth_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "init_bluetooth" }] }) } }; Blockly.Blocks.CocoRobo_OnOff_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_OnOff_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_OnOff_bluetooth_MESSAGE0, args0: [{ name: "OnOff_bluetooth", type: "field_dropdown", options: [ ["\u5f00\u542f", "start"], ["\u5173\u95ed", "stop"] ] }] }) } }; Blockly.Blocks.CocoRobo_HID_consumer_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_consumer_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_consumer_bluetooth_MESSAGE0, args0: [{ options: [ ["Power", "ble.HID_CONSUMER_POWER"], ["Reset", "ble.HID_CONSUMER_RESET"], ["Sleep", "ble.HID_CONSUMER_SLEEP"], ["Menu", "ble.HID_CONSUMER_MENU"], ["Selection", "ble.HID_CONSUMER_SELECTION"], ["Assign Selection", "ble.HID_CONSUMER_ASSIGN_SEL"], ["Mode Step", "ble.HID_CONSUMER_MODE_STEP"], ["Recall Last", "ble.HID_CONSUMER_RECALL_LAST"], ["Quit", "ble.HID_CONSUMER_QUIT"], ["Help", "ble.HID_CONSUMER_HELP"], ["Channel Increment", "ble.HID_CONSUMER_CHANNEL_UP"], ["Channel Decrement", "ble.HID_CONSUMER_CHANNEL_DOWN"], ["Play", "ble.HID_CONSUMER_PLAY"], ["Pause", "ble.HID_CONSUMER_PAUSE"], ["Record", "ble.HID_CONSUMER_RECORD"], ["Fast Forward", "ble.HID_CONSUMER_FAST_FORWARD"], ["Rewind", "ble.HID_CONSUMER_REWIND"], ["Scan Next Track", "ble.HID_CONSUMER_SCAN_NEXT_TRK"], ["Scan Previous Track", "ble.HID_CONSUMER_SCAN_PREV_TRK"], ["Stop", "ble.HID_CONSUMER_STOP"], ["Eject", "ble.HID_CONSUMER_EJECT"], ["Random Play", "ble.HID_CONSUMER_RANDOM_PLAY"], ["Select Disk", "ble.HID_CONSUMER_SELECT_DISC"], ["Enter Disc", "ble.HID_CONSUMER_ENTER_DISC"], ["Repeat", "ble.HID_CONSUMER_REPEAT"], ["Volume", "ble.HID_CONSUMER_VOLUME"], ["Balance", "ble.HID_CONSUMER_BALANCE"], ["Mute", "ble.HID_CONSUMER_MUTE"], ["Bass", "ble.HID_CONSUMER_BASS"], ["Volume Increment", "ble.HID_CONSUMER_VOLUME_UP"], ["Volume Decrement", "ble.HID_CONSUMER_VOLUME_DOWN"] ], type: "field_dropdown", name: "type" }, { options: [ ["\u5f00\u542f", "True"], ["\u5173\u95ed", "False"] ], type: "field_dropdown", name: "status_bar" }] }) } }; Blockly.Blocks.CocoRobo_HID_keyboard_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_keyboard_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_keyboard_bluetooth_MESSAGE0, args0: [{ name: "HID_keyboard_bluetooth", type: "field_dropdown", options: [ ["A", "ble.HID_KEY_A"], ["B", "ble.HID_KEY_B"], ["C", "ble.HID_KEY_C"], ["D", "ble.HID_KEY_D"], ["E", "ble.HID_KEY_E"], ["F", "ble.HID_KEY_F"], ["G", "ble.HID_KEY_G"], ["H", "ble.HID_KEY_H"], ["I", "ble.HID_KEY_I"], ["J", "ble.HID_KEY_J"], ["K", "ble.HID_KEY_K"], ["L", "ble.HID_KEY_L"], ["M", "ble.HID_KEY_M"], ["N", "ble.HID_KEY_N"], ["O", "ble.HID_KEY_O"], ["P", "ble.HID_KEY_P"], ["Q", "ble.HID_KEY_Q"], ["R", "ble.HID_KEY_R"], ["S", "ble.HID_KEY_S"], ["T", "ble.HID_KEY_T"], ["U", "ble.HID_KEY_U"], ["V", "ble.HID_KEY_V"], ["W", "ble.HID_KEY_W"], ["X", "ble.HID_KEY_X"], ["Y", "ble.HID_KEY_Y"], ["Z", "ble.HID_KEY_Z"], ["1", "ble.HID_KEY_1"], ["2", "ble.HID_KEY_2"], ["3", "ble.HID_KEY_3"], ["4", "ble.HID_KEY_4"], ["5", "ble.HID_KEY_5"], ["6", "ble.HID_KEY_6"], ["7", "ble.HID_KEY_7"], ["8", "ble.HID_KEY_8"], ["9", "ble.HID_KEY_9"], ["0", "ble.HID_KEY_0"], ["Return", "ble.HID_KEY_RETURN"], ["ESCAPE", "ble.HID_KEY_ESCAPE"], ["DELETE", "ble.HID_KEY_DELETE"], ["Tab", "ble.HID_KEY_TAB"], ["Spacebar", "ble.HID_KEY_SPACEBAR"], ["- and (underscore)", "ble.HID_KEY_MINUS"], ["\x3d and +", "ble.HID_KEY_EQUAL"], ["[ and {", "ble.HID_KEY_LEFT_BRKT"], [" ] and }", "ble.HID_KEY_RIGHT_BRKT"], ["and |", "ble.HID_KEY_BACK_SLASH"], ["; and :", "ble.HID_KEY_SEMI_COLON"], ["\u2018\u2019 and \u201c\u201d", "ble.HID_KEY_SGL_QUOTE"], ["Grave Accent and Tilde", "ble.HID_KEY_GRV_ACCENT"], [", and \x3c", "ble.HID_KEY_COMMA"], [". and \x3e", "ble.HID_KEY_DOT"], ["/ and ?", "ble.HID_KEY_FWD_SLASH"], ["/ and ?", "ble.HID_KEY_CAPS_LOCK"], ["F1", "ble.HID_KEY_F1"], ["F2", "ble.HID_KEY_F2"], ["F3", "ble.HID_KEY_F3"], ["F4", "ble.HID_KEY_F4"], ["F5", "ble.HID_KEY_F5"], ["F6", "ble.HID_KEY_F6"], ["F7", "ble.HID_KEY_F7"], ["F8", "ble.HID_KEY_F8"], ["F9", "ble.HID_KEY_F9"], ["F10", "ble.HID_KEY_F10"], ["F11", "ble.HID_KEY_F11"], ["F12", "ble.HID_KEY_F12"], ["Print Screen", "ble.HID_KEY_PRNT_SCREEN"], ["Scroll Lock", "ble.HID_KEY_SCROLL_LOCK"], ["Pause", "ble.HID_KEY_PAUSE"], ["Insert", "ble.HID_KEY_INSERT"], ["Home", "ble.HID_KEY_HOME"], ["PageUp", "ble.HID_KEY_PAGE_UP"], ["Delete Forward", "ble.HID_KEY_DELETE_FWD"], ["End", "ble.HID_KEY_END"], ["PageDown", "ble.HID_KEY_PAGE_DOWN"], ["RightArrow", "ble.HID_KEY_RIGHT_ARROW"], ["LeftArrow", "ble.HID_KEY_LEFT_ARROW"], ["DownArrow", "ble.HID_KEY_DOWN_ARROW"], ["UpArrow", "ble.HID_KEY_UP_ARROW"], ["Num Lock and Clear", "ble.HID_KEY_NUM_LOCK"], [" /", "ble.HID_KEY_DIVIDE"], [" *", "ble.HID_KEY_MULTIPLY"], [" -", "ble.HID_KEY_SUBTRACT"], [" +-", "ble.HID_KEY_ADD"], [" ENTER", "ble.HID_KEY_ENTER"], [" 1 and End", "ble.HID_KEYPAD_1"], [" 2 and Down Arrow", "ble.HID_KEYPAD_2"], [" 3 and PageDn", "ble.HID_KEYPAD_3"], [" 4 and Lfet Arrow", "ble.HID_KEYPAD_4"], [" 5", "ble.HID_KEYPAD_5"], [" 6 and Right Arrow", "ble.HID_KEYPAD_6"], [" 7 and Home", "ble.HID_KEYPAD_7"], [" 8 and Up Arrow", "ble.HID_KEYPAD_8"], [" 9 and PageUp", "ble.HID_KEYPAD_9"], [" 0 and Insert", "ble.HID_KEYPAD_0"], [" . and Delete", "ble.HID_KEYPAD_DOT"], [" Mute", "ble.HID_KEY_MUTE"], [" Volume up", "ble.HID_KEY_VOLUME_UP"], [" Volume down", "ble.HID_KEY_VOLUME_DOWN"] ] }] }) } }; Blockly.Blocks.CocoRobo_HID_release_keyboard_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_release_keyboard_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_release_keyboard_bluetooth_MESSAGE0, args0: [{ name: "HID_release_keyboard", type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_HID_mouse_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_mouse_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_mouse_bluetooth_MESSAGE0, args0: [{ name: "HID_mouse", type: "field_dropdown", options: [ ["\u5de6\u952e", "ble.HID_MOUSE_LEFT"], ["\u53f3\u952e", "ble.HID_MOUSE_RIGHT"], ["\u6eda\u8f6e\u6309\u4e0b", "ble.HID_MOUSE_MIDDLE"] ] }] }) } }; Blockly.Blocks.CocoRobo_HID_release_mouse_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_release_mouse_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_release_mouse_bluetooth_MESSAGE0, args0: [{ name: "HID_release_mouse", type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_HID_mouse_pointer_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HID_mouse_pointer_bluetooth_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_mouse_pointer_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_mouse_pointer_bluetooth_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "column" }, { check: "Number", type: "input_value", name: "row" }] }) } }; Blockly.Blocks.CocoRobo_HID_keyboard_group_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_keyboard_group_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_keyboard_group_bluetooth_MESSAGE0, args0: [{ name: "HID_keyboard_bluetooth", type: "field_dropdown", options: [ ["A", "ble.HID_KEY_A"], ["B", "ble.HID_KEY_B"], ["C", "ble.HID_KEY_C"], ["D", "ble.HID_KEY_D"], ["E", "ble.HID_KEY_E"], ["F", "ble.HID_KEY_F"], ["G", "ble.HID_KEY_G"], ["H", "ble.HID_KEY_H"], ["I", "ble.HID_KEY_I"], ["J", "ble.HID_KEY_J"], ["K", "ble.HID_KEY_K"], ["L", "ble.HID_KEY_L"], ["M", "ble.HID_KEY_M"], ["N", "ble.HID_KEY_N"], ["O", "ble.HID_KEY_O"], ["P", "ble.HID_KEY_P"], ["Q", "ble.HID_KEY_Q"], ["R", "ble.HID_KEY_R"], ["S", "ble.HID_KEY_S"], ["T", "ble.HID_KEY_T"], ["U", "ble.HID_KEY_U"], ["V", "ble.HID_KEY_V"], ["W", "ble.HID_KEY_W"], ["X", "ble.HID_KEY_X"], ["Y", "ble.HID_KEY_Y"], ["Z", "ble.HID_KEY_Z"], ["1", "ble.HID_KEY_1"], ["2", "ble.HID_KEY_2"], ["3", "ble.HID_KEY_3"], ["4", "ble.HID_KEY_4"], ["5", "ble.HID_KEY_5"], ["6", "ble.HID_KEY_6"], ["7", "ble.HID_KEY_7"], ["8", "ble.HID_KEY_8"], ["9", "ble.HID_KEY_9"], ["0", "ble.HID_KEY_0"], ["Return", "ble.HID_KEY_RETURN"], ["ESCAPE", "ble.HID_KEY_ESCAPE"], ["DELETE", "ble.HID_KEY_DELETE"], ["Tab", "ble.HID_KEY_TAB"], ["Spacebar", "ble.HID_KEY_SPACEBAR"], ["- and (underscore)", "ble.HID_KEY_MINUS"], ["\x3d and +", "ble.HID_KEY_EQUAL"], ["[ and {", "ble.HID_KEY_LEFT_BRKT"], [" ] and }", "ble.HID_KEY_RIGHT_BRKT"], ["and |", "ble.HID_KEY_BACK_SLASH"], ["; and :", "ble.HID_KEY_SEMI_COLON"], ["\u2018\u2019 and \u201c\u201d", "ble.HID_KEY_SGL_QUOTE"], ["Grave Accent and Tilde", "ble.HID_KEY_GRV_ACCENT"], [", and \x3c", "ble.HID_KEY_COMMA"], [". and \x3e", "ble.HID_KEY_DOT"], ["/ and ?", "ble.HID_KEY_FWD_SLASH"], ["/ and ?", "ble.HID_KEY_CAPS_LOCK"], ["F1", "ble.HID_KEY_F1"], ["F2", "ble.HID_KEY_F2"], ["F3", "ble.HID_KEY_F3"], ["F4", "ble.HID_KEY_F4"], ["F5", "ble.HID_KEY_F5"], ["F6", "ble.HID_KEY_F6"], ["F7", "ble.HID_KEY_F7"], ["F8", "ble.HID_KEY_F8"], ["F9", "ble.HID_KEY_F9"], ["F10", "ble.HID_KEY_F10"], ["F11", "ble.HID_KEY_F11"], ["F12", "ble.HID_KEY_F12"], ["Print Screen", "ble.HID_KEY_PRNT_SCREEN"], ["Scroll Lock", "ble.HID_KEY_SCROLL_LOCK"], ["Pause", "ble.HID_KEY_PAUSE"], ["Insert", "ble.HID_KEY_INSERT"], ["Home", "ble.HID_KEY_HOME"], ["PageUp", "ble.HID_KEY_PAGE_UP"], ["Delete Forward", "ble.HID_KEY_DELETE_FWD"], ["End", "ble.HID_KEY_END"], ["PageDown", "ble.HID_KEY_PAGE_DOWN"], ["RightArrow", "ble.HID_KEY_RIGHT_ARROW"], ["LeftArrow", "ble.HID_KEY_LEFT_ARROW"], ["DownArrow", "ble.HID_KEY_DOWN_ARROW"], ["UpArrow", "ble.HID_KEY_UP_ARROW"], ["Num Lock and Clear", "ble.HID_KEY_NUM_LOCK"], [" /", "ble.HID_KEY_DIVIDE"], [" *", "ble.HID_KEY_MULTIPLY"], [" -", "ble.HID_KEY_SUBTRACT"], [" +-", "ble.HID_KEY_ADD"], [" ENTER", "ble.HID_KEY_ENTER"], [" 1 and End", "ble.HID_KEYPAD_1"], [" 2 and Down Arrow", "ble.HID_KEYPAD_2"], [" 3 and PageDn", "ble.HID_KEYPAD_3"], [" 4 and Lfet Arrow", "ble.HID_KEYPAD_4"], [" 5", "ble.HID_KEYPAD_5"], [" 6 and Right Arrow", "ble.HID_KEYPAD_6"], [" 7 and Home", "ble.HID_KEYPAD_7"], [" 8 and Up Arrow", "ble.HID_KEYPAD_8"], [" 9 and PageUp", "ble.HID_KEYPAD_9"], [" 0 and Insert", "ble.HID_KEYPAD_0"], [" . and Delete", "ble.HID_KEYPAD_DOT"], [" Mute", "ble.HID_KEY_MUTE"], [" Volume up", "ble.HID_KEY_VOLUME_UP"], [" Volume down", "ble.HID_KEY_VOLUME_DOWN"] ] }, { type: "input_value", name: "group" }] }) } }; Blockly.Blocks.CocoRobo_HID_keyboard_part_bluetooth = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: bluetooth_color, helpUrl: Blockly.Msg.CocoRobo_HID_keyboard_part_bluetooth_HELPURL, tooltip: Blockly.Msg.CocoRobo_HID_keyboard_part_bluetooth_TOOLTIP, message0: Blockly.Msg.CocoRobo_HID_keyboard_part_bluetooth_MESSAGE0, args0: [{ type: "field_dropdown", name: "HID_keyboard_group", options: [ ["L_CTRL", "ble.KEY_MASK_L_CTRL"], ["L_SHIFT", "ble.KEY_MASK_L_SHIFT"], ["L_ALT", "ble.KEY_MASK_L_ALT"], ["L_GUI", "ble.KEY_MASK_L_GUI"], ["R_CTRL", "ble.KEY_MASK_R_CTRL "], ["R_SHIFT", "ble.KEY_MASK_R_SHIFT"], ["R_ALT", "ble.KEY_MASK_R_ALT"], ["R_GUI", "ble.KEY_MASK_R_GUI"] ] }] }) } }; Blockly.Blocks.dict_create_with = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Dictionary, helpUrl: Blockly.Msg.DICT_CREATE_WITH_HELPURL, tooltip: Blockly.Msg.DICT_CREATE_WITH_TOOLTIP, message0: Blockly.Msg.DICT_CREATE_WITH_MESSAGE0, args0: [{ type: "input_value", name: "dict_name" }, { type: "input_value", name: "dict_items" }] }) } }; Blockly.Blocks.dict_create_with_items_insert = { init: function () { this.setColour(CategoryColors.Dictionary); this.appendDummyInput("").appendField(new Blockly.FieldLabel(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), "TIP"); this.itemCount_ = 3; this.updateShape_(); this.setOutput(!0); this.setMutator(new Blockly.Mutator(["dict_create_with_item"])); this.setTooltip(Blockly.Msg.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("dict_create_with_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("dict_create_with_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = [], c = 0; a;) b[c] = a.valueConnection_, a = a.nextConnection && a.nextConnection.targetBlock(), c++; this.itemCount_ = c; this.updateShape_(); for (c = 0; c < this.itemCount_; c++) b[c] && this.getInput("ADD" + c).connection.connect(b[c]) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.getInput("EMPTY") && this.removeInput("EMPTY"); for (var a = [], b = 0; this.getInput("ADD" + b); b++) a.push(this.getFieldValue("KEY" + b)), this.removeInput("ADD" + b); if (0 == this.itemCount_) this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_EMPTY_TITLE); else for (this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), b = 0; b < this.itemCount_; b++) this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput(a.length > b ? a[b] : 0 == b ? "key_0" : "key_" + b), "KEY" + b).appendField(":") }, getVars: function () { return [this.getFieldValue("VAR")] }, renameVar: function (a, b) { Blockly.Names.equals(a, this.getFieldValue("VAR")) && this.setTitleValue(b, "VAR") } }; Blockly.Blocks.dict_create_with_item = { init: function () { this.setColour(CategoryColors.Dictionary); this.appendDummyInput().appendField(Blockly.Msg.DICT_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setTooltip(Blockly.Msg.DICT_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.dict_create_with_container = { init: function () { this.setColour(CategoryColors.Dictionary); this.appendDummyInput().appendField(Blockly.Msg.DICT_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput("STACK"); this.setTooltip(Blockly.Msg.DICT_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.dict_key_value = { init: function () { this.jsonInit({ colour: CategoryColors.Dictionary, args0: [{ type: "input_value", name: "dict_name" }, { type: "input_value", name: "dict_items" }], output: ["String", "Number", "Boolean", "Array"], inputsInline: !0, helpUrl: Blockly.Msg.DICT_KEY_VALUE_HELPURL, tooltip: Blockly.Msg.DICT_KEY_VALUE_TOOLTIP, message0: Blockly.Msg.DICT_KEY_VALUE_MESSAGE0 }) } }; Blockly.Blocks.add_dict_key_value = { init: function () { this.jsonInit({ colour: CategoryColors.Dictionary, args0: [{ type: "input_value", name: "dict_name" }, { type: "input_value", name: "dict_items" }, { type: "input_value", name: "add_value" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.ADD_DICT_KEY_VALUE_HELPURL, tooltip: Blockly.Msg.ADD_DICT_KEY_VALUE_TOOLTIP, message0: Blockly.Msg.ADD_DICT_KEY_VALUE_MESSAGE0 }) } }; Blockly.Blocks.dict_length = { init: function () { this.jsonInit({ colour: CategoryColors.Dictionary, args0: [{ type: "input_value", name: "dict_name" }], output: "Number", inputsInline: !0, helpUrl: Blockly.Msg.DICT_LENGTH_HELPURL, tooltip: Blockly.Msg.DICT_LENGTH_TOOLTIP, message0: Blockly.Msg.DICT_LENGTH_MESSAGE0 }) } }; Blockly.Blocks.dict_key_exist = { init: function () { this.jsonInit({ colour: CategoryColors.Dictionary, args0: [{ type: "input_value", name: "dict_name" }, { type: "input_value", name: "dict_items" }], output: "Boolean", inputsInline: !0, helpUrl: Blockly.Msg.DICT_KEY_EXIST_HELPURL, tooltip: Blockly.Msg.DICT_KEY_EXIST_TOOLTIP, message0: Blockly.Msg.DICT_KEY_EXIST_MESSAGE0 }) } }; Blockly.Blocks.dict_key_or_val_list = { init: function () { this.jsonInit({ colour: CategoryColors.Dictionary, args0: [{ type: "input_value", name: "dict_name" }, { options: [ [Blockly.Msg.DICT_KEYS, "keys"], [Blockly.Msg.DICT_VALUES, "values"] ], type: "field_dropdown", name: "key_or_val" }], output: "Array", inputsInline: !0, helpUrl: Blockly.Msg.DICT_KEY_OR_VAL_LIST_HELPURL, // tooltip: Blockly.Msg.DICT_KEY_OR_VAL_LIST_TOOLTIP, message0: Blockly.Msg.DICT_KEY_OR_VAL_LIST_MESSAGE0 }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('key_or_val'); var TOOLTIPS = { 'keys': Blockly.Msg.DICT_KEY_OR_VAL_LIST_TOOLTIP.replace('%2', Blockly.Msg.DICT_KEYS), 'values': Blockly.Msg.DICT_KEY_OR_VAL_LIST_TOOLTIP.replace('%2', Blockly.Msg.DICT_VALUES) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.CocoRobo_input = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.Text, helpUrl: Blockly.Msg.CocoRobo_INPUT_HELPURL, tooltip: Blockly.Msg.CocoRobo_INPUT_TOOLTIP, message0: Blockly.Msg.CocoRobo_INPUT_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "imports" }] }) } }; Blockly.Blocks.file_to_list = { init: function () { this.jsonInit({ colour: CategoryColors.File, args0: [{ type: "input_value", name: "file_path" }, { options: [ [Blockly.Msg.CocoRobo_ENTER, "ENTER"], [Blockly.Msg.CocoRobo_COMMA, ","], [Blockly.Msg.CocoRobo_SEMICOLON, ";"], [Blockly.Msg.CocoRobo_SPACE, " "] ], type: "field_dropdown", name: "separator" }], output: "Array", inputsInline: !0, helpUrl: Blockly.Msg.FILE_TO_LIST_HELPURL, tooltip: Blockly.Msg.FILE_TO_LIST_TOOLTIP, message0: Blockly.Msg.FILE_TO_LIST_MESSAGE0 }) } }; Blockly.Blocks.file_to_bin = { init: function () { this.jsonInit({ colour: CategoryColors.File, args0: [{ type: "input_value", name: "file_path" }], output: "Array", inputsInline: !0, helpUrl: Blockly.Msg.FILE_TO_BIN_HELPURL, tooltip: Blockly.Msg.FILE_TO_BIN_TOOLTIP, message0: Blockly.Msg.FILE_TO_BIN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_init_file = { init: function () { this.jsonInit({ colour: CategoryColors.File, args0: [{ type: "input_value", name: "file_path" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_INIT_FILE_HELPURL, tooltip: Blockly.Msg.CocoRobo_INIT_FILE_TOOLTIP, message0: Blockly.Msg.CocoRobo_INIT_FILE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_write_file = { init: function () { this.jsonInit({ colour: CategoryColors.File, args0: [{ type: "input_value", name: "file_path" }, { type: "input_value", name: "data" }, { options: [ [Blockly.Msg.CocoRobo_ENTER, "ENTER"], [Blockly.Msg.CocoRobo_COMMA, ","], [Blockly.Msg.CocoRobo_SEMICOLON, ";"], [Blockly.Msg.CocoRobo_SPACE, " "] ], type: "field_dropdown", name: "separator" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_WRITE_FILE_HELPURL, tooltip: Blockly.Msg.CocoRobo_WRITE_FILE_TOOLTIP, message0: Blockly.Msg.CocoRobo_WRITE_FILE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_sdcard_init = { init: function () { this.jsonInit({ colour: CategoryColors.File, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_SDCARD_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_SDCARD_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_SDCARD_INIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_sdcard_mount = { init: function () { this.jsonInit({ colour: CategoryColors.File, args0: [{ check: "String", type: "input_value", name: "sd_path" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_SDCARD_MOUNT_HELPURL, tooltip: Blockly.Msg.CocoRobo_SDCARD_MOUNT_TOOLTIP, message0: Blockly.Msg.CocoRobo_SDCARD_MOUNT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_dev_i2c_init = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ type: "input_value", name: "freq" }, { check: "Number", type: "input_value", name: "scl" }, { check: "Number", type: "input_value", name: "sda" }], helpUrl: Blockly.Msg.CocoRobo_dev_i2c_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_dev_i2c_init_TOOLTIP, message0: Blockly.Msg.CocoRobo_dev_i2c_init_MESSAGE0, nextStatement: null, previousStatement: null, inputsInline: !0 }) } }; Blockly.Blocks.CocoRobo_i2c_init = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ type: "input_value", name: "freq" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_i2c_init_TOOLTIP, message0: Blockly.Msg.CocoRobo_i2c_init_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_i2c_read_write = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ name: "adr", type: "input_value", check: "Number" }, { name: "data", type: "input_value", check: ["Number", "String"] }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_i2c_read_write_TOOLTIP, message0: Blockly.Msg.CocoRobo_i2c_read_write_MESSAGE0, nextStatement: null, previousStatement: null, inputsInline: !0 }) } }; Blockly.Blocks.CocoRobo_i2c_readfrom = { init: function () { this.jsonInit({ colour: CategoryColors.Pin, args0: [{ name: "adr", type: "input_value", check: "Number" }, { name: "num", type: "input_value", check: "Number" }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_i2c_readfrom_TOOLTIP, message0: Blockly.Msg.CocoRobo_i2c_readfrom_MESSAGE0, output: "String", inputsInline: !0 }) } }; Blockly.Blocks.mqtt_common_setup = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_COMMON_SETUP_HELPURL, tooltip: Blockly.Msg.MQTT_COMMON_SETUP_TOOLTIP, message0: Blockly.Msg.MQTT_COMMON_SETUP_MESSAGE0, args0: [{ type: "input_dummy" }, { type: "input_value", name: "client_id" }, { type: "input_value", name: "server" }, { type: "input_value", name: "port" }, { type: "input_value", name: "user" }, { type: "input_value", name: "password" }, { type: "input_value", name: "keepalive" }] }) } }; Blockly.Blocks.mqtt_tencent_setup = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_TENCENT_SETUP_HELPURL, tooltip: Blockly.Msg.MQTT_TENCENT_SETUP_TOOLTIP, message0: Blockly.Msg.MQTT_TENCENT_SETUP_MESSAGE0, args0: [{ type: "input_dummy" }, { check: "String", type: "input_value", name: "Url" }, { check: "Number", type: "input_value", name: "Port" }, { check: "String", type: "input_value", name: "AppId" }, { check: "String", type: "input_value", name: "Device" }, { type: "input_dummy" }, { check: "String", type: "input_value", name: "ReportTopic" }, { check: "String", type: "input_value", name: "ControlTopic" }] }) } }; Blockly.Blocks.mqtt_setup = { init: function () { this.jsonInit({ nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_SETUP_HELPURL, tooltip: Blockly.Msg.MQTT_SETUP_TOOLTIP, message0: Blockly.Msg.MQTT_SETUP_MESSAGE0, args0: [{ type: "input_dummy" }, { check: "String", type: "input_value", name: "Server" }, { check: "String", type: "input_value", name: "Iot_id" }, { check: "String", type: "input_value", name: "Iot_pwd" }, { check: "String", type: "input_value", name: "Client_ID" }] }) } }; Blockly.Blocks.mqtt_connect = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_CONNECT_HELPURL, tooltip: Blockly.Msg.MQTT_CONNECT_TOOLTIP, message0: Blockly.Msg.MQTT_CONNECT_MESSAGE0 }) } }; Blockly.Blocks.mqtt_publish = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_PUBLISH_HELPURL, tooltip: Blockly.Msg.MQTT_PUBLISH_TOOLTIP, message0: Blockly.Msg.MQTT_PUBLISH_MESSAGE0, args0: [{ type: "input_value", name: "msg" }, { check: "String", type: "input_value", name: "topic" }] }) } }; Blockly.Blocks.mqtt_receive = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_RECEIVE_HELPURL, tooltip: Blockly.Msg.MQTT_RECEIVE_TOOLTIP, message0: Blockly.Msg.MQTT_RECEIVE_MESSAGE0, args0: [{ check: "Variable", type: "input_value", name: "topic" }, { type: "input_value", name: "msg" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.mqtt_rec_from_topic = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_REC_FROM_TOPIC_HELPURL, tooltip: Blockly.Msg.MQTT_REC_FROM_TOPIC_TOOLTIP, message0: Blockly.Msg.MQTT_REC_FROM_TOPIC_MESSAGE0, args0: [{ text: "rJO1km2oN", type: "field_input", name: "topic" }, { type: "input_value", name: "msg" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.mqtt_wait_msg = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_WAIT_MSG_HELPURL, tooltip: Blockly.Msg.MQTT_WAIT_MSG_TOOLTIP, message0: Blockly.Msg.MQTT_WAIT_MSG_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_USOCKET_BLOCK, "block"], [Blockly.Msg.CocoRobo_USOCKET_UNBLOCK, "unblock"] ], type: "field_dropdown", name: "mode" }] }) } }; Blockly.Blocks.mqtt_disconnect = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_DISCONNECT_HELPURL, tooltip: Blockly.Msg.MQTT_DISCONNECT_TOOLTIP, message0: Blockly.Msg.MQTT_DISCONNECT_MESSAGE0 }) } }; Blockly.Blocks.mqtt_last_will = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_MQTT, helpUrl: Blockly.Msg.MQTT_LAST_WILL_HELPURL, tooltip: Blockly.Msg.MQTT_LAST_WILL_TOOLTIP, message0: Blockly.Msg.MQTT_LAST_WILL_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "msg" }, { check: "String", type: "input_value", name: "topic" }] }) } }; Blockly.Blocks.CocoRobo_tinywebio_start = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_TinyWebIO, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_tinywebio_start_TOOLTIP, message0: Blockly.Msg.CocoRobo_tinywebio_start_MESSAGE0, args0: [{ name: "tinywebio_mode", options: [ [Blockly.Msg.CocoRobo_run_in_back, "0"], [Blockly.Msg.CocoRobo_run_in_front, "1"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_tinywebio_client_setup = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_TinyWebIO, helpUrl: Blockly.Msg.CocoRobo_tinywebio_client_setup_HELPURL, tooltip: Blockly.Msg.CocoRobo_tinywebio_client_setup_TOOLTIP, message0: Blockly.Msg.CocoRobo_tinywebio_client_setup_MESSAGE0, args0: [{ type: "input_dummy" }, { type: "input_value", name: "db_server", check: "String" }, { type: "input_value", name: "send_items", check: "String" }, { type: "input_value", name: "recv_items", check: "String" }, { name: "interval", type: "input_value", check: "Number" }] }) } }; Blockly.Blocks.CocoRobo_tinywebio_client_action = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_TinyWebIO, helpUrl: Blockly.Msg.CocoRobo_tinywebio_client_action_HELPURL, tooltip: Blockly.Msg.CocoRobo_tinywebio_client_action_TOOLTIP, message0: Blockly.Msg.CocoRobo_tinywebio_client_action_MESSAGE0, args0: [{ name: "action_mode", options: [ [Blockly.Msg.CocoRobo_tinywebio_client_action_start, "start"], [Blockly.Msg.CocoRobo_tinywebio_client_action_stop, "stop"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_blynk_terminal_widget_vpin = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "virtual_pin" }] }) } }; Blockly.Blocks.CocoRobo_blynk_sync_virtual = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "virtual_pin" }] }) } }; Blockly.Blocks.CocoRobo_blynk_on_disconnected = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_MESSAGE0 }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_blynk_on_connected = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_MESSAGE0 }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_blynktimer_run = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_blynk_run = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_RUN_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_RUN_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_RUN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_blynk_app_notify = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "notification" }] }) } }; Blockly.Blocks.CocoRobo_blynk_stop_timers = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "timer_num" }] }) } }; Blockly.Blocks.CocoRobo_blynk_set_property = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "attribute_name" }, { type: "input_value", name: "attribute_value" }] }) } }; Blockly.Blocks.CocoRobo_blynk_email = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_EMAIL_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_EMAIL_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_EMAIL_MESSAGE0, args0: [{ type: "input_dummy" }, { check: "String", type: "input_value", name: "subject" }, { check: "String", type: "input_value", name: "body" }] }) } }; Blockly.Blocks.CocoRobo_blynk_get_timers = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_blynktimer = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_BLYNKTIMER_MESSAGE0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNKTIMER_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNKTIMER_TOOLTIP, args0: [{ check: "Number", type: "input_value", name: "Num" }, { options: [ [Blockly.Msg.CocoRobo_PERIODIC, "False"], [Blockly.Msg.CocoRobo_ONE_SHOT, "True"] ], type: "field_dropdown", name: "Timer_mode" }, { check: "Number", type: "input_value", name: "period" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_blynk_sensor_data_to_app = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP, message0: Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0, args0: [{ type: "input_value", name: "sensor_data" }, { check: "Number", type: "input_value", name: "virtual_pin" }] }) } }; Blockly.Blocks.CocoRobo_blynk_app_data = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_APP_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_APP_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_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.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_blynk_setup = { init: function () { this.jsonInit({ nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_Blynk, helpUrl: Blockly.Msg.CocoRobo_BLYNK_SETUP_HELPURL, tooltip: Blockly.Msg.CocoRobo_BLYNK_SETUP_TOOLTIP, message0: Blockly.Msg.CocoRobo_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" }] }) } }; Blockly.Blocks.CocoRobo_onenet_option_boards = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet_WeChat, helpUrl: Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_TOOLTIP, message0: Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_MESSAGE0, args0: [{ options: WECHAT_APP_DEVICES, type: "field_dropdown", name: "option_boards" }] }) } }; Blockly.Blocks.CocoRobo_onenet_setup = { init: function () { this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); this.setColour(CategoryColors.IoT_OneNet); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_ONENET); this.appendValueInput("server").setCheck("String").appendField(Blockly.Msg.CocoRobo_SERVER); this.appendValueInput("device_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_DEVICE_ID); this.appendValueInput("product_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_PRODUCT_ID); this.appendValueInput("product_APIKey").setCheck("String").appendField(Blockly.Msg.CocoRobo_API_KEY); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setInputsInline(!1); this.setTooltip(Blockly.Msg.CocoRobo_ONENET_TOOLTIP) } }; Blockly.Blocks.CocoRobo_onenet_setup = { init: function () { this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); this.setColour(CategoryColors.IoT_OneNet); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_ONENET); this.appendValueInput("server").setCheck("String").appendField(Blockly.Msg.CocoRobo_SERVER); this.appendValueInput("device_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_DEVICE_ID); this.appendValueInput("product_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_PRODUCT_ID); this.appendValueInput("product_APIKey").setCheck("String").appendField(Blockly.Msg.CocoRobo_API_KEY); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setInputsInline(!1); this.setTooltip(Blockly.Msg.CocoRobo_ONENET_TOOLTIP) } }; Blockly.Blocks.CocoRobo_onenet_setup_wechat_app = { init: function () { this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); this.setColour(CategoryColors.IoT_OneNet_WeChat); this.appendDummyInput().appendField(Blockly.Msg.CocoRobo_ONENET_WECHAT_APP); this.appendValueInput("server").setCheck("String").appendField(Blockly.Msg.CocoRobo_SERVER); this.appendValueInput("device_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_DEVICE_ID); this.appendValueInput("product_id").setCheck("String").appendField(Blockly.Msg.CocoRobo_PRODUCT_ID); this.appendValueInput("product_APIKey").setCheck("String").appendField(Blockly.Msg.CocoRobo_API_KEY); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setInputsInline(!1); this.setTooltip(Blockly.Msg.CocoRobo_ONENET_TOOLTIP) } }; Blockly.Blocks.CocoRobo_onenet_recv = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_ONENET_RECV_MESSAGE0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_ONENET_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_RECV_TOOLTIP, args0: [{ type: "input_value", name: "message" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_onenet_recv_from_wechat_app = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet_WeChat, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP, args0: [{ type: "input_value", name: "name" }, { type: "input_value", name: "value" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_onenet_recv_msg = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_ONENET_RECV_MSG_MESSAGE0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_ONENET_RECV_MSG_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_RECV_MSG_TOOLTIP, args0: [{ type: "field_input", name: "message", text: "on" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_onenet_pub_value = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet, helpUrl: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_TOOLTIP, message0: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "NAME" }, { check: "Number", type: "input_value", name: "VALUE" }] }) } }; Blockly.Blocks.CocoRobo_onenet_pub_value_wechat_app = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet_WeChat, helpUrl: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_TOOLTIP, message0: Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "NAME" }, { check: "Number", type: "input_value", name: "VALUE" }] }) } }; Blockly.Blocks.CocoRobo_onenet_pub_dict = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet, helpUrl: Blockly.Msg.CocoRobo_ONENET_PUB_DICT_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_PUB_DICT_TOOLTIP, message0: Blockly.Msg.CocoRobo_ONENET_PUB_DICT_MESSAGE0, args0: [{ check: "Array", type: "input_value", name: "DICT" }] }) } }; Blockly.Blocks.CocoRobo_onenet_disconnect = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.IoT_OneNet, helpUrl: Blockly.Msg.CocoRobo_ONENET_DISCONNECT_HELPURL, tooltip: Blockly.Msg.CocoRobo_ONENET_DISCONNECT_TOOLTIP, message0: Blockly.Msg.CocoRobo_ONENET_DISCONNECT_MESSAGE0 }) } }; Blockly.Blocks.list_first_index = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.List, helpUrl: Blockly.Msg.LIST_FIRST_INDEX_HELPURL, // tooltip: Blockly.Msg.LIST_FIRST_INDEX_TOOLTIP, message0: Blockly.Msg.LIST_FIRST_INDEX_MESSAGE0, args0: [{ type: "input_value", name: "elem" }, { check: "Array", type: "input_value", name: "my_list" }, { options: [ [Blockly.Msg.FIRST, "first"], [Blockly.Msg.LAST, "last"] ], type: "field_dropdown", name: "last_or_first" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('last_or_first'); var TOOLTIPS = { 'first': Blockly.Msg.LIST_FIRST_INDEX_TOOLTIP.replace('%3', Blockly.Msg.FIRST), 'last': Blockly.Msg.LIST_FIRST_INDEX_TOOLTIP.replace('%3', Blockly.Msg.LAST) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.list_item_exist = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { type: "input_value", name: "list_item" }], output: "Boolean", inputsInline: !0, helpUrl: Blockly.Msg.LIST_ITEM_EXIST_HELPURL, tooltip: Blockly.Msg.LIST_ITEM_EXIST_TOOLTIP, message0: Blockly.Msg.LIST_ITEM_EXIST_MESSAGE0 }) } }; Blockly.Blocks.set_list_order_item = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "list_order" }, { check: "Number", type: "input_value", name: "list_order_item" }, { type: "input_value", name: "set_value" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.SET_LIST_ORDER_ITEM_HELPURL, tooltip: Blockly.Msg.SET_LIST_ORDER_ITEM_TOOLTIP, message0: Blockly.Msg.SET_LIST_ORDER_ITEM_MESSAGE0 }) } }; Blockly.Blocks.insert_list_order_item = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "("], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "(-"] ], type: "field_dropdown", name: "list_order" }, { check: "Number", type: "input_value", name: "list_order_item" }, { type: "input_value", name: "set_value" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.INSERT_LIST_ORDER_ITEM_HELPURL, tooltip: Blockly.Msg.INSERT_LIST_ORDER_ITEM_TOOLTIP, message0: Blockly.Msg.INSERT_LIST_ORDER_ITEM_MESSAGE0 }) } }; Blockly.Blocks.list_order_item = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "list_order" }, { check: "Number", type: "input_value", name: "list_order_item" }], output: ["Number", "String", "Boolean", "Array"], inputsInline: !0, helpUrl: Blockly.Msg.LIST_ORDER_ITEM_HELPURL, tooltip: Blockly.Msg.LIST_ORDER_ITEM_TOOLTIP, message0: Blockly.Msg.LIST_ORDER_ITEM_MESSAGE0 }) } }; Blockly.Blocks.parts_of_list = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "list_start_order" }, { check: "Number", type: "input_value", name: "start_item" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, ":"], [Blockly.Msg.CocoRobo_REVERSE_ORDER, ":-"] ], type: "field_dropdown", name: "list_end_order" }, { check: "Number", type: "input_value", name: "end_item" }], output: null, inputsInline: !0, helpUrl: Blockly.Msg.PARTS_OF_LIST_HELPURL, tooltip: Blockly.Msg.PARTS_OF_LIST_TOOLTIP, message0: Blockly.Msg.PARTS_OF_LIST_MESSAGE0 }) } }; Blockly.Blocks.list_to_tuple = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ check: "Array", type: "input_value", name: "list_name" }], output: null, inputsInline: !0, helpUrl: Blockly.Msg.LIST_TO_TUPLE_HELPURL, tooltip: Blockly.Msg.LIST_TO_TUPLE_TOOLTIP, message0: Blockly.Msg.LIST_TO_TUPLE_MESSAGE0 }) } }; Blockly.Blocks.lists_clear = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_lists_clear_MESSAGE0, args0: [{ check: "Array", type: "input_value", name: "list_name" }], nextStatement: null, previousStatement: null, inputsInline: !0, colour: CategoryColors.List, tooltip: Blockly.Msg.CocoRobo_lists_clear_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_lists_clear_HELPURL }) } }; Blockly.Blocks.lists_append = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_lists_append_MESSAGE0, args0: [{ check: "Array", type: "input_value", name: "list_name" }, { type: "input_value", name: "last_item", check: ["String", "Number"] }], nextStatement: null, previousStatement: null, inputsInline: !0, colour: CategoryColors.List, tooltip: Blockly.Msg.CocoRobo_lists_append_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_lists_append_HELPURL }) } }; Blockly.Blocks.lists_extend = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_lists_extend_MESSAGE0, args0: [{ check: "Array", type: "input_value", name: "list_name" }, { type: "input_value", name: "extend_list", check: "Array" }], nextStatement: null, previousStatement: null, inputsInline: !0, colour: CategoryColors.List, tooltip: Blockly.Msg.CocoRobo_lists_extend_TOOLTIP, helpUrl: Blockly.Msg.CocoRobo_lists_extend_HELPURL }) } }; Blockly.Blocks.CocoRobo_return_list = { init: function () { this.jsonInit({ colour: CategoryColors.List, args0: [{ type: "input_value", name: "list_name" }, { type: "input_value", name: "list_items" }], nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_return_list_TOOLTIP, message0: Blockly.Msg.CocoRobo_return_list_MESSAGE0, inputsInline: !0 }) } }; Blockly.Blocks.CocoRobo_music_note = { init: function () { this.jsonInit({ inputsInline: !0, colour: CategoryColors.Music, output: "String", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_music_note_TOOLTIP, message0: Blockly.Msg.CocoRobo_music_note_MESSAGE0, args0: [{ name: "gamut", options: [ ["A", "A"], ["B", "B"], ["C", "C"], ["D", "D"], ["E", "E"], ["F", "F"], ["G", "G"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "num1" }, { check: "Number", type: "input_value", name: "num2" }] }) } }; Blockly.Blocks.CocoRobo_music_play = { init: function () { this.jsonInit({ inputsInline: !1, colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_PLAY_TOOLTIP, message0: Blockly.Msg.CocoRobo_MUSIC_PLAY_MESSAGE0, args0: [{ name: "melody", options: [ ["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"], [Blockly.Msg.CocoRobo_MUSIC_GE_CHANG_ZU_GUO, "GE_CHANG_ZU_GUO"], [Blockly.Msg.CocoRobo_MUSIC_DONG_FANG_HONG, "DONG_FANG_HONG"], [Blockly.Msg.CocoRobo_MUSIC_CAI_YUN_ZHUI_YUE, "CAI_YUN_ZHUI_YUE"], [Blockly.Msg.CocoRobo_MUSIC_ZOU_JIN_XIN_SHI_DAI, "ZOU_JIN_XIN_SHI_DAI"], [Blockly.Msg.CocoRobo_MUSIC_MO_LI_HUA, "MO_LI_HUA"], [Blockly.Msg.CocoRobo_MUSIC_YI_MENG_SHAN_XIAO_DIAO, "YI_MENG_SHAN_XIAO_DIAO"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.CocoRobo_music_play_until_end = { init: function () { this.jsonInit({ inputsInline: !1, colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_PLAY_UNTIL_END_TOOLTIP, message0: Blockly.Msg.CocoRobo_MUSIC_PLAY_UNTIL_END_MESSAGE0, args0: [{ name: "melody", options: [ ["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"], [Blockly.Msg.CocoRobo_MUSIC_GE_CHANG_ZU_GUO, "GE_CHANG_ZU_GUO"], [Blockly.Msg.CocoRobo_MUSIC_DONG_FANG_HONG, "DONG_FANG_HONG"], [Blockly.Msg.CocoRobo_MUSIC_CAI_YUN_ZHUI_YUE, "CAI_YUN_ZHUI_YUE"], [Blockly.Msg.CocoRobo_MUSIC_ZOU_JIN_XIN_SHI_DAI, "ZOU_JIN_XIN_SHI_DAI"], [Blockly.Msg.CocoRobo_MUSIC_MO_LI_HUA, "MO_LI_HUA"], [Blockly.Msg.CocoRobo_MUSIC_YI_MENG_SHAN_XIAO_DIAO, "YI_MENG_SHAN_XIAO_DIAO"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.microbit_music_play_built_in = { init: function () { this.jsonInit({ inputsInline: !1, colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0, args0: [{ name: "melody", options: [ ["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"], [Blockly.Msg.CocoRobo_MUSIC_GE_CHANG_ZU_GUO, "GE_CHANG_ZU_GUO"], [Blockly.Msg.CocoRobo_MUSIC_DONG_FANG_HONG, "DONG_FANG_HONG"], [Blockly.Msg.CocoRobo_MUSIC_CAI_YUN_ZHUI_YUE, "CAI_YUN_ZHUI_YUE"], [Blockly.Msg.CocoRobo_MUSIC_ZOU_JIN_XIN_SHI_DAI, "ZOU_JIN_XIN_SHI_DAI"], [Blockly.Msg.CocoRobo_MUSIC_MO_LI_HUA, "MO_LI_HUA"], [Blockly.Msg.CocoRobo_MUSIC_YI_MENG_SHAN_XIAO_DIAO, "YI_MENG_SHAN_XIAO_DIAO"] ], type: "field_dropdown" }, { checked: !0, type: "field_checkbox", name: "wait" }, { checked: !1, type: "field_checkbox", name: "loop" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.CocoRobo_music_pin_p6 = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_MUSIC_PIN_P6_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_PIN_P6_TOOLTIP, message0: "%1", args0: [{ options: [ [Blockly.Msg.CocoRobo_MUSIC_PIN_P6, "6"], ["P0", "0"], ["P1", "1"], ["P8", "8"], ["P9", "9"], ["P13", "13"], ["P14", "14"], ["P15", "15"], ["P16", "16"], ["P19", "19"], ["P20", "20"] ], type: "field_dropdown", name: "music_pin" }] }) } }; Blockly.Blocks.microbit_music_pitch = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_PITCH_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_PITCH_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "pitch" }, { type: "input_dummy" }, { check: "Number", type: "input_value", name: "duration" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.microbit_music_play_list_of_notes = { init: function () { this.jsonInit({ colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0, args0: [{ check: "Array", type: "input_value", name: "notes" }, { checked: !0, type: "field_checkbox", name: "wait" }, { type: "input_dummy" }, { checked: !1, type: "field_checkbox", name: "loop" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.microbit_music_reset = { init: function () { this.jsonInit({ colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_RESET_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_RESET_MESSAGE0 }) } }; Blockly.Blocks.microbit_music_stop = { init: function () { this.jsonInit({ colour: CategoryColors.Music, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_STOP_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_STOP_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.microbit_music_set_tempo = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "ticks" }, { check: "Number", type: "input_value", name: "bpm" }] }) } }; Blockly.Blocks.microbit_music_set_tempo_speed = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "bpm" }] }) } }; Blockly.Blocks.microbit_music_get_tempo = { init: function () { this.jsonInit({ colour: CategoryColors.Music, output: "Array", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP, message0: Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_music_range_pitch = { init: function () { this.jsonInit({ colour: CategoryColors.Music, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_music_HELPURL, tooltip: Blockly.Msg.CocoRobo_music_range_pitch_TOOLTIP, message0: Blockly.Msg.CocoRobo_music_range_pitch_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "start" }, { check: "Number", type: "input_value", name: "end" }, { check: "Number", type: "input_value", name: "step" }, { check: "Number", type: "input_value", name: "time" }, { check: "Number", type: "input_value", name: "pin" }] }) } }; Blockly.Blocks.CocoRobo_music_tone_tempo = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_TOOLTIP, message0: Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_MESSAGE0, args0: [{ type: "input_value", name: "musical_note", check: "String" }, { type: "input_value", name: "pin", check: "Number" }] }) } }; Blockly.Blocks.CocoRobo_music_tone = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_MUSIC_TONE_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_TONE_TOOLTIP, message0: Blockly.Msg.CocoRobo_MUSIC_TONE_MESSAGE0, args0: [{ name: "music_tone", options: music_tone_freq, type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_music_musical_note = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_MESSAGE0, args0: [{ name: "musical_note", options: musical_note, type: "field_dropdown" }, { name: "music_tick", options: music_tick, type: "field_dropdown" }], inputsInline: !0, output: "String", colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_TOOLTIP }) } }; Blockly.Blocks.CocoRobo_music_tick = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Music, helpUrl: Blockly.Msg.CocoRobo_MUSIC_TICK_HELPURL, tooltip: Blockly.Msg.CocoRobo_MUSIC_TICK_TOOLTIP, message0: Blockly.Msg.CocoRobo_MUSIC_TICK_MESSAGE0, args0: [{ name: "music_tick", options: music_tick, type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_init = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_init_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_init_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "analogP_IO" }, { check: "Number", type: "input_value", name: "n" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_single = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_single_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_single_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "order" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_single_gui = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_single_gui_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_single_gui_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "order" }, { type: "field_colour", name: "COLOUR", colour: "#ff0000" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_show = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_show_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_show_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_off = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_off_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_off_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_all = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_all_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_all_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_all_gui = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_neopixel_init_HELPURL, tooltip: Blockly.Msg.CocoRobo_neopixel_all_gui_TOOLTIP, message0: Blockly.Msg.CocoRobo_neopixel_all_gui_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { type: "field_colour", name: "COLOUR", colour: "#ff0000" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_rainbow = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_HELPURL, tooltip: Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_TOOLTIP, message0: Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "n" }, { check: "Number", type: "input_value", name: "bright" }, { check: "Number", type: "input_value", name: "offset" }] }) } }; Blockly.Blocks.CocoRobo_neopixel_brightness = { init: function () { this.jsonInit({ colour: CategoryColors.Neopixel, inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_HELPURL, tooltip: Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_TOOLTIP, message0: Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_MESSAGE0, args0: [{ type: "field_input", name: "neopixel_name", text: "my_rgb" }, { check: "Number", type: "input_value", name: "bright" }] }) } }; Blockly.Blocks.CocoRobo_display_FrameBuffer = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_FrameBuffer_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_FrameBuffer_MESSAGE0, args0: [{ check: ["Array"], type: "input_value", name: "bmp" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }, { name: "scan_mode", options: [ [Blockly.Msg.CocoRobo_horizontal, "HLSB"], [Blockly.Msg.CocoRobo_vertical, "VLSB"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_display_blit = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_blit_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_blit_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }] }) } }; Blockly.Blocks.CocoRobo_front_reverse = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_front_reverse_TOOLTIP, message0: Blockly.Msg.CocoRobo_front_reverse_MESSAGE0, args0: [{ name: "front_reverse", options: [ [Blockly.Msg.CocoRobo_front, "0"], [Blockly.Msg.CocoRobo_reverse, "1"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_images_append = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_images_append_TOOLTIP, message0: Blockly.Msg.CocoRobo_images_append_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "num" }, { check: "Number", type: "input_value", name: "period" }, { check: "Number", type: "input_value", name: "Length" }, { check: "Number", type: "input_value", name: "Width" }] }) } }; Blockly.Blocks.CocoRobo_display_Show = { init: function () { this.jsonInit({ nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_Show_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_Show_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_display_DispChar = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_display_DispChar_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_DispChar_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_DispChar_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "message" }, { options: [ [Blockly.Msg.CocoRobo_DISPCHAR_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_2, "2"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_3, "3"], ["XOR", "4"] ], type: "field_dropdown", name: "TEXTMODE" }] }) } }; Blockly.Blocks.CocoRobo_display_DispChar_5lines = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_DispChar_5lines_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_DispChar_5lines_MESSAGE0, args0: [{ type: "input_value", name: "DispChar_5lines" }, { check: "String", type: "input_value", name: "message" }, { options: [ [Blockly.Msg.CocoRobo_DISPCHAR_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_2, "2"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_3, "3"], ["XOR", "4"] ], type: "field_dropdown", name: "TEXTMODE" }] }) } }; Blockly.Blocks.CocoRobo_clear_dispchar_5lines = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_HELPURL, tooltip: Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_TOOLTIP, message0: Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_MESSAGE0, args0: [{ name: "DispChar_5lines", type: "input_value" }] }) } }; Blockly.Blocks.CocoRobo_4_lines = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_4_LINES_MESSAGE0, args0: [{ name: "CocoRobo_4_lines", options: [ ["1", "0"], ["2", "16"], ["3", "32"], ["4", "48"] ], type: "field_dropdown" }], inputsInline: !0, output: "Number", colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_4_LINES_HELPURL, tooltip: Blockly.Msg.CocoRobo_4_LINES_TOOLTIP }) } }; Blockly.Blocks.CocoRobo_display_fill = { init: function () { this.jsonInit({ message0: "%1 %2 " + Blockly.Msg.CocoRobo_display_fill_MESSAGE0, args0: [{ type: "field_image", src: "blockly/media/screen_init_header.png", width: "42", height: "42", alt: "*", flipRtl: false }, { type: "input_dummy" } ], colour: CategoryColors.Show, // args0: [{ // name: "display_fill", // options: [[Blockly.Msg.CocoRobo_display_fill_O, "fill(0)"]], //[Blockly.Msg.CocoRobo_display_fill_0, "fill(0)"], [Blockly.Msg.CocoRobo_display_fill_1, "fill(1)"], [Blockly.Msg.CocoRobo_display_invert_0, "invert(0)"], [Blockly.Msg.CocoRobo_display_invert_1, "invert(1)"] // type: "field_dropdown" // }], helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_fill_TOOLTIP, previousStatement: null, nextStatement: null // message0: }) } }; Blockly.Blocks.CocoRobo_lcd_pixel_option = { init: function () { this.jsonInit({ colour: CategoryColors.Show, output: "Number", helpUrl: "", tooltip: "", message0: "%1", args0: [{ options: [ [Blockly.Msg.CocoRobo_display_pixel_1, "1"], [Blockly.Msg.CocoRobo_display_pixel_0, "0"] ], type: "field_dropdown", name: "VALUE" }] }) } }; Blockly.Blocks.CocoRobo_display_pixel = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_pixel_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_pixel_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "display_pixel" }] }) } }; Blockly.Blocks.CocoRobo_ProgressBar = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "width", type: "input_value", check: "Number" }, { name: "height", type: "input_value", check: "Number" }, { name: "progress", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_ProgressBar_TOOLTIP, message0: Blockly.Msg.CocoRobo_ProgressBar_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_stripBar = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "dir_h_v", options: [ [Blockly.Msg.CocoRobo_vertical, "0"], [Blockly.Msg.CocoRobo_horizontal, "1"] ], type: "field_dropdown" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "width", type: "input_value", check: "Number" }, { name: "height", type: "input_value", check: "Number" }, { name: "progress", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_stripBar_TOOLTIP, message0: Blockly.Msg.CocoRobo_stripBar_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_hvline = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_DISPLAY_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPLAY_MODE_0, "0"] ], type: "field_dropdown" }, { name: "dir_h_v", options: [ [Blockly.Msg.CocoRobo_vertical, "0"], [Blockly.Msg.CocoRobo_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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_HVLINE_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_HVLINE_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_hline = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], 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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_hline_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_hline_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_vline = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], 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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_vline_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_vline_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_line = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_line_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_line_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_shape_rect = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_DISPLAY_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPLAY_MODE_0, "0"] ], type: "field_dropdown" }, { name: "shape", options: [ [Blockly.Msg.CocoRobo_DISPLAY_HOLLOW, "rect"], [Blockly.Msg.CocoRobo_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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_RECT_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_RECT_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_rect = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], 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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_rect_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_rect_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_RoundRect = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], 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: "r", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_RoundRect_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_RoundRect_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_fill_rect = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], 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: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_fill_rect_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_fill_rect_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_shape_circle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_DISPLAY_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPLAY_MODE_0, "0"] ], type: "field_dropdown" }, { name: "shape", options: [ [Blockly.Msg.CocoRobo_DISPLAY_HOLLOW, "circle"], [Blockly.Msg.CocoRobo_DISPLAY_SOLID, "fill_circle"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "radius", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_CIRCLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_CIRCLE_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_fill_circle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "radius", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_fill_circle_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_fill_circle_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_circle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "radius", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_circle_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_circle_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_shape_triangle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_DISPLAY_MODE_1, "1"], [Blockly.Msg.CocoRobo_DISPLAY_MODE_0, "0"] ], type: "field_dropdown" }, { name: "shape", options: [ [Blockly.Msg.CocoRobo_DISPLAY_HOLLOW, "triangle"], [Blockly.Msg.CocoRobo_DISPLAY_SOLID, "fill_triangle"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "x2", type: "input_value", check: "Number" }, { name: "y2", type: "input_value", check: "Number" }, { name: "x3", type: "input_value", check: "Number" }, { name: "y3", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_TRIANGLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_SHAPE_TRIANGLE_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_triangle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "x2", type: "input_value", check: "Number" }, { name: "y2", type: "input_value", check: "Number" }, { name: "x3", type: "input_value", check: "Number" }, { name: "y3", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_triangle_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_triangle_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_fill_triangle = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], type: "field_dropdown" }, { type: "input_dummy" }, { name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { name: "x2", type: "input_value", check: "Number" }, { name: "y2", type: "input_value", check: "Number" }, { name: "x3", type: "input_value", check: "Number" }, { name: "y3", type: "input_value", check: "Number" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_fill_triangle_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_fill_triangle_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_display_Bitmap = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "state", options: [ [Blockly.Msg.CocoRobo_display_hline_1, "1"], [Blockly.Msg.CocoRobo_display_hline_0, "0"] ], type: "field_dropdown" }, { 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" }, { check: ["String", "Array"], type: "input_value", name: "Bitmap" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_display_Bitmap_TOOLTIP, message0: Blockly.Msg.CocoRobo_display_Bitmap_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_get_pbm_data = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ check: "String", type: "input_value", name: "file_path" }, { name: "select", check: "String", type: "field_dropdown", options: [ [Blockly.Msg.CocoRobo_DISPCHAR_MODE_1, "0"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_2, "1"] ] }], output: "Array", helpUrl: Blockly.Msg.CocoRobo_GET_PBM_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_PBM_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_PBM_DATA_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_get_pbm_data_custom = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ check: "String", type: "input_value", name: "file_path" }, { name: "select", check: "String", type: "field_dropdown", options: [ [Blockly.Msg.CocoRobo_DISPCHAR_MODE_1, "0"], [Blockly.Msg.CocoRobo_DISPCHAR_MODE_2, "1"] ] }], output: "Array", helpUrl: Blockly.Msg.CocoRobo_GET_PBM_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_PBM_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_PBM_DATA_CUSTOM_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_display_pbm_data = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "x", type: "input_value", check: "Number" }, { name: "y", type: "input_value", check: "Number" }, { check: "Array", type: "input_value", name: "pbm_data" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_bitmap_from_file = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ 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" }, { check: "Array", type: "input_value", name: "pbm_data" }], inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_MESSAGE0, nextStatement: null, previousStatement: null }) } }; Blockly.Blocks.CocoRobo_pbm_image = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ type: "field_image", name: "file_image", src: "/static/face/1.png", width: 128, height: 64, alt: "*" }, { name: "path", options: [ [Blockly.Msg.CocoRobo_FACE_1, "face/1.pbm"], [Blockly.Msg.CocoRobo_FACE_2, "face/2.pbm"], [Blockly.Msg.CocoRobo_FACE_3, "face/3.pbm"], [Blockly.Msg.CocoRobo_FACE_4, "face/4.pbm"], [Blockly.Msg.CocoRobo_FACE_5, "face/5.pbm"], [Blockly.Msg.CocoRobo_FACE_6, "face/6.pbm"], [Blockly.Msg.CocoRobo_FACE_7, "face/7.pbm"], [Blockly.Msg.CocoRobo_FACE_8, "face/8.pbm"], [Blockly.Msg.CocoRobo_FACE_9, "face/9.pbm"], [Blockly.Msg.CocoRobo_FACE_10, "face/10.pbm"], [Blockly.Msg.CocoRobo_FACE_11, "face/11.pbm"], [Blockly.Msg.CocoRobo_FACE_12, "face/12.pbm"], [Blockly.Msg.CocoRobo_FACE_ROCK, "face/rock.pbm"], [Blockly.Msg.CocoRobo_FACE_ROCK_S, "face/rock_s.pbm"], [Blockly.Msg.CocoRobo_FACE_PAPER, "face/paper.pbm"], [Blockly.Msg.CocoRobo_FACE_PAPER_S, "face/paper_s.pbm"], [Blockly.Msg.CocoRobo_FACE_SCISSORS, "face/scissors.pbm"], [Blockly.Msg.CocoRobo_FACE_SCISSORS_S, "face/scissors_s.pbm"], ["Expressions/Big smile.pbm", "face/Expressions/Big smile.pbm"], ["Expressions/Heart large.pbm", "face/Expressions/Heart large.pbm"], ["Expressions/Heart small.pbm", "face/Expressions/Heart small.pbm"], ["Expressions/Mouth 1 open.pbm", "face/Expressions/Mouth 1 open.pbm"], ["Expressions/Mouth 1 shut.pbm", "face/Expressions/Mouth 1 shut.pbm"], ["Expressions/Mouth 2 open.pbm", "face/Expressions/Mouth 2 open.pbm"], ["Expressions/Mouth 2 shut.pbm", "face/Expressions/Mouth 2 shut.pbm"], ["Expressions/Sad.pbm", "face/Expressions/Sad.pbm"], ["Expressions/Sick.pbm", "face/Expressions/Sick.pbm"], ["Expressions/Smile.pbm", "face/Expressions/Smile.pbm"], ["Expressions/Swearing.pbm", "face/Expressions/Swearing.pbm"], ["Expressions/Talking.pbm", "face/Expressions/Talking.pbm"], ["Expressions/Wink.pbm", "face/Expressions/Wink.pbm"], ["Expressions/ZZZ.pbm", "face/Expressions/ZZZ.pbm"], ["Eyes/Angry.pbm", "face/Eyes/Angry.pbm"], ["Eyes/Awake.pbm", "face/Eyes/Awake.pbm"], ["Eyes/Black eye.pbm", "face/Eyes/Black eye.pbm"], ["Eyes/Bottom left.pbm", "face/Eyes/Bottom left.pbm"], ["Eyes/Bottom right.pbm", "face/Eyes/Bottom right.pbm"], ["Eyes/Crazy 1.pbm", "face/Eyes/Crazy 1.pbm"], ["Eyes/Crazy 2.pbm", "face/Eyes/Crazy 2.pbm"], ["Eyes/Disappointed.pbm", "face/Eyes/Disappointed.pbm"], ["Eyes/Dizzy.pbm", "face/Eyes/Dizzy.pbm"], ["Eyes/Down.pbm", "face/Eyes/Down.pbm"], ["Eyes/Evil.pbm", "face/Eyes/Evil.pbm"], ["Eyes/Hurt.pbm", "face/Eyes/Hurt.pbm"], ["Eyes/Knocked out.pbm", "face/Eyes/Knocked out.pbm"], ["Eyes/Love.pbm", "face/Eyes/Love.pbm"], ["Eyes/Middle left.pbm", "face/Eyes/Middle left.pbm"], ["Eyes/Middle right.pbm", "face/Eyes/Middle right.pbm"], ["Eyes/Neutral.pbm", "face/Eyes/Neutral.pbm"], ["Eyes/Nuclear.pbm", "face/Eyes/Nuclear.pbm"], ["Eyes/Pinch left.pbm", "face/Eyes/Pinch left.pbm"], ["Eyes/Pinch middle.pbm", "face/Eyes/Pinch middle.pbm"], ["Eyes/Pinch right.pbm", "face/Eyes/Pinch right.pbm"], ["Eyes/Tear.pbm", "face/Eyes/Tear.pbm"], ["Eyes/Tired left.pbm", "face/Eyes/Tired left.pbm"], ["Eyes/Tired middle.pbm", "face/Eyes/Tired middle.pbm"], ["Eyes/Tired right.pbm", "face/Eyes/Tired right.pbm"], ["Eyes/Toxic.pbm", "face/Eyes/Toxic.pbm"], ["Eyes/Up.pbm", "face/Eyes/Up.pbm"], ["Eyes/Winking.pbm", "face/Eyes/Winking.pbm"], ["Information/Accept.pbm", "face/Information/Accept.pbm"], ["Information/Backward.pbm", "face/Information/Backward.pbm"], ["Information/Decline.pbm", "face/Information/Decline.pbm"], ["Information/Forward.pbm", "face/Information/Forward.pbm"], ["Information/Left.pbm", "face/Information/Left.pbm"], ["Information/No go.pbm", "face/Information/No go.pbm"], ["Information/Question mark.pbm", "face/Information/Question mark.pbm"], ["Information/Right.pbm", "face/Information/Right.pbm"], ["Information/Stop 1.pbm", "face/Information/Stop 1.pbm"], ["Information/Stop 2.pbm", "face/Information/Stop 2.pbm"], ["Information/Thumbs down.pbm", "face/Information/Thumbs down.pbm"], ["Information/Thumbs up.pbm", "face/Information/Thumbs up.pbm"], ["Information/Warning.pbm", "face/Information/Warning.pbm"], ["Objects/Bomb.pbm", "face/Objects/Bomb.pbm"], ["Objects/Boom.pbm", "face/Objects/Boom.pbm"], ["Objects/Fire.pbm", "face/Objects/Fire.pbm"], ["Objects/Flowers.pbm", "face/Objects/Flowers.pbm"], ["Objects/Forest.pbm", "face/Objects/Forest.pbm"], ["Objects/Light off.pbm", "face/Objects/Light off.pbm"], ["Objects/Light on.pbm", "face/Objects/Light on.pbm"], ["Objects/Lightning.pbm", "face/Objects/Lightning.pbm"], ["Objects/Night.pbm", "face/Objects/Night.pbm"], ["Objects/Pirate.pbm", "face/Objects/Pirate.pbm"], ["Objects/Snow.pbm", "face/Objects/Snow.pbm"], ["Objects/Target.pbm", "face/Objects/Target.pbm"], ["Progress/Bar 0.pbm", "face/Progress/Bar 0.pbm"], ["Progress/Bar 1.pbm", "face/Progress/Bar 1.pbm"], ["Progress/Bar 2.pbm", "face/Progress/Bar 2.pbm"], ["Progress/Bar 3.pbm", "face/Progress/Bar 3.pbm"], ["Progress/Bar 4.pbm", "face/Progress/Bar 4.pbm"], ["Progress/Dial 0.pbm", "face/Progress/Dial 0.pbm"], ["Progress/Dial 1.pbm", "face/Progress/Dial 1.pbm"], ["Progress/Dial 2.pbm", "face/Progress/Dial 2.pbm"], ["Progress/Dial 3.pbm", "face/Progress/Dial 3.pbm"], ["Progress/Dial 4.pbm", "face/Progress/Dial 4.pbm"], ["Progress/Dots 0.pbm", "face/Progress/Dots 0.pbm"], ["Progress/Dots 1.pbm", "face/Progress/Dots 1.pbm"], ["Progress/Dots 2.pbm", "face/Progress/Dots 2.pbm"], ["Progress/Dots 3.pbm", "face/Progress/Dots 3.pbm"], ["Progress/Hourglass 0.pbm", "face/Progress/Hourglass 0.pbm"], ["Progress/Hourglass 1.pbm", "face/Progress/Hourglass 1.pbm"], ["Progress/Hourglass 2.pbm", "face/Progress/Hourglass 2.pbm"], ["Progress/Timer 0.pbm", "face/Progress/Timer 0.pbm"], ["Progress/Timer 1.pbm", "face/Progress/Timer 1.pbm"], ["Progress/Timer 2.pbm", "face/Progress/Timer 2.pbm"], ["Progress/Timer 3.pbm", "face/Progress/Timer 3.pbm"], ["Progress/Timer 4.pbm", "face/Progress/Timer 4.pbm"], ["Progress/Water level 0.pbm", "face/Progress/Water level 0.pbm"], ["Progress/Water level 1.pbm", "face/Progress/Water level 1.pbm"], ["Progress/Water level 2.pbm", "face/Progress/Water level 2.pbm"], ["Progress/Water level 3.pbm", "face/Progress/Water level 3.pbm"], ["System/Accept_1.pbm", "face/System/Accept_1.pbm"], ["System/Accept_2.pbm", "face/System/Accept_2.pbm"], ["System/Alert.pbm", "face/System/Alert.pbm"], ["System/Box.pbm", "face/System/Box.pbm"], ["System/Busy_0.pbm", "face/System/Busy_0.pbm"], ["System/Busy_1.pbm", "face/System/Busy_1.pbm"], ["System/Decline_1.pbm", "face/System/Decline_1.pbm"], ["System/Decline_2.pbm", "face/System/Decline_2.pbm"], ["System/Dot_empty.pbm", "face/System/Dot_empty.pbm"], ["System/Dot_full.pbm", "face/System/Dot_full.pbm"], ["System/Play.pbm", "face/System/Play.pbm"], ["System/Slider_0.pbm", "face/System/Slider_0.pbm"], ["System/Slider_1.pbm", "face/System/Slider_1.pbm"], ["System/Slider_2.pbm", "face/System/Slider_2.pbm"], ["System/Slider_3.pbm", "face/System/Slider_3.pbm"], ["System/Slider_4.pbm", "face/System/Slider_4.pbm"], ["System/Slider_5.pbm", "face/System/Slider_5.pbm"], ["System/Slider_6.pbm", "face/System/Slider_6.pbm"], ["System/Slider_7.pbm", "face/System/Slider_7.pbm"], ["System/Slider_8.pbm", "face/System/Slider_8.pbm"] ], type: "field_dropdown" }, { type: "field_label", name: "size_image", text: "64 * 64" }], output: "String", helpUrl: "", tooltip: "", message0: "%1 %2 %3" }) } }; Blockly.Blocks.CocoRobo_font = { init: function () { this.jsonInit({ colour: CategoryColors.Show, args0: [{ name: "font", options: [ [Blockly.Msg.CocoRobo_FONT_DIGIFACE_11, "font.digiface_11"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_16, "font.digiface_16"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_21, "font.digiface_21"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_30, "font.digiface_30"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_44, "font.digiface_44"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_30, "font.digiface_it_30"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_42, "font.digiface_it_42"], [Blockly.Msg.CocoRobo_FONT_DVSM_12, "font.dvsm_12"], [Blockly.Msg.CocoRobo_FONT_DVSM_16, "font.dvsm_16"], [Blockly.Msg.CocoRobo_FONT_DVSM_21, "font.dvsm_21"], [Blockly.Msg.CocoRobo_FONT_DVSMB_12, "font.dvsmb_12"], [Blockly.Msg.CocoRobo_FONT_DVSMB_16, "font.dvsmb_16"], [Blockly.Msg.CocoRobo_FONT_DVSMB_21, "font.dvsmb_21"] ], type: "field_dropdown" }], output: "String", helpUrl: "", tooltip: "", message0: "%1" }) } }; Blockly.Blocks.CocoRobo_display_font = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_DISPLAY_FONT_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_FONT_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_FONT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "message" }, { name: "font", options: [ [Blockly.Msg.CocoRobo_FONT_DIGIFACE_11, "font.digiface_11"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_16, "font.digiface_16"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_21, "font.digiface_21"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_30, "font.digiface_30"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_44, "font.digiface_44"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_30, "font.digiface_it_30"], [Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_42, "font.digiface_it_42"], [Blockly.Msg.CocoRobo_FONT_DVSM_12, "font.dvsm_12"], [Blockly.Msg.CocoRobo_FONT_DVSM_16, "font.dvsm_16"], [Blockly.Msg.CocoRobo_FONT_DVSM_21, "font.dvsm_21"], [Blockly.Msg.CocoRobo_FONT_DVSMB_12, "font.dvsmb_12"], [Blockly.Msg.CocoRobo_FONT_DVSMB_16, "font.dvsmb_16"], [Blockly.Msg.CocoRobo_FONT_DVSMB_21, "font.dvsmb_21"] ], type: "field_dropdown" }, { name: "wrap", options: [ [Blockly.Msg.CocoRobo_FONT_NO_WRAP, "False"], [Blockly.Msg.CocoRobo_FONT_WRAP, "True"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_display_custom_font = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_DISPLAY_FONT_HELPURL, tooltip: Blockly.Msg.CocoRobo_DISPLAY_FONT_TOOLTIP, message0: Blockly.Msg.CocoRobo_DISPLAY_FONT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "message" }, { name: "font", text: "font.dvsm_16", type: "field_input" }, { name: "wrap", options: [ [Blockly.Msg.CocoRobo_FONT_NO_WRAP, "False"], [Blockly.Msg.CocoRobo_FONT_WRAP, "True"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_image_to_oled = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_image_to_lcd_TOOLTIP, message0: Blockly.Msg.CocoRobo_image_to_lcd_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "image_dir" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }] }) } }; Blockly.Blocks.CocoRobo_qr_code = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Show, helpUrl: Blockly.Msg.CocoRobo_QR_CODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_QR_CODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_QR_CODE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "str" }, { name: "scale", options: [ ["58 * 58", "2"], ["29 * 29", "1"] ], type: "field_dropdown" }] }) } }; Blockly.Blocks.CocoRobo_radio_rec = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Radio, helpUrl: Blockly.Msg.CocoRobo_RADIO_REC_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_REC_TOOLTIP, message0: Blockly.Msg.CocoRobo_RADIO_REC_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_radio_send = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Radio, helpUrl: Blockly.Msg.CocoRobo_RADIO_SEND_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_SEND_TOOLTIP, message0: Blockly.Msg.CocoRobo_RADIO_SEND_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "send" }] }) } }; Blockly.Blocks.CocoRobo_radio_channel = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Radio, helpUrl: Blockly.Msg.CocoRobo_RADIO_CHANNEL_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_CHANNEL_TOOLTIP, message0: Blockly.Msg.CocoRobo_RADIO_CHANNEL_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "channel" }] }) } }; Blockly.Blocks.CocoRobo_radio_on_off = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Radio, helpUrl: Blockly.Msg.CocoRobo_RADIO_ON_OFF_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_ON_OFF_TOOLTIP, message0: Blockly.Msg.CocoRobo_RADIO_ON_OFF_MESSAGE0, args0: [{ options: [ [Blockly.Msg.LABPLUS_USB_SWITCH_ON, "on"], [Blockly.Msg.LABPLUS_USB_SWITCH_OFF, "off"] ], type: "field_dropdown", name: "on_off" }] }) } }; Blockly.Blocks.CocoRobo_radio_recv = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_RADIO_RECV_MESSAGE0, colour: CategoryColors.Radio, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_RADIO_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_RECV_TOOLTIP, args0: [{ type: "input_value", name: "message" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.CocoRobo_radio_recv_msg = { init: function () { this.jsonInit({ message0: Blockly.Msg.CocoRobo_RADIO_RECV_MSG_MESSAGE0, colour: CategoryColors.Radio, inputsInline: !0, helpUrl: Blockly.Msg.CocoRobo_RADIO_RECV_MSG_HELPURL, tooltip: Blockly.Msg.CocoRobo_RADIO_RECV_MSG_TOOLTIP, args0: [{ type: "field_input", name: "message", text: "on" }] }); this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO) } }; Blockly.Blocks.set_subset_superset = { init: function () { this.jsonInit({ inputsInline: !0, output: "Boolean", colour: CategoryColors.Set, helpUrl: Blockly.Msg.SUBSET_SUPERSET_HELPURL, // tooltip: Blockly.Msg.SUBSET_SUPERSET_TOOLTIP, message0: Blockly.Msg.SUBSET_SUPERSET_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }, { type: "input_value", name: "set_1_name" }, { options: [ [Blockly.Msg.CocoRobo_SUBSET, ".issubset"], [Blockly.Msg.CocoRobo_SUPERSET, ".issuperset"] ], type: "field_dropdown", name: "subset_superset" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('subset_superset'); var TOOLTIPS = { '.issubset': Blockly.Msg.SUBSET_SUPERSET_TOOLTIP.replace('%3', Blockly.Msg.CocoRobo_SUBSET), '.issuperset': Blockly.Msg.SUBSET_SUPERSET_TOOLTIP.replace('%3', Blockly.Msg.CocoRobo_SUPERSET) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.sets_update_ways = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Set, helpUrl: Blockly.Msg.SETS_UPDATE_WAYS_HELPURL, // tooltip: Blockly.Msg.SETS_UPDATE_WAYS_TOOLTIP, message0: Blockly.Msg.SETS_UPDATE_WAYS_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }, { type: "input_value", name: "set_1_name" }, { options: [ [Blockly.Msg.CocoRobo_INTERSECTION, ".intersection_update"], [Blockly.Msg.CocoRobo_UNION, ".update"], [Blockly.Msg.CocoRobo_DIFFERENCE, ".difference_update"] ], type: "field_dropdown", name: "sets_update_ways" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('sets_update_ways'); var TOOLTIPS = { '.intersection_update': Blockly.Msg.SETS_UPDATE_WAYS_TOOLTIP.replace('%3', Blockly.Msg.CocoRobo_INTERSECTION), '.update': Blockly.Msg.SETS_UPDATE_WAYS_TOOLTIP.replace('%3', Blockly.Msg.CocoRobo_UNION), '.difference_update': Blockly.Msg.SETS_UPDATE_WAYS_TOOLTIP.replace('%3', Blockly.Msg.CocoRobo_DIFFERENCE) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.get_sets_pop = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Set, helpUrl: Blockly.Msg.GET_SETS_POP_HELPURL, tooltip: Blockly.Msg.GET_SETS_POP_TOOLTIP, message0: Blockly.Msg.GET_SETS_POP_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }] }) } }; Blockly.Blocks.len_of_sets = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Set, helpUrl: Blockly.Msg.LEN_OF_SETS_HELPURL, tooltip: Blockly.Msg.LEN_OF_SETS_TOOLTIP, message0: Blockly.Msg.LEN_OF_SETS_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }] }) } }; Blockly.Blocks.intersection_of_sets = { init: function () { this.jsonInit({ inputsInline: !0, output: "Array", colour: CategoryColors.Set, helpUrl: Blockly.Msg.INTERSECTION_OF_SETS_HELPURL, // tooltip: Blockly.Msg.INTERSECTION_OF_SETS_TOOLTIP, message0: Blockly.Msg.INTERSECTION_OF_SETS_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_INTERSECTION, " \x26 "], [Blockly.Msg.CocoRobo_UNION, " | "], [Blockly.Msg.CocoRobo_DIFFERENCE, " - "] ], type: "field_dropdown", name: "set_operation_type" }, { type: "input_value", name: "set_name" }, { type: "input_value", name: "set_1_name" }] }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('set_operation_type'); var TOOLTIPS = { " \x26 ": Blockly.Msg.INTERSECTION_OF_SETS_TOOLTIP.replace('%1', Blockly.Msg.CocoRobo_INTERSECTION), " | ": Blockly.Msg.INTERSECTION_OF_SETS_TOOLTIP.replace('%1', Blockly.Msg.CocoRobo_UNION), " - ": Blockly.Msg.INTERSECTION_OF_SETS_TOOLTIP.replace('%1', Blockly.Msg.CocoRobo_DIFFERENCE) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.set_update_with = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Set, helpUrl: Blockly.Msg.SET_UPDATE_WITH_HELPURL, tooltip: Blockly.Msg.SET_UPDATE_WITH_TOOLTIP, message0: Blockly.Msg.SET_UPDATE_WITH_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }, { type: "input_value", name: "set_items" }] }) } }; Blockly.Blocks.set_create_with = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Set, helpUrl: Blockly.Msg.SET_CREATE_WITH_HELPURL, tooltip: Blockly.Msg.SET_CREATE_WITH_TOOLTIP, message0: Blockly.Msg.SET_CREATE_WITH_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }, { type: "input_value", name: "set_items" }] }) } }; Blockly.Blocks.text_set = { init: function () { this.setHelpUrl(Blockly.Msg.TEXT_SET_HELPURL); this.setColour(CategoryColors.Set); this.appendDummyInput().appendField(Blockly.Msg.TEXT_SET_START).appendField(new Blockly.FieldTextInput(""), "TEXT").appendField(Blockly.Msg.TEXT_SET_END); this.setOutput(!0, "Array"); this.setTooltip(Blockly.Msg.Text_Set_TOOLTIP); } }; Blockly.Blocks.create_empty_set = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Set, helpUrl: Blockly.Msg.CREATE_EMPTY_SET_HELPURL, tooltip: Blockly.Msg.CREATE_EMPTY_SET_TOOLTIP, message0: Blockly.Msg.CREATE_EMPTY_SET_MESSAGE0, args0: [{ type: "input_value", name: "set_name" }] }) } }; Blockly.Blocks.set_create_with_items_insert = { init: function () { this.setHelpUrl(Blockly.Msg.SET_CREATE_WITH_ITEMS_INSERT_HELPURL); this.setColour(CategoryColors.Set); this.itemCount_ = 3; this.updateShape_(); this.setOutput(!0, "Array"); this.setMutator(new Blockly.Mutator(["set_create_with_item"])); this.setTooltip(Blockly.Msg.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("set_create_with_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("set_create_with_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { var b = a.getInputTargetBlock("STACK"); for (a = []; b;) a.push(b.valueConnection_), b = b.nextConnection && b.nextConnection.targetBlock(); for (b = 0; b < this.itemCount_; b++) { var c = this.getInput("ADD" + b).connection.targetConnection; c && -1 == a.indexOf(c) && c.disconnect() } this.itemCount_ = a.length; this.updateShape_(); for (b = 0; b < this.itemCount_; b++) Blockly.Mutator.reconnect(a[b], this, "ADD" + b) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.itemCount_ && this.getInput("EMPTY") ? this.removeInput("EMPTY") : this.itemCount_ || this.getInput("EMPTY") || this.appendDummyInput("EMPTY").appendField(Blockly.Msg.SET_CREATE_EMPTY_TITLE); for (var a = 0; a < this.itemCount_; a++) if (!this.getInput("ADD" + a)) { var b = this.appendValueInput("ADD" + a); 0 == a && b.appendField(Blockly.Msg.SET_CREATE_WITH_INPUT_WITH) } for (; this.getInput("ADD" + a);) this.removeInput("ADD" + a), a++ } }; Blockly.Blocks.set_create_with_item = { init: function () { this.setColour(CategoryColors.Set); this.appendDummyInput().appendField(Blockly.Msg.SET_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setTooltip(Blockly.Msg.SET_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.set_create_with_container = { init: function () { this.setColour(CategoryColors.Set); this.appendDummyInput().appendField(Blockly.Msg.SET_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput("STACK"); this.setTooltip(Blockly.Msg.SET_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.set_tuple_order_item = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "tuple_order" }, { check: "Number", type: "input_value", name: "tuple_order_item" }, { type: "input_value", name: "set_value" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.SET_TUPLE_ORDER_ITEM_HELPURL, tooltip: Blockly.Msg.SET_TUPLE_ORDER_ITEM_TOOLTIP, message0: Blockly.Msg.SET_TUPLE_ORDER_ITEM_MESSAGE0 }) } }; Blockly.Blocks.tuple_create_with_items_insert = { init: function () { this.setHelpUrl(Blockly.Msg.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL); this.setColour(CategoryColors.Tuple); this.itemCount_ = 3; this.updateShape_(); this.setOutput(!0); this.setMutator(new Blockly.Mutator(["tuple_create_with_item"])); this.setTooltip(Blockly.Msg.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("tuple_create_with_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("tuple_create_with_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { var b = a.getInputTargetBlock("STACK"); for (a = []; b;) a.push(b.valueConnection_), b = b.nextConnection && b.nextConnection.targetBlock(); for (b = 0; b < this.itemCount_; b++) { var c = this.getInput("ADD" + b).connection.targetConnection; c && -1 == a.indexOf(c) && c.disconnect() } this.itemCount_ = a.length; this.updateShape_(); for (b = 0; b < this.itemCount_; b++) Blockly.Mutator.reconnect(a[b], this, "ADD" + b) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.itemCount_ && this.getInput("EMPTY") ? this.removeInput("EMPTY") : this.itemCount_ || this.getInput("EMPTY") || this.appendDummyInput("EMPTY").appendField(Blockly.Msg.TUPLE_CREATE_EMPTY_TITLE); for (var a = 0; a < this.itemCount_; a++) if (!this.getInput("ADD" + a)) { var b = this.appendValueInput("ADD" + a); 0 == a && b.appendField(Blockly.Msg.TUPLE_CREATE_WITH_INPUT_WITH) } for (; this.getInput("ADD" + a);) this.removeInput("ADD" + a), a++ } }; Blockly.Blocks.tuple_create_with_item = { init: function () { this.setColour(CategoryColors.Tuple); this.appendDummyInput().appendField(Blockly.Msg.TUPLE_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(!0); this.setNextStatement(!0); this.setTooltip(Blockly.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.tuple_create_with_container = { init: function () { this.setColour(CategoryColors.Tuple); this.appendDummyInput().appendField(Blockly.Msg.TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput("STACK"); this.setTooltip(Blockly.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP); this.contextMenu = !1 } }; Blockly.Blocks.tuple_create_with = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { type: "input_value", name: "tuple_items" }], inputsInline: !0, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.tuple_create_with_HELPURL, tooltip: Blockly.Msg.tuple_create_with_TOOLTIP, message0: Blockly.Msg.tuple_create_with_MESSAGE0 }) } }; Blockly.Blocks.tuple_order_item = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "tuple_order" }, { check: "Number", type: "input_value", name: "tuple_order_item" }], output: ["Number", "String", "Boolean", "Array"], inputsInline: !0, helpUrl: Blockly.Msg.tuple_order_item_HELPURL, tooltip: Blockly.Msg.tuple_order_item_TOOLTIP, message0: Blockly.Msg.tuple_order_item_MESSAGE0 }) } }; Blockly.Blocks.tuple_min_max_len = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { options: [ [Blockly.Msg.CocoRobo_MIN, "min"], [Blockly.Msg.CocoRobo_MAX, "max"], [Blockly.Msg.CocoRobo_LENTH, "len"] ], type: "field_dropdown", name: "tuple_min_max_len" }], output: ["Number", "String"], inputsInline: !0, helpUrl: Blockly.Msg.TUPLE_MIN_MAX_LEN_HELPURL, // tooltip: Blockly.Msg.TUPLE_MIN_MAX_LEN_TOOLTIP, message0: Blockly.Msg.TUPLE_MIN_MAX_LEN_MESSAGE0 }); var thisBlock = this; this.setTooltip(function () { var mode = thisBlock.getFieldValue('tuple_min_max_len'); var TOOLTIPS = { 'min': Blockly.Msg.TUPLE_MIN_MAX_LEN_TOOLTIP.replace('%2', Blockly.Msg.CocoRobo_MIN), 'max': Blockly.Msg.TUPLE_MIN_MAX_LEN_TOOLTIP.replace('%2', Blockly.Msg.CocoRobo_MAX), 'len': Blockly.Msg.TUPLE_MIN_MAX_LEN_TOOLTIP.replace('%2', Blockly.Msg.CocoRobo_LENTH) }; return TOOLTIPS[mode]; }); } }; Blockly.Blocks.tuple_item_exist = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { type: "input_value", name: "tuple_item" }], output: "Boolean", inputsInline: !0, helpUrl: Blockly.Msg.TUPLE_ITEM_EXIST_HELPURL, tooltip: Blockly.Msg.TUPLE_ITEM_EXIST_TOOLTIP, message0: Blockly.Msg.TUPLE_ITEM_EXIST_MESSAGE0 }) } }; Blockly.Blocks.parts_of_tuple = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { check: "Number", type: "input_value", name: "tuple_item" }], output: null, inputsInline: !0, helpUrl: Blockly.Msg.PARTS_OF_TUPLE_HELPURL, tooltip: Blockly.Msg.PARTS_OF_TUPLE_TOOLTIP, message0: Blockly.Msg.PARTS_OF_TUPLE_MESSAGE0 }) } }; Blockly.Blocks.parts_of_tuple2 = { init: function () { this.jsonInit({ colour: CategoryColors.Tuple, args0: [{ type: "input_value", name: "tuple_name" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, "["], [Blockly.Msg.CocoRobo_REVERSE_ORDER, "[-"] ], type: "field_dropdown", name: "tuple_start_order" }, { check: "Number", type: "input_value", name: "start_item" }, { options: [ [Blockly.Msg.CocoRobo_ORDER, ":"], [Blockly.Msg.CocoRobo_REVERSE_ORDER, ":-"] ], type: "field_dropdown", name: "tuple_end_order" }, { check: "Number", type: "input_value", name: "end_item" }], output: null, inputsInline: !0, helpUrl: Blockly.Msg.PARTS_OF_TUPLE2_HELPURL, tooltip: Blockly.Msg.PARTS_OF_TUPLE2_TOOLTIP, message0: Blockly.Msg.PARTS_OF_TUPLE2_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_uart_input = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_INPUT_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_INPUT_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_INPUT_MESSAGE0, args0: [{ type: "field_input", name: "title", text: "Please enter: " }] }) } }; Blockly.Blocks.CocoRobo_uart_write_bytes = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "Array", type: "input_value", name: "write_byte_arrays" }] }) } }; Blockly.Blocks.CocoRobo_uart_get_write_bytes = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_BYTES_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "Array", type: "input_value", name: "write_byte_arrays" }] }) } }; Blockly.Blocks.CocoRobo_uart_write_byte = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "Number", type: "input_value", name: "write_one_byte" }] }) } }; Blockly.Blocks.CocoRobo_uart_get_write_byte = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_BYTE_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "Number", type: "input_value", name: "write_one_byte" }] }) } }; Blockly.Blocks.CocoRobo_uart_read = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_READ_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_READ_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_READ_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_uart_readinto = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_READINTO_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_READINTO_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_READINTO_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_uart_read_length = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_READ_LENGTH_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_READ_LENGTH_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_READ_LENGTH_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "Number", type: "input_value", name: "read_length" }] }) } }; Blockly.Blocks.CocoRobo_uart_readline = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_READLINE_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_READLINE_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_READLINE_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_uart_has_data = { init: function () { this.jsonInit({ inputsInline: !0, output: "Boolean", colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_HAS_DATA_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_HAS_DATA_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_HAS_DATA_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_uart_write_hex = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_HEX_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_HEX_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_HEX_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { type: "field_input", name: "data", text: "0xff00ff" }, { options: [ [Blockly.Msg.CocoRobo_FONT_NO_WRAP, "no_new"], [Blockly.Msg.CocoRobo_FONT_WRAP, "new"] ], type: "field_dropdown", name: "newline" }] }) } }; Blockly.Blocks.CocoRobo_uart_write_str = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_STR_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_STR_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_STR_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "String", type: "input_value", name: "data" }, { options: [ [Blockly.Msg.CocoRobo_FONT_NO_WRAP, "no_new"], [Blockly.Msg.CocoRobo_FONT_WRAP, "new"] ], type: "field_dropdown", name: "newline" }] }) } }; Blockly.Blocks.CocoRobo_uart_get_write_str = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_WRITE_STR_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_WRITE_STR_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_WRITE_STR_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }, { check: "String", type: "input_value", name: "data" }, { options: [ [Blockly.Msg.CocoRobo_FONT_NO_WRAP, "no_new"], [Blockly.Msg.CocoRobo_FONT_WRAP, "new"] ], type: "field_dropdown", name: "newline" }] }) } }; Blockly.Blocks.CocoRobo_uart_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_INIT_MESSAGE0, args0: [{ type: "input_value", name: "baudrate" }, { check: "Number", type: "input_value", name: "tx" }, { check: "Number", type: "input_value", name: "rx" }, { options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_uart_deinit = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_UART_DEINIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_UART_DEINIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_UART_DEINIT_MESSAGE0, args0: [{ options: [ ["uart1", "uart1"], ["uart2", "uart2"] ], type: "field_dropdown", name: "uart_name" }] }) } }; Blockly.Blocks.CocoRobo_baudrate = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.UART, helpUrl: Blockly.Msg.CocoRobo_BAUDRATE_HELPURL, tooltip: Blockly.Msg.CocoRobo_BAUDRATE_TOOLTIP, message0: Blockly.Msg.CocoRobo_BAUDRATE_MESSAGE0, args0: [{ options: [ ["115200", "115200"], ["57600", "57600"], ["56000", "56000"], ["43000", "43000"], ["38400", "38400"], ["31250", "31250"], ["28800", "28800"], ["19200", "19200"], ["14400", "14400"], ["9600", "9600"], ["4800", "4800"], ["2400", "2400"], ["1200", "1200"], ["600", "600"], ["300", "300"] ], type: "field_dropdown", name: "baudrate" }] }) } }; Blockly.Blocks.CocoRobo_usocket_read = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_READ_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_READ_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_READ_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "Number", type: "input_value", name: "size" }] }) } }; Blockly.Blocks.CocoRobo_usocket_setblocking = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { options: [ [Blockly.Msg.CocoRobo_USOCKET_BLOCK, "True"], [Blockly.Msg.CocoRobo_USOCKET_UNBLOCK, "False"] ], type: "field_dropdown", name: "mode" }] }) } }; Blockly.Blocks.CocoRobo_usocket_settimeout = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "Number", type: "input_value", name: "_nums" }] }) } }; Blockly.Blocks.CocoRobo_text_ESC = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: Blockly.Blocks.texts.HUE, helpUrl: Blockly.Msg.CocoRobo_TEXT_ESC_HELPURL, tooltip: Blockly.Msg.CocoRobo_TEXT_ESC_TOOLTIP, message0: Blockly.Msg.CocoRobo_TEXT_ESC_MESSAGE0, args0: [{ options: [ ["\\n", "\\n"], ["\\n\\n", "\\n\\n"], ["\\r", "\\r"], ["\\r\\n", "\\r\\n"], ["\\b", "\\b"], ["\\other", "\\other"], ["\\", "\\"], ["\\\\", "\\\\"] ], type: "field_dropdown", name: "mode" }] }) } }; Blockly.Blocks.CocoRobo_usocket_recv = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_RECV_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_RECV_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_RECV_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "Number", type: "input_value", name: "_nums" }] }) } }; Blockly.Blocks.CocoRobo_usocket_recvfrom = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_RECVFROM_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_RECVFROM_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_RECVFROM_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "Number", type: "input_value", name: "_nums" }] }) } }; Blockly.Blocks.CocoRobo_usocket_sendall = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SENDALL_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SENDALL_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SENDALL_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "_bytes" }] }) } }; Blockly.Blocks.CocoRobo_usocket_sends = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SENDS_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SENDS_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SENDS_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "_bytes" }] }) } }; Blockly.Blocks.CocoRobo_usocket_send = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SEND_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SEND_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SEND_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "_bytes" }] }) } }; Blockly.Blocks.CocoRobo_usocket_sendto = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SENDTO_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SENDTO_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SENDTO_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "_bytes" }, { check: "Array", type: "input_value", name: "_address" }] }) } }; Blockly.Blocks.CocoRobo_usocket_connect = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_CONNECT_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_CONNECT_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_CONNECT_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "host" }, { check: "Number", type: "input_value", name: "port" }] }) } }; Blockly.Blocks.CocoRobo_usocket_getaddrinfo = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "host" }, { check: "Number", type: "input_value", name: "port" }] }) } }; Blockly.Blocks.CocoRobo_usocket_accept = { init: function () { this.jsonInit({ inputsInline: !0, output: "Array", colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_ACCEPT_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_ACCEPT_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_ACCEPT_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }] }) } }; Blockly.Blocks.CocoRobo_usocket_listen = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_LISTEN_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_LISTEN_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_LISTEN_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "Number", type: "input_value", name: "backlog" }] }) } }; Blockly.Blocks.CocoRobo_usocket_bind = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_BIND_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_BIND_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_BIND_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { check: "String", type: "input_value", name: "address" }, { check: "Number", type: "input_value", name: "port" }] }) } }; Blockly.Blocks.CocoRobo_usocket_close = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_CLOSE_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_CLOSE_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_CLOSE_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }] }) } }; Blockly.Blocks.CocoRobo_usocket_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_INIT_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { options: [ ["AF_INET", "AF_INET"], ["AF_INET6", "AF_INET6"] ], type: "field_dropdown", name: "af" }, { options: [ ["SOCK_STREAM", "SOCK_STREAM"], ["SOCK_DGRAM", "SOCK_DGRAM"], ["SOCK_RAW", "SOCK_RAW"], ["SO_REUSEADDR", "SO_REUSEADDR"] ], type: "field_dropdown", name: "_type" }] }) } }; Blockly.Blocks.CocoRobo_usocket_setsockopt = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_HELPURL, tooltip: Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_TOOLTIP, message0: Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_MESSAGE0, args0: [{ type: "field_input", name: "socket_name", text: "s" }, { options: [ ["SOCK_STREAM", "SOCK_STREAM"], ["SOCK_DGRAM", "SOCK_DGRAM"], ["SOCK_RAW", "SOCK_RAW"], ["SO_REUSEADDR", "SO_REUSEADDR"] ], type: "field_dropdown", name: "_type" }, { check: "Number", type: "input_value", name: "value" }] }) } }; Blockly.Blocks.CocoRobo_get_post = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_GET_POST_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_POST_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_POST_MESSAGE0, args0: [{ options: [ ["get", "get"], ["post", "post"] ], type: "field_dropdown", name: "get_post" }, { check: "String", type: "input_value", name: "url" }, { type: "input_value", name: "json" }] }) } }; Blockly.Blocks.CocoRobo_urequests_get_post = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_HELPURL, tooltip: Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_TOOLTIP, message0: Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_MESSAGE0, args0: [{ options: [ ["Get", "get"], ["Post", "post"] ], type: "field_dropdown", name: "method" }, { check: "String", type: "input_value", name: "url" }, { type: "input_value", name: "json" }] }) } }; Blockly.Blocks.CocoRobo_urequests_post_file = { init: function () { this.jsonInit({ inputsInline: !1, nextStatement: null, previousStatement: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_HELPURL, tooltip: Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_TOOLTIP, message0: Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_MESSAGE0, args0: [{ type: "input_dummy" }, { check: "String", type: "input_value", name: "url" }, { check: "String", type: "input_value", name: "file_name" }, { check: "String", type: "input_value", name: "file_type" }, { check: "Array", type: "input_value", name: "json" }] }) } }; Blockly.Blocks.CocoRobo_response = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_RESPONSE_HELPURL, tooltip: Blockly.Msg.CocoRobo_RESPONSE_TOOLTIP, message0: Blockly.Msg.CocoRobo_RESPONSE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.TEXT, "text"], [Blockly.Msg._BYTE, "content"], [Blockly.Msg.DICT_CREATE_WITH_CONTAINER_TITLE_ADD, "json()"] ], type: "field_dropdown", name: "response" }] }) } }; Blockly.Blocks.CocoRobo_response_attribute = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Network, helpUrl: Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_HELPURL, tooltip: Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_TOOLTIP, message0: Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_MESSAGE0, args0: [{ options: [ ["encoding", "encoding"], ["status code", "status_code"], ["reason", "reason"] ], type: "field_dropdown", name: "response_attribute" }] }) } }; Blockly.Blocks.CocoRobo_init_wifi = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_init_wifi_TOOLTIP, message0: Blockly.Msg.CocoRobo_init_wifi_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "ssid" }, { check: "String", type: "input_value", name: "password" }] }) } }; Blockly.Blocks.CocoRobo_wifi_all_config = { init: function () { this.jsonInit({ inputsInline: !0, output: "Array", colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_HELPURL, tooltip: Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_TOOLTIP, message0: Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_wifi_isconnected = { init: function () { this.jsonInit({ inputsInline: !0, output: "Boolean", colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_HELPURL, tooltip: Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_TOOLTIP, message0: Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_WiFi_config = { init: function () { this.jsonInit({ colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_WiFi_config_TOOLTIP, message0: Blockly.Msg.CocoRobo_WiFi_config_MESSAGE0, output: "String", args0: [{ options: WiFi_config, type: "field_dropdown", name: "WiFi_config" }] }) } }; Blockly.Blocks.CocoRobo_dis_WiFi = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_dis_WiFi_TOOLTIP, message0: Blockly.Msg.CocoRobo_dis_WiFi_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_wifi_channel = { init: function () { this.jsonInit({ inputsInline: !0, colour: CategoryColors.Wifi, helpUrl: "", tooltip: "", message0: "%1", output: "Number", args0: [{ options: WiFi_channel, type: "field_dropdown", name: "channel" }] }) } }; Blockly.Blocks.CocoRobo_enable_APWiFi = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_ENABLE_APWIFI_HELPURL, tooltip: Blockly.Msg.CocoRobo_ENABLE_APWIFI_TOOLTIP, message0: Blockly.Msg.CocoRobo_ENABLE_APWIFI_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "essid" }, { check: "String", type: "input_value", name: "password" }, { check: "Number", type: "input_value", name: "channel" }] }) } }; Blockly.Blocks.CocoRobo_disable_APWiFi = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_disable_APWiFi_TOOLTIP, message0: Blockly.Msg.CocoRobo_disable_APWiFi_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_seniverse_city_weather = { init: function () { this.jsonInit({ inputsInline: !1, colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_SENIVERSE_CITY_WEATHER_HELPURL, tooltip: Blockly.Msg.CocoRobo_SENIVERSE_CITY_WEATHER_TOOLTIP, message0: Blockly.Msg.CocoRobo_SENIVERSE_CITY_WEATHER_MESSAGE0, output: "Array", args0: [{ options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_API_1, "api_1"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_API_2, "api_2"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_API_3, "api_3"] ], type: "field_dropdown", name: "api" }, { type: "input_dummy" }, { check: "String", type: "input_value", name: "location" }, { type: "field_input", name: "key", text: "your_private_key" }, { type: "input_dummy" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_LANGUAGE_1, "zh-Hans"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_LANGUAGE_2, "zh-Hant"] ], type: "field_dropdown", name: "language" }, { type: "input_dummy" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_UNIT_1, "c"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_UNIT_2, "f"] ], type: "field_dropdown", name: "unit" }] }) } }; Blockly.Blocks.CocoRobo_define_seniverse_weather = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_DEFINE_SENIVERSE_WEATHER_HELPURL, tooltip: Blockly.Msg.CocoRobo_DEFINE_SENIVERSE_WEATHER_TOOLTIP, message0: Blockly.Msg.CocoRobo_DEFINE_SENIVERSE_WEATHER_MESSAGE0, args0: [{ type: "field_input", name: "var_name", text: "w1" }, { check: "Array", type: "input_value", name: "info" }] }) } }; Blockly.Blocks.CocoRobo_get_seniverse_weather_info = { init: function () { this.jsonInit({ inputsInline: !0, output: ["String", "Array"], colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO_MESSAGE0, args0: [{ type: "field_input", name: "var_name", text: "w1" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_city_name, "name"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_city_id, "id"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_country, "country"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_path, "path"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_timezone, "timezone"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_timezone_offset, "timezone_offset"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_last_update_date, "last_update_date"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_last_update, "last_update"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_object, "object"] ], type: "field_dropdown", name: "type" }] }) } }; Blockly.Blocks.CocoRobo_get_seniverse_weather_info1 = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO1_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0, args0: [{ type: "field_input", name: "var_name", text: "w1" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_text, "text"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_code, "code"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_temperature, "temperature"] ], type: "field_dropdown", name: "type" }] }) } }; Blockly.Blocks.CocoRobo_get_seniverse_weather_info2 = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO2_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0, args0: [{ type: "field_input", name: "var_name", text: "w1" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_today, "0"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_tomorrow, "1"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_the_day_after_tomorrow, "2"] ], type: "field_dropdown", name: "date" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_high, "high"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_low, "low"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_text_day, "text_day"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_code_day, "code_day"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_text_night, "text_night"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_code_night, "code_night"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_wind_direction, "wind_direction"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_wind_direction_degree, "wind_direction_degree"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_wind_speed, "wind_speed"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_wind_scale, "wind_scale"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_date, "date"] ], type: "field_dropdown", name: "type" }] }) } }; Blockly.Blocks.CocoRobo_get_seniverse_weather_info3 = { init: function () { this.jsonInit({ inputsInline: !0, output: "String", colour: CategoryColors.Weather, helpUrl: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO3_HELPURL, tooltip: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP, message0: Blockly.Msg.CocoRobo_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0, args0: [{ type: "field_input", name: "var_name", text: "w1" }, { options: [ [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_car_washing, "car_washing"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_dressing, "dressing"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_flu, "flu"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_sport, "sport"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_travel, "travel"], [Blockly.Msg.CocoRobo_SENIVERSE_WEATHER_uv, "uv"] ], type: "field_dropdown", name: "type" }] }) } }; Blockly.Blocks.CocoRobo_ntptime_settime = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Wifi, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_ntptime_settime_TOOLTIP, message0: Blockly.Msg.CocoRobo_ntptime_settime_MESSAGE0, // args0: [{ // name: "timezone", // options: [[Blockly.Msg.CocoRobo_ntptime_timezone_E8, "8"], [Blockly.Msg.CocoRobo_ntptime_timezone_E9, "9"], [Blockly.Msg.CocoRobo_ntptime_timezone_E10, "10"], [Blockly.Msg.CocoRobo_ntptime_timezone_E11, "11"], [Blockly.Msg.CocoRobo_ntptime_timezone_E12, "12"], [Blockly.Msg.CocoRobo_ntptime_timezone_W12, "-12"], [Blockly.Msg.CocoRobo_ntptime_timezone_W11, "-11"], [Blockly.Msg.CocoRobo_ntptime_timezone_W10, "-10"], [Blockly.Msg.CocoRobo_ntptime_timezone_W9, "-9"], [Blockly.Msg.CocoRobo_ntptime_timezone_W8, "-8"], [Blockly.Msg.CocoRobo_ntptime_timezone_W7, "-7"], [Blockly.Msg.CocoRobo_ntptime_timezone_W6, "-6"], [Blockly.Msg.CocoRobo_ntptime_timezone_W5, "-5"], [Blockly.Msg.CocoRobo_ntptime_timezone_W4, "-4"], [Blockly.Msg.CocoRobo_ntptime_timezone_W3, "-3"], [Blockly.Msg.CocoRobo_ntptime_timezone_W2, "-2"], [Blockly.Msg.CocoRobo_ntptime_timezone_W1, "-1"], [Blockly.Msg.CocoRobo_ntptime_timezone_0, "0"], [Blockly.Msg.CocoRobo_ntptime_timezone_E1, "1"], [Blockly.Msg.CocoRobo_ntptime_timezone_E2, "2"], [Blockly.Msg.CocoRobo_ntptime_timezone_E3, "3"], [Blockly.Msg.CocoRobo_ntptime_timezone_E4, "4"], [Blockly.Msg.CocoRobo_ntptime_timezone_E5, "5"], [Blockly.Msg.CocoRobo_ntptime_timezone_E6, "6"], [Blockly.Msg.CocoRobo_ntptime_timezone_E7, "7"]], // type: "field_dropdown" // }, { // type: "field_input", // name: "server", // text: "time.windows.com" // }] }) } }; Blockly.Blocks.CocoRobo_wifi_clock = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: rgbColor, helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_wifi_clock_TOOLTIP, message0: Blockly.Msg.CocoRobo_wifi_clock_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "radius" }] }) } }; Blockly.Blocks.CocoRobobox_sound = { init: function () { this.jsonInit({ colour: "#e8795b", output: "Number", helpUrl: Blockly.Msg.CocoRobobox_sound_HELPURL, tooltip: Blockly.Msg.CocoRobobox_sound_TOOLTIP, message0: Blockly.Msg.CocoRobobox_sound_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_light = { init: function () { this.jsonInit({ colour: CategoryColors.Box, output: "Number", helpUrl: Blockly.Msg.CocoRobobox_light_HELPURL, tooltip: Blockly.Msg.CocoRobobox_light_TOOLTIP, message0: Blockly.Msg.CocoRobobox_light_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_slider = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_SLIDER_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_SLIDER_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_SLIDER_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_5button = { init: function () { this.jsonInit({ colour: CategoryColors.Box, args0: [{ name: "button_val", type: "field_dropdown", options: [ ["\u2191", "'up'"], ["\u2193", "'down'"], ["\u2190", "'left'"], ["\u2192", "'right'"], ["OK", "'ok'"] ] }], output: "Boolean", message0: Blockly.Msg.CocoRoboBOX_5BUTTON_MESSAGE0, tooltip: Blockly.Msg.CocoRoboBOX_5BUTTON_TOOLTIP, helpUrl: Blockly.Msg.CocoRoboBOX_5BUTTON_HELPURL }) } }; Blockly.Blocks.CocoRobobox_ultrasonic = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_ULTRASONIC_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_ULTRASONIC_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_ULTRASONIC_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_Thehumanbodyinfrare = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_bme280_hum_tem_pre = { init: function () { this.jsonInit({ colour: CategoryColors.Box, args0: [{ name: "hum_tem_pre", options: [ [Blockly.Msg.CocoRobo_tem, "temperature"], [Blockly.Msg.CocoRobo_hum, "humidity"], [Blockly.Msg.CocoRobo_pre, "pressure"] ], type: "field_dropdown" }], output: "Number", helpUrl: Blockly.Msg.CocoRobo_HELPURL, tooltip: Blockly.Msg.CocoRobo_bme280_hum_tem_pre_TOOLTIP, message0: Blockly.Msg.CocoRobo_bme280_hum_tem_pre_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_motor = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_MOTOR_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_MOTOR_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_MOTOR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "speed" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_clear = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, type: "field_dropdown", colour: CategoryColors.Box, message0: Blockly.Msg.CocoRoboBOX_RGB_clear_MESSAGE0, tooltip: Blockly.Msg.CocoRoboBOX_RGB_clear_TOOLTIP, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_clear_HELPURL }) } }; Blockly.Blocks.CocoRobobox_RGB_pixel = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_pixel_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_pixel_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_pixel_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "speed1" }, { check: "Number", type: "input_value", name: "speed2" }, { check: "Number", type: "input_value", name: "speed3" }, { check: "Number", type: "input_value", name: "speed4" }, { check: "Number", type: "input_value", name: "speed5" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_get_pixel = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_get_pixel_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_get_pixel_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_get_pixel_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "speed1" }, { check: "Number", type: "input_value", name: "speed2" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_ImageText = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_ImageText_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_ImageText_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_ImageText_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "speed1" }, { check: "Number", type: "input_value", name: "speed2" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_SetImage = { init: function () { this.jsonInit({ colour: CategoryColors.Box, args0: [{ type: "input_dummy" }, { name: "row0", type: "input_value", check: "String" }, { name: "row1", type: "input_value", check: "String" }, { name: "row2", type: "input_value", check: "String" }, { name: "row3", type: "input_value", check: "String" }, { name: "row4", type: "input_value", check: "String" }], output: "microbit_image", helpUrl: Blockly.Msg.MICROBIT_IMAGE_CREATE1_HELPURL, tooltip: Blockly.Msg.MICROBIT_IMAGE_CREATE1_TOOLTIP, message0: Blockly.Msg.MICROBIT_IMAGE_CREATE1_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_RGB_Image = { init: function () { this.jsonInit({ colour: CategoryColors.Box, nextStatement: null, previousStatement: null, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_MESSAGE0, args0: [{ check: ["microbit_image", "String"], type: "input_value", name: "image" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_ImageImport = { init: function () { this.jsonInit({ colour: CategoryColors.Box, inputsInline: !0, output: "String", helpUrl: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_MESSAGE0, args0: [{ check: ["microbit_image", "String"], type: "input_value", name: "image" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_ImageCopy = { init: function () { this.jsonInit({ colour: CategoryColors.Box, inputsInline: !0, output: "String", helpUrl: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0, args0: [{ check: ["microbit_image", "String"], type: "input_value", name: "image" }] }) } }; Blockly.Blocks.CocoRobobox_RGB_ImageCot = { init: function () { this.jsonInit({ output: "String", inputsInline: !0, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_RGB_ImageCot_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_ImageCot_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_ImageCot_MESSAGE0, args0: [{ check: ["microbit_image", "String"], type: "input_value", name: "image" }, { check: "Number", type: "input_value", name: "speed2" }, { check: "Number", type: "input_value", name: "speed3" }, { check: "Number", type: "input_value", name: "speed4" }, { check: "Number", type: "input_value", name: "speed5" }] }) } }; Blockly.Blocks.CocoRobo_image_builtins = { init: function () { this.jsonInit({ colour: CategoryColors.Box, args0: [{ name: "image", options: [ [Blockly.Msg.MICROBIT_IMAGE_HEART, "HEART"], [Blockly.Msg.MICROBIT_IMAGE_HEART_SMALL, "HEART_SMALL"], [Blockly.Msg.MICROBIT_IMAGE_HAPPY, "HAPPY"], [Blockly.Msg.MICROBIT_IMAGE_SMILE, "SMILE"], [Blockly.Msg.MICROBIT_IMAGE_SAD, "SAD"], [Blockly.Msg.MICROBIT_IMAGE_CONFUSED, "CONFUSED"], [Blockly.Msg.MICROBIT_IMAGE_ANGRY, "ANGRY"], [Blockly.Msg.MICROBIT_IMAGE_ASLEEP, "ASLEEP"], [Blockly.Msg.MICROBIT_IMAGE_SUPRISED, "SURPRISED"], [Blockly.Msg.MICROBIT_IMAGE_SILLY, "SILLY"], [Blockly.Msg.MICROBIT_IMAGE_FABULOUS, "FABULOUS"], [Blockly.Msg.MICROBIT_IMAGE_MEH, "MEH"], [Blockly.Msg.MICROBIT_IMAGE_YES, "YES"], [Blockly.Msg.MICROBIT_IMAGE_NO, "NO"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK12, "CLOCK12"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK11, "CLOCK11"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK10, "CLOCK10"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK9, "CLOCK9"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK8, "CLOCK8"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK7, "CLOCK7"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK6, "CLOCK6"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK5, "CLOCK5"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK4, "CLOCK4"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK3, "CLOCK3"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK2, "CLOCK2"], [Blockly.Msg.MICROBIT_IMAGE_CLOCK1, "CLOCK1"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_N, "ARROW_N"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_NE, "ARROW_NE"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_E, "ARROW_E"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_SE, "ARROW_SE"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_S, "ARROW_S"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_SW, "ARROW_SW"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_W, "ARROW_W"], [Blockly.Msg.MICROBIT_IMAGE_ARROW_NW, "ARROW_NW"], [Blockly.Msg.MICROBIT_IMAGE_TRIANGLE, "TRIANGLE"], [Blockly.Msg.MICROBIT_IMAGE_TRIANGLE_LEFT, "TRIANGLE_LEFT"], [Blockly.Msg.MICROBIT_IMAGE_CHESSBOARD, "CHESSBOARD"], [Blockly.Msg.MICROBIT_IMAGE_DIAMOND, "DIAMOND"], [Blockly.Msg.MICROBIT_IMAGE_DIAMOND_SMALL, "DIAMOND_SMALL"], [Blockly.Msg.MICROBIT_IMAGE_SQUARE, "SQUARE"], [Blockly.Msg.MICROBIT_IMAGE_SQUARE_SMALL, "SQUARE_SMALL"], [Blockly.Msg.MICROBIT_IMAGE_RABBIT, "RABBIT"], [Blockly.Msg.MICROBIT_IMAGE_COW, "COW"], [Blockly.Msg.MICROBIT_IMAGE_MUSIC_CROTCHET, "MUSIC_CROTCHET"], [Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVER, "MUSIC_QUAVER"], [Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVERS, "MUSIC_QUAVERS"], [Blockly.Msg.MICROBIT_IMAGE_PITCHFORK, "PITCHFORK"], [Blockly.Msg.MICROBIT_IMAGE_XMAS, "XMAS"], [Blockly.Msg.MICROBIT_IMAGE_PACMAN, "PACMAN"], [Blockly.Msg.MICROBIT_IMAGE_TARGET, "TARGET"], [Blockly.Msg.MICROBIT_IMAGE_TSHIRT, "TSHIRT"], [Blockly.Msg.MICROBIT_IMAGE_ROLLERSKATE, "ROLLERSKATE"], [Blockly.Msg.MICROBIT_IMAGE_DUCK, "DUCK"], [Blockly.Msg.MICROBIT_IMAGE_HOUSE, "HOUSE"], [Blockly.Msg.MICROBIT_IMAGE_TORTOISE, "TORTOISE"], [Blockly.Msg.MICROBIT_IMAGE_BUTTERFLY, "BUTTERFLY"], [Blockly.Msg.MICROBIT_IMAGE_STICKFIGURE, "STICKFIGURE"], [Blockly.Msg.MICROBIT_IMAGE_GHOST, "GHOST"], [Blockly.Msg.MICROBIT_IMAGE_SWORD, "SWORD"], [Blockly.Msg.MICROBIT_IMAGE_GIRAFFE, "GIRAFFE"], [Blockly.Msg.MICROBIT_IMAGE_SKULL, "SKULL"], [Blockly.Msg.MICROBIT_IMAGE_UMBRELLA, "UMBRELLA"], [Blockly.Msg.MICROBIT_IMAGE_SNAKE, "SNAKE"] ], type: "field_dropdown" }], output: ["microbit_image", "Array"], helpUrl: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_image_shift = { init: function () { this.jsonInit({ colour: CategoryColors.Box, args0: [{ check: "microbit_image", type: "input_value", name: "image" }, { name: "shift", options: [ [Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_LEFT, "LEFT"], [Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_RIGHT, "RIGHT"], [Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_UP, "UP"], [Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_DOWN, "DOWN"] ], type: "field_dropdown" }, { check: "Number", type: "input_value", name: "pos" }], output: "microbit_image", helpUrl: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobobox_triaxial_acceleration = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_MESSAGE0, args0: [{ options: [ ["X", "0"], ["Y", "1"], ["Z", "2"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobobox_triaxial_angular_velocity = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0, args0: [{ options: [ ["X", "0"], ["Y", "1"], ["Z", "2"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobobox_euler_angle = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_EULER_ANGLE_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_EULER_ANGLE_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_EULER_ANGLE_MESSAGE0, args0: [{ options: [ ["P", "0"], ["R", "1"], ["Y", "2"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobobox_quaternion = { init: function () { this.jsonInit({ inputsInline: !0, output: null, colour: CategoryColors.Box, helpUrl: Blockly.Msg.CocoRoboBOX_QUATERNION_HELPURL, tooltip: Blockly.Msg.CocoRoboBOX_QUATERNION_TOOLTIP, message0: Blockly.Msg.CocoRoboBOX_QUATERNION_MESSAGE0, args0: [{ options: [ ["W", "0"], ["X", "1"], ["Y", "2"], ["Z", "3"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI2_Face_tracking = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_Face_photograph_tracking = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_x = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_y = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_w = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_h = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_value = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_face_objnum = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_face, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_20classid_tracking = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_20class_TRACKING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_20class_TRACKING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_20class_TRACKING_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_20classid_photograph_tracking = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_x = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_y = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_w = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_h = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_value = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_objnum = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_classid = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_result_20class_index = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_20classid, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_number_discern = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_number, helpUrl: Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI2_number_result = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_number, helpUrl: Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_NumberDetect_all = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_number, helpUrl: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_NumberDetect_number = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_number, helpUrl: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_NumberDetect_adience = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_number, helpUrl: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_trace_color = { init: function () { this.jsonInit({ inputsInline: !0, output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_TRACE_COLOR_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_TRACE_COLOR_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_TRACE_COLOR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "lab" }, { check: "Number", type: "input_value", name: "pixel" }, { check: "Number", type: "input_value", name: "area" }] }) } }; Blockly.Blocks.CocoRobo_AI_trace_color_displayten = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_TRACE_COLOR_RECTANGLE, "rectangle(blob.rect())"], [Blockly.Msg.CocoRobo_AI_TRACE_COLOR_CROSS, "cross(blob.cx(), blob.cy())"] ], type: "field_dropdown", name: "number" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_all = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_ALL_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_ALL_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_ALL_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_x = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_X_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_X_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_X_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_y = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_Y_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_Y_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_Y_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_w = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_W_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_W_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_W_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_h = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_H_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_H_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_H_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_number = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_center_x = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_center_y = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI2_blob_orthogon = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_color, helpUrl: Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "variables" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_reset = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_RESET_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_RESET_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_RESET_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_sensor_images = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_sensor_enable = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_START, "1"], [Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_STOP, "0"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_return = { init: function () { this.jsonInit({ output: "Number", colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_MESSAGE0, args0: [{ options: [ ["\u5206\u8fa8\u7387\u5bbd\u5ea6", "width"], ["\u5206\u8fa8\u7387\u9ad8\u5ea6", "height"], ["\u56fe\u50cf\u5e27\u683c\u5f0f", "format"], ["\u56fe\u50cf\u5e27\u5927\u5c0f", "size"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_sets = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_SETS_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_SETS_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_SETS_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_SENSOR_SETS_CONTRAST, "contrast"], [Blockly.Msg.CocoRobo_AI_SENSOR_SETS_BRIGHTNESS, "brightness"], [Blockly.Msg.CocoRobo_AI_SENSOR_SETS_SATURATION, "saturation"] ], type: "field_dropdown", name: "pattern" }, { options: [ ["-2", "-2"], ["-1", "-1"], ["0", "0"], ["1", "1"], ["2", "2"] ], type: "field_dropdown", name: "number" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_auto_gain = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_OPEN, "1"], [Blockly.Msg.CocoRobo_CLOSE, "0"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_auto_whitebal = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_OPEN, "True"], [Blockly.Msg.CocoRobo_CLOSE, "False"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_level_MI = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_H, "hmirror"], [Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_V, "vflip"] ], type: "field_dropdown", name: "select" }, { options: [ [Blockly.Msg.CocoRobo_OPEN, "1"], [Blockly.Msg.CocoRobo_CLOSE, "0"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_sensor_pattern = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_camera, helpUrl: Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_GRAYSCALE, "GRAYSCALE"], [Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_COLOR, "RGB565"] ], type: "field_dropdown", name: "yolo" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_init = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_INIT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_INIT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_INIT_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_lcd_text = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_TEXT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_TEXT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_TEXT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "message" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_clearall = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_lcd_pixel_colour = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_colour = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_COLOUR_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_COLOUR_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_COLOUR_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_display = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_MESSAGE0 }) } }; Blockly.Blocks.CocoRobo_AI_lcd_display_size = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_erosion = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_middle = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "size" }, { check: "Number", type: "input_value", name: "bias" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_mode = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "size" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_indistinct = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "size" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_cartoon = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "size" }, { check: "Number", type: "input_value", name: "seed" }, { check: "Number", type: "input_value", name: "floating" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_3D = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x_rotation" }, { check: "Number", type: "input_value", name: "y_rotation" }, { check: "Number", type: "input_value", name: "z_rotation" }, { check: "Number", type: "input_value", name: "x_translation" }, { check: "Number", type: "input_value", name: "y_translation" }, { check: "Number", type: "input_value", name: "zoom" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_show_REC = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_DISPLAY_HOLLOW, "False"], [Blockly.Msg.CocoRobo_DISPLAY_SOLID, "True"] ], type: "field_dropdown", name: "solid" }, { check: "Number", type: "input_value", name: "thickness" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_show_string = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }, { check: "Number", type: "input_value", name: "thickness" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_return_colour = { init: function () { this.jsonInit({ output: "String", colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_return_colour_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_return_colour_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_return_colour_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_show_circle = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_DISPLAY_HOLLOW, "False"], [Blockly.Msg.CocoRobo_DISPLAY_SOLID, "True"] ], type: "field_dropdown", name: "fill" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "radius" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }, { check: "Number", type: "input_value", name: "thickness" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_text_most = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "String", type: "input_value", name: "message" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }, { check: "Number", type: "input_value", name: "scale" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_show_ten_string = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }, { check: "Number", type: "input_value", name: "size" }, { check: "Number", type: "input_value", name: "thickness" }] }) } }; Blockly.Blocks.CocoRobo_AI_LCD_show_arrows = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }, { check: "Number", type: "input_value", name: "r" }, { check: "Number", type: "input_value", name: "g" }, { check: "Number", type: "input_value", name: "b" }, { check: "Number", type: "input_value", name: "thickness" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_picture = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "message" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_heat = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE, "to_grayscale"], [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW, "to_rainbow"], [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_NEGATE, "negate"], [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_INVERT, "invert"] ], type: "field_dropdown", name: "enable" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_image_descartes = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0, args0: [{ options: [ [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR, "linpolar"], [Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR, "logpolar"] ], type: "field_dropdown", name: "enable" }, { options: [ [Blockly.Msg.CocoRobo_CLOSE, "False"], [Blockly.Msg.CocoRobo_OPEN, "True"] ], type: "field_dropdown", name: "select" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_ectype = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_MESSAGE0, args0: [{ check: "String", type: "input_value", name: "message" }, { check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }] }) } }; Blockly.Blocks.CocoRobo_AI_lcd_show_ectype_show = { init: function () { this.jsonInit({ inputsInline: !0, nextStatement: null, previousStatement: null, colour: CategoryColors.AI_LCD, helpUrl: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL, tooltip: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP, message0: Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0, args0: [{ check: "Number", type: "input_value", name: "x" }, { check: "Number", type: "input_value", name: "y" }, { check: "Number", type: "input_value", name: "w" }, { check: "Number", type: "input_value", name: "h" }] }) } }; Blockly.Blocks.pinyin_dict_create_with_items_insert = { init: function () { this.setColour(CategoryColors.Dictionary); this.appendDummyInput("").appendField(new Blockly.FieldLabel(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), "TIP"); this.itemCount_ = 3; this.updateShape_(); this.setOutput(!0); this.setMutator(new Blockly.Mutator(["dict_create_with_item"])); this.setTooltip(Blockly.Msg.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("dict_create_with_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("dict_create_with_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = [], c = 0; a;) b[c] = a.valueConnection_, a = a.nextConnection && a.nextConnection.targetBlock(), c++; this.itemCount_ = c; this.updateShape_(); for (c = 0; c < this.itemCount_; c++) b[c] && this.getInput("ADD" + c).connection.connect(b[c]) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.getInput("EMPTY") && this.removeInput("EMPTY"); for (var a = [], b = 0; this.getInput("ADD" + b); b++) a.push(this.getFieldValue("KEY" + b)), this.removeInput("ADD" + b); if (0 == this.itemCount_) this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_EMPTY_TITLE); else if (this.itemCount_ == 3 && a.length == 0) { for (this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), b = 0; b < this.itemCount_; b++) if (b == 0) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("ni-hao-ya"), "KEY" + b).appendField(":") } else if (b == 1) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("hao-de-ya"), "KEY" + b).appendField(":") } else { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("xiao-ai-ya"), "KEY" + b).appendField(":") } } else { for (this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), b = 0; b < this.itemCount_; b++) this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput(a.length > b ? a[b] : 0 == b ? "key_0" : "key_" + b), "KEY" + b).appendField(":") } }, getVars: function () { return [this.getFieldValue("VAR")] }, renameVar: function (a, b) { Blockly.Names.equals(a, this.getFieldValue("VAR")) && this.setTitleValue(b, "VAR") } }; Blockly.Blocks.robot_dog_pinyin_dict_create_with_items_insert = { init: function () { this.setColour(CategoryColors.Dictionary); this.appendDummyInput("").appendField(new Blockly.FieldLabel(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), "TIP"); this.itemCount_ = 6; this.updateShape_(); this.setOutput(!0); this.setMutator(new Blockly.Mutator(["dict_create_with_item"])); this.setTooltip(Blockly.Msg.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP) }, mutationToDom: function () { var a = document.createElement("mutation"); a.setAttribute("items", this.itemCount_); return a }, domToMutation: function (a) { this.itemCount_ = parseInt(a.getAttribute("items"), 10); this.updateShape_() }, decompose: function (a) { var b = a.newBlock("dict_create_with_container"); b.initSvg(); for (var c = b.getInput("STACK").connection, e = 0; e < this.itemCount_; e++) { var d = a.newBlock("dict_create_with_item"); d.initSvg(); c.connect(d.previousConnection); c = d.nextConnection } return b }, compose: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = [], c = 0; a;) b[c] = a.valueConnection_, a = a.nextConnection && a.nextConnection.targetBlock(), c++; this.itemCount_ = c; this.updateShape_(); for (c = 0; c < this.itemCount_; c++) b[c] && this.getInput("ADD" + c).connection.connect(b[c]) }, saveConnections: function (a) { a = a.getInputTargetBlock("STACK"); for (var b = 0; a;) { var c = this.getInput("ADD" + b); a.valueConnection_ = c && c.connection.targetConnection; b++; a = a.nextConnection && a.nextConnection.targetBlock() } }, updateShape_: function () { this.getInput("EMPTY") && this.removeInput("EMPTY"); for (var a = [], b = 0; this.getInput("ADD" + b); b++) a.push(this.getFieldValue("KEY" + b)), this.removeInput("ADD" + b); if (0 == this.itemCount_) this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_EMPTY_TITLE); else if (this.itemCount_ == 6 && a.length == 0) { for (this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), b = 0; b < this.itemCount_; b++) if (b == 0) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("pa-xia"), "KEY" + b).appendField(":") } else if (b == 1) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("zhan-li"), "KEY" + b).appendField(":") } else if (b == 2) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("zhuan-quan"), "KEY" + b).appendField(":") } else if (b == 3) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("dun-qi"), "KEY" + b).appendField(":") } else if (b == 4) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("mi-shi"), "KEY" + b).appendField(":") } else if (b == 5) { this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput("wo-shou"), "KEY" + b).appendField(":") } } else { for (this.getField("TIP").setText(Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH), b = 0; b < this.itemCount_; b++) this.appendValueInput("ADD" + b).setCheck(null).setAlign(Blockly.ALIGN_RIGHT).appendField(new Blockly.FieldTextInput(a.length > b ? a[b] : 0 == b ? "key_0" : "key_" + b), "KEY" + b).appendField(":") } }, getVars: function () { return [this.getFieldValue("VAR")] }, renameVar: function (a, b) { Blockly.Names.equals(a, this.getFieldValue("VAR")) && this.setTitleValue(b, "VAR") } };