1 |
- "use strict";Blockly.Blocks.ai_k210_button_read_pressed={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_basic_button_when).appendField(new Blockly.FieldDropdown([["A","a"],["B","b"],["C","c"]]),"button_type").appendField(Blockly.Msg.ai_basic_pressed),this.setOutput(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_k210_button_read_pressed=function(e){return Blockly.Python.definitions_.import_define_x_ai_button="from fpioa_manager import *\nfrom Maix import FPIOA, GPIO\n\n_gp_side_buttons = [9, 10, 11]\n\nFPIOA().set_function(_gp_side_buttons[0],FPIOA.GPIO0)\nFPIOA().set_function(_gp_side_buttons[1],FPIOA.GPIO1)\nFPIOA().set_function(_gp_side_buttons[2],FPIOA.GPIO2)\n\n_gp_side_a = GPIO(GPIO.GPIO0,GPIO.IN,GPIO.PULL_UP)\n_gp_side_b = GPIO(GPIO.GPIO1,GPIO.IN,GPIO.PULL_UP)\n_gp_side_c = GPIO(GPIO.GPIO2,GPIO.IN,GPIO.PULL_UP)\n\n",["_gp_side_"+e.getFieldValue("button_type")+".value() == 1",Blockly.Python.ORDER_CONDITIONAL]},Blockly.Blocks.ai_k210_button_read_released={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_basic_button_when).appendField(new Blockly.FieldDropdown([["A","a"],["B","b"],["C","c"]]),"button_type_released").appendField(Blockly.Msg.ai_basic_released),this.setOutput(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_k210_button_read_released=function(e){return Blockly.Python.definitions_.import_define_x_ai_button="from fpioa_manager import *\nfrom Maix import FPIOA, GPIO\n\n_gp_side_buttons = [9, 10, 11]\n\nFPIOA().set_function(_gp_side_buttons[0],FPIOA.GPIO0)\nFPIOA().set_function(_gp_side_buttons[1],FPIOA.GPIO1)\nFPIOA().set_function(_gp_side_buttons[2],FPIOA.GPIO2)\n\n_gp_side_a = GPIO(GPIO.GPIO0,GPIO.IN,GPIO.PULL_UP)\n_gp_side_b = GPIO(GPIO.GPIO1,GPIO.IN,GPIO.PULL_UP)\n_gp_side_c = GPIO(GPIO.GPIO2,GPIO.IN,GPIO.PULL_UP)\n\n",["_gp_side_"+e.getFieldValue("button_type_released")+".value() == 0",Blockly.Python.ORDER_CONDITIONAL]},Blockly.Blocks.ai_k210_led_light_up={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_basic_led_set).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_basic_led_blue,"blue"],[Blockly.Msg.ai_basic_led_red,"red"]]),"type").appendField(Blockly.Msg.ai_basic_led_on),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_k210_led_light_up=function(e){var l=e.getFieldValue("type");return Blockly.Python.definitions_.k210_led_light_def="from fpioa_manager import *\nfrom Maix import GPIO\n\nfm.register(31, fm.fpioa.GPIO3)\nfm.register(32, fm.fpioa.GPIO4)\n\n_led_red=GPIO(GPIO.GPIO3,GPIO.OUT)\n_led_blue=GPIO(GPIO.GPIO4,GPIO.OUT)\n\n","_led_"+l+".value(1)\n"},Blockly.Blocks.ai_k210_led_light_off={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_basic_led_set).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_basic_led_blue,"blue"],[Blockly.Msg.ai_basic_led_red,"red"]]),"type").appendField(Blockly.Msg.ai_basic_led_off),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_k210_led_light_off=function(e){var l=e.getFieldValue("type");return Blockly.Python.definitions_.k210_led_light_def="from fpioa_manager import *\nfrom Maix import GPIO\n\nfm.register(31, fm.fpioa.GPIO3)\nfm.register(32, fm.fpioa.GPIO4)\n\n_led_red=GPIO(GPIO.GPIO3,GPIO.OUT)\n_led_blue=GPIO(GPIO.GPIO4,GPIO.OUT)\n\n","_led_"+l+".value(0)\n"},Blockly.Blocks.ai_lcd_screeninit={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/screen_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_lcd_init),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_screeninit=function(e){e.getFieldValue("DEGREE");Blockly.Python.definitions_.import_lcd="import lcd",Blockly.Python.definitions_.import_image="import image";return"lcd.rotation(1)\n","lcd.clear(lcd.BLACK)\n","lcd.init(type=1,freq=15000000,width=240,height=240,color=(0,0,0))\nlcd.rotation(1)\nlcd.clear(lcd.BLACK)\n"},Blockly.Blocks.ai_lcd_rotation={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_set_lcd_rotation).appendField(new Blockly.FieldDropdown([["0°","1"],["90°","2"],["180°","3"],["270°","0"]]),"DEGREE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_rotation=function(e){return"lcd.rotation("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_lcd_filp={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_set_lcd_mirror_flip).appendField(new Blockly.FieldCheckbox("TRUE"),"TextCheckBox"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_filp=function(e){return"lcd.mirror("+("TRUE"==e.getFieldValue("TextCheckBox")?"True":"False")+")\n"},Blockly.Blocks.ai_lcd_screen={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_set_filled_screen_color).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_set_filled_screen_color_red,"RED"],[Blockly.Msg.image_process_set_filled_screen_color_green,"GREEN"],[Blockly.Msg.image_process_set_filled_screen_color_blue,"BLUE"],[Blockly.Msg.image_process_set_filled_screen_color_purple,"PURPLE"],[Blockly.Msg.image_process_set_filled_screen_color_cyan,"CYAN"],[Blockly.Msg.image_process_set_filled_screen_color_orange,"ORANGE"],[Blockly.Msg.image_process_set_filled_screen_color_yellow,"YELLOW"],[Blockly.Msg.image_process_set_filled_screen_color_black,"BLACK"],[Blockly.Msg.image_process_set_filled_screen_color_white,"WHITE"]]),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_screen=function(e){return"lcd.clear(lcd."+e.getFieldValue("COLOR")+")\n"},Blockly.Blocks.ai_lcd_fill_screen_with_rgb={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_set_filled_screen_color),this.appendValueInput("rgb_value").setCheck(null).appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_fill_screen_with_rgb=function(e){return"lcd.clear("+Blockly.Python.valueToCode(e,"rgb_value",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_lcd_clear={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_clear_lcd),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_clear=function(e){return"lcd.clear(lcd.BLACK)\n"},Blockly.Blocks.ai_lcd_rgb_value_input={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_rgb_r),this.appendValueInput("rgb_value_r").setCheck(null).appendField(""),this.appendDummyInput().appendField(Blockly.Msg.image_process_rgb_g),this.appendValueInput("rgb_value_g").setCheck(null).appendField(""),this.appendDummyInput().appendField(Blockly.Msg.image_process_rgb_b),this.appendValueInput("rgb_value_b").setCheck(null).appendField(""),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_rgb_value_input=function(e){return[Blockly.Python.valueToCode(e,"rgb_value_r",Blockly.Python.ORDER_ATOMIC)+","+Blockly.Python.valueToCode(e,"rgb_value_g",Blockly.Python.ORDER_ATOMIC)+","+Blockly.Python.valueToCode(e,"rgb_value_b",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_lcd_XY={init:function(){var e=this.appendDummyInput();this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL),this.setColour("#5bb2d6"),this.setOutput(!0,"Boolean"),e.appendField(Blockly.Msg.image_process_xy_x),this.appendValueInput("A").setCheck("Number"),(e=this.appendDummyInput()).appendField(Blockly.Msg.image_process_xy_y),this.appendValueInput("B").setCheck("Number"),this.setInputsInline(!0)}},Blockly.Python.ai_lcd_XY=function(e){return[Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"B",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_lcd_WH={init:function(){var e=this.appendDummyInput();this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL),this.setColour("#5bb2d6"),this.setOutput(!0,"Boolean"),e.appendField(Blockly.Msg.image_process_wh_width),this.appendValueInput("A").setCheck("Number"),(e=this.appendDummyInput()).appendField(Blockly.Msg.image_process_wh_height),this.appendValueInput("B").setCheck("Number"),this.setInputsInline(!0)}},Blockly.Python.ai_lcd_WH=function(e){return[Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"B",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_lcd_colortext={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_text.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_lcd_show_text),this.appendDummyInput().appendField(Blockly.Msg.image_process_lcd_show_text_color).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_lcd_show_text_color_white,"WHITE"],[Blockly.Msg.image_process_lcd_show_text_color_black,"BLACK"],[Blockly.Msg.image_process_lcd_show_text_color_red,"RED"],[Blockly.Msg.image_process_lcd_show_text_color_green,"GREEN"],[Blockly.Msg.image_process_lcd_show_text_color_blue,"BLUE"],[Blockly.Msg.image_process_lcd_show_text_color_purple,"PURPLE"],[Blockly.Msg.image_process_lcd_show_text_color_cyan,"CYAN"],[Blockly.Msg.image_process_lcd_show_text_color_orange,"ORANGE"],[Blockly.Msg.image_process_lcd_show_text_color_yellow,"YELLOW"]]),"COLOR"),this.appendDummyInput().appendField(Blockly.Msg.image_process_lcd_show_text_bg_color).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_lcd_show_text_color_black,"BLACK"],[Blockly.Msg.image_process_lcd_show_text_color_white,"WHITE"],[Blockly.Msg.image_process_lcd_show_text_color_red,"RED"],[Blockly.Msg.image_process_lcd_show_text_color_green,"GREEN"],[Blockly.Msg.image_process_lcd_show_text_color_blue,"BLUE"],[Blockly.Msg.image_process_lcd_show_text_color_purple,"PURPLE"],[Blockly.Msg.image_process_lcd_show_text_color_cyan,"CYAN"],[Blockly.Msg.image_process_lcd_show_text_color_orange,"ORANGE"],[Blockly.Msg.image_process_lcd_show_text_color_yellow,"YELLOW"]]),"BCOLOR"),this.appendValueInput("CONTENT").setCheck("String").appendField(Blockly.Msg.image_process_text_content),this.appendValueInput("POSA").setCheck("String").appendField(Blockly.Msg.image_process_text_start_coord),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_colortext=function(e){var l=e.getFieldValue("COLOR"),t=e.getFieldValue("BCOLOR"),i=Blockly.Python.valueToCode(e,"CONTENT",Blockly.Python.ORDER_ATOMIC);return"lcd.draw_string("+Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC)+", "+i+", lcd."+l+", lcd."+t+")\n"},Blockly.Blocks.ai_lcd_createnonecarvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_create_blank_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.image_process_text_size),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_createnonecarvas=function(e){return Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+" = image.Image(size=("+Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC)+"))\n"},Blockly.Blocks.ai_lcd_fillcanvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.appendValueInput("color").setCheck(null).appendField(Blockly.Msg.image_process_text_let_canvas_filled_with_color),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_fillcanvas=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE);return l+".draw_rectangle(0,0, "+l+".width(),"+l+".height(), color="+Blockly.Python.valueToCode(e,"color",Blockly.Python.ORDER_ATOMIC)+", thickness=1, fill=True)\n"},Blockly.Blocks.ai_lcd_createcarvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_create_image_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.appendDummyInput().appendField(Blockly.Msg.image_process_create_image_canvas_path).appendField(new Blockly.FieldTextInput("/sd/preset/images/splash_bg.jpg"),"text"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_createcarvas=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE);e.getFieldValue("check");return l+' = image.Image("'+e.getFieldValue("text")+'")\n'},Blockly.Blocks.ai_lcd_showcarvas_set_cord={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_set_canvas_setup).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_text_start_coord_as),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_showcarvas_set_cord=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE);return"_"+l+"_x, _"+l+"_y = "+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+"\n"},Blockly.Blocks.ai_lcd_showcarvas_set_display={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_show_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_showcarvas_set_display=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE);return"lcd.display("+l+", oft=(_"+l+"_x,_"+l+"_y))\n"},Blockly.Blocks.ai_lcd_showcarvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_show_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem"),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_text_start_coord),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5cb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_showcarvas=function(e){return"lcd.display("+Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+", oft=("+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+"))\n"},Blockly.Blocks.ai_lcd_clearcanvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_clear_canvas_1).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_clear_canvas_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_clearcanvas=function(e){return Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".clear()\n"},Blockly.Blocks.ai_lcd_textcarvas={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_text.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_text_on_draw+Blockly.Msg.image_process_draw_text),this.appendValueInput("POSA").setCheck("String").appendField(Blockly.Msg.image_process_text_start_coord),this.appendValueInput("CONTENT").setCheck("String").appendField(Blockly.Msg.image_process_text_content),this.appendValueInput("COLOR").setCheck("String").appendField(Blockly.Msg.image_process_text_color),this.appendValueInput("Scale").setCheck("Number").appendField(Blockly.Msg.image_process_draw_text_font_size),this.appendDummyInput().appendField(Blockly.Msg.image_process_draw_text_if_monospace).appendField(new Blockly.FieldCheckbox("FALSE"),"bool"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_textcarvas=function(e){var l=Blockly.Python.valueToCode(e,"COLOR",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}var n="TRUE"==e.getFieldValue("bool")?"True":"False",a=Blockly.Python.valueToCode(e,"CONTENT",Blockly.Python.ORDER_ATOMIC),s=Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC),_=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),c=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".draw_string("+s+", "+a+", color=("+t+","+i+","+o+"), scale="+_+", mono_space="+n+")\n"}else if("#"!=l.charAt(0)){t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}n="TRUE"==e.getFieldValue("bool")?"True":"False",a=Blockly.Python.valueToCode(e,"CONTENT",Blockly.Python.ORDER_ATOMIC),s=Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC),_=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),c=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".draw_string("+s+", "+a+", color="+l+", scale="+_+", mono_space="+n+")\n"}return c},Blockly.Blocks.ai_lcd_linecarvas={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_line.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_text_on_draw+Blockly.Msg.image_process_draw_line),this.appendValueInput("POSA").setCheck("String").appendField(Blockly.Msg.image_process_text_start_coord),this.appendValueInput("POSB").setCheck("String").appendField(Blockly.Msg.image_process_text_end_coord),this.appendValueInput("COLOR").setCheck("String").appendField(Blockly.Msg.image_process_text_color),this.appendValueInput("Scale").setCheck("Number").appendField(Blockly.Msg.image_process_text_thick),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_linecarvas=function(e){var l=Blockly.Python.valueToCode(e,"COLOR",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}var n=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),a=Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC),s=Blockly.Python.valueToCode(e,"POSB",Blockly.Python.ORDER_ATOMIC),_=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".draw_line("+a+", "+s+", color=("+t+","+i+","+o+"), thickness="+n+")\n"}else if("#"!=l.charAt(0)){t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}n=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),a=Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC),s=Blockly.Python.valueToCode(e,"POSB",Blockly.Python.ORDER_ATOMIC),_=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".draw_line("+a+", "+s+", color="+l+", thickness="+n+")\n"}return _},Blockly.Blocks.ai_lcd_ractanglecarvas={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_rectangle.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_text_on_draw).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_text_filled,"fillrect"],[Blockly.Msg.image_process_text_stroked,"rect"]]),"rect_type").appendField(Blockly.Msg.image_process_draw_rectangle_text),this.appendValueInput("POSA").setCheck("String").appendField(Blockly.Msg.image_process_text_start_coord),this.appendValueInput("POSB").setCheck("String").appendField(Blockly.Msg.image_process_text_size),this.appendValueInput("COLOR").setCheck("String").appendField(Blockly.Msg.image_process_text_color),this.appendValueInput("Scale").setCheck("Number").appendField(Blockly.Msg.image_process_text_thick),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_ractanglecarvas=function(e){var l=Blockly.Python.valueToCode(e,"COLOR",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}var n=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),a="fillrect"==e.getFieldValue("rect_type")?"True":"False",s=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),_=n+".draw_rectangle("+Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"POSB",Blockly.Python.ORDER_ATOMIC)+", color=("+t+","+i+","+o+"), thickness="+s+", fill="+a+")\n"}else if("#"!=l.charAt(0))n=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),a="fillrect"==e.getFieldValue("rect_type")?"True":"False",s=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),_=n+".draw_rectangle("+Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"POSB",Blockly.Python.ORDER_ATOMIC)+", color="+l+", thickness="+s+", fill="+a+")\n";return _},Blockly.Blocks.ai_lcd_drawcirclecarvas={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_circle.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_text_on_draw).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_text_filled,"fillrect"],[Blockly.Msg.image_process_text_stroked,"rect"]]),"rect_type").appendField(Blockly.Msg.image_process_draw_circle_text),this.appendValueInput("POSA").setCheck("String").appendField(Blockly.Msg.image_process_draw_circle_text_start),this.appendValueInput("Scale").setCheck("Number").appendField(Blockly.Msg.image_process_text_radius),this.appendValueInput("COLOR").setCheck("String").appendField(Blockly.Msg.image_process_text_color),this.appendValueInput("Scale_0").setCheck("Number").appendField(Blockly.Msg.image_process_text_thick),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_drawcirclecarvas=function(e){var l=Blockly.Python.valueToCode(e,"COLOR",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}var n=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),a="fillrect"==e.getFieldValue("rect_type")?"True":"False",s=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),_=n+".draw_circle("+Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC)+", "+s+", color=("+t+", "+i+", "+o+"), thickness="+Blockly.Python.valueToCode(e,"Scale_0",Blockly.Python.ORDER_ATOMIC)+", fill="+a+")\n"}else if("#"!=l.charAt(0)){t=0,i=0,o=0;try{7==l.length&&(t=parseInt(l.substring(1,3),16),i=parseInt(l.substring(3,5),16),o=parseInt(l.substring(5,7),16))}catch(e){}n=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),a="fillrect"==e.getFieldValue("rect_type")?"True":"False",s=Blockly.Python.valueToCode(e,"Scale",Blockly.Python.ORDER_ATOMIC),_=n+".draw_circle("+Blockly.Python.valueToCode(e,"POSA",Blockly.Python.ORDER_ATOMIC)+", "+s+", color="+l+", thickness="+Blockly.Python.valueToCode(e,"Scale_0",Blockly.Python.ORDER_ATOMIC)+", fill="+a+")\n"}return _},Blockly.Blocks.ai_lcd_draw_cross_sign={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_cross.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_draw_cross_title),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_draw_cross_centerpos),this.appendValueInput("size").setCheck(null).appendField(Blockly.Msg.image_process_draw_cross_length),this.appendValueInput("thickness").setCheck(null).appendField(Blockly.Msg.image_process_draw_cross_thick),this.appendValueInput("color").setCheck(null).appendField(Blockly.Msg.image_process_draw_cross_color),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_draw_cross_sign=function(e){var l=Blockly.Python.valueToCode(e,"color",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),i=Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC),o=Blockly.Python.valueToCode(e,"size",Blockly.Python.ORDER_ATOMIC),n=Blockly.Python.valueToCode(e,"thickness",Blockly.Python.ORDER_ATOMIC),a=0,s=0,_=0;try{7==l.length&&(a=parseInt(l.substring(1,3),16),s=parseInt(l.substring(3,5),16),_=parseInt(l.substring(5,7),16))}catch(e){}var c=t+".draw_cross("+i+", color=("+a+", "+s+", "+_+"), size="+o+", thickness="+n+")\n"}else if("#"!=l.charAt(0))c=(t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE))+".draw_cross("+(i=Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC))+", color="+l+", size="+(o=Blockly.Python.valueToCode(e,"size",Blockly.Python.ORDER_ATOMIC))+", thickness="+(n=Blockly.Python.valueToCode(e,"thickness",Blockly.Python.ORDER_ATOMIC))+")\n";return c},Blockly.Blocks.ai_lcd_draw_arrow_sign={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_arrow.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_draw_arrow_title),this.appendValueInput("xy1").setCheck(null).appendField(Blockly.Msg.image_process_draw_arrow_start),this.appendValueInput("xy2").setCheck(null).appendField(Blockly.Msg.image_process_draw_arrow_end),this.appendValueInput("color").setCheck(null).appendField(Blockly.Msg.image_process_draw_arrow_color),this.appendValueInput("thickness").setCheck(null).appendField(Blockly.Msg.image_process_draw_arrow_thick),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_draw_arrow_sign=function(e){var l=Blockly.Python.valueToCode(e,"color",Blockly.Python.ORDER_ATOMIC);if("#"==l.charAt(0)){var t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),i=Blockly.Python.valueToCode(e,"xy1",Blockly.Python.ORDER_ATOMIC),o=Blockly.Python.valueToCode(e,"xy2",Blockly.Python.ORDER_ATOMIC),n=Blockly.Python.valueToCode(e,"thickness",Blockly.Python.ORDER_ATOMIC),a=0,s=0,_=0;try{7==l.length&&(a=parseInt(l.substring(1,3),16),s=parseInt(l.substring(3,5),16),_=parseInt(l.substring(5,7),16))}catch(e){}var c=t+".draw_arrow("+i+","+o+", color=("+a+", "+s+", "+_+"), thickness="+n+")\n"}else if("#"!=l.charAt(0))c=(t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE))+".draw_arrow("+(i=Blockly.Python.valueToCode(e,"xy1",Blockly.Python.ORDER_ATOMIC))+","+(o=Blockly.Python.valueToCode(e,"xy2",Blockly.Python.ORDER_ATOMIC))+", color=("+l+"), thickness="+(n=Blockly.Python.valueToCode(e,"thickness",Blockly.Python.ORDER_ATOMIC))+")\n";return c},Blockly.Blocks.ai_lcd_draw_image_on_canvas={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/lcd_draw_image.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.image_process_text_on_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_draw_image_title),this.appendValueInput("image_path").setCheck(null).appendField(Blockly.Msg.image_process_draw_image_title_image_path),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_text_start_coord),this.appendValueInput("scale_x").setCheck(null).appendField(Blockly.Msg.image_process_draw_image_scale_x),this.appendValueInput("scale_y").setCheck(null).appendField(Blockly.Msg.image_process_draw_image_scale_y),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5bb2d6"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_draw_image_on_canvas=function(e){return Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".draw_image(image.Image("+Blockly.Python.valueToCode(e,"image_path",Blockly.Python.ORDER_ATOMIC)+"), "+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+", x_scale="+Blockly.Python.valueToCode(e,"scale_x",Blockly.Python.ORDER_ATOMIC)+", y_scale="+Blockly.Python.valueToCode(e,"scale_y",Blockly.Python.ORDER_ATOMIC)+" )"},Blockly.Blocks.ai_img_save={init:function(){this.appendValueInput("save_path").setCheck(null).appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_img_save),this.appendDummyInput().appendField(Blockly.Msg.image_process_img_save_quality).appendField(new Blockly.FieldNumber(90,0,100),"compression").appendField("%"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_img_save=function(e){return Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".save("+Blockly.Python.valueToCode(e,"save_path",Blockly.Python.ORDER_ATOMIC)+", quality="+e.getFieldValue("compression")+")\n"},Blockly.Blocks.ai_lcd_invert_color={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_color_invert),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_invert_color=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".invert()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_lcd_resizecanvas={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_resize_to),this.appendValueInput("wh").setCheck(null),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_resizecanvas=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".resize("+Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC)+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_lcd_color_scheme={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_color_scheme_convert).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_color_scheme_bw,"to_grayscale(1)"],[Blockly.Msg.image_process_color_scheme_rgb,"to_rgb565(1)"]]),"color_scheme"),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_color_scheme=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("color_scheme"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_lcd_ai_pix={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_pixtovec_text_first).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_pixtovec_v2p,".ai_to_pix()"],[Blockly.Msg.image_process_pixtovec_p2v,".pix_to_ai()"]]),"ai_pix_type").appendField(Blockly.Msg.image_process_pixtovec_conversion),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_ai_pix=function(e){return"a = "+Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+e.getFieldValue("ai_pix_type")+"\n"},Blockly.Blocks.ai_lcd_img_cut={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_text_let_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_imgcut_cutting),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_imgcut_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.image_process_imgcut_size),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_lcd_img_cut=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".cut("+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+","+Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC)+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_statistics={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_get_statistics_to_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.image_process_get_statistics_get_analysis),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.image_process_get_statistics_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.image_process_get_statistics_size),this.appendValueInput("bins").setCheck(null).appendField(Blockly.Msg.image_process_get_statistics_boxes),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_get_statistics=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC),i=Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC);return[l+".get_statistics(bins="+Blockly.Python.valueToCode(e,"bins",Blockly.Python.ORDER_ATOMIC)+",roi=("+t+","+i+"))",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_histogram={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_histogram_get).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_get_histogram_compute),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_histogram_region),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_get_histogram_region_xy),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_get_histogram_region_wh),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_get_histogram=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".get_histogram(roi=("+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+","+Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC)+"))",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_histogram_percentile={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_histogram_details_1).appendField(new Blockly.FieldVariable("hist"),"varitem").appendField(Blockly.Msg.ai_vision_get_histogram_details_get),this.appendValueInput("perc").setCheck(null),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.openmv.io/library/omv.image.html#id3")}},Blockly.Python.ai_vision_get_histogram_percentile=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".get_percentile("+Blockly.Python.valueToCode(e,"perc",Blockly.Python.ORDER_ATOMIC)+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_histogram_percentile_detail={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_histogram_percentile_1).appendField(new Blockly.FieldVariable("percentile"),"varitem"),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_histogram_percentile_2).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_get_histogram_percentile_3,"value()"],[Blockly.Msg.ai_vision_get_histogram_percentile_4,"l_value()"],[Blockly.Msg.ai_vision_get_histogram_percentile_5,"a_value()"],[Blockly.Msg.ai_vision_get_histogram_percentile_6,"b_value()"]]),"option"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.openmv.io/library/omv.image.html#id3")}},Blockly.Python.ai_vision_get_histogram_percentile_detail=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("option"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_lab_rgb_conversion={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_lab_rgb_conversion_exec).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_lab_rgb_conversion_torgb,"lab_to_rgb"],[Blockly.Msg.image_process_lab_rgb_conversion_tolab,"rgb_to_lab"]]),"rgblab"),this.appendValueInput("color_tuple").setCheck(null).appendField(Blockly.Msg.image_process_lab_rgb_conversion_tuple),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_lab_rgb_conversion=function(e){return["image."+e.getFieldValue("rgblab")+"("+Blockly.Python.valueToCode(e,"color_tuple",Blockly.Python.ORDER_ATOMIC)+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_rgb_grayscale_conversion={init:function(){this.appendDummyInput().appendField(Blockly.Msg.image_process_rgb_grayscale_conversion_exec).appendField(new Blockly.FieldDropdown([[Blockly.Msg.image_process_rgb_grayscale_conversion_torgb,"grayscale_to_rgb"],[Blockly.Msg.image_process_rgb_grayscale_conversion_togray,"rgb_to_grayscale"]]),"rgb_g"),this.appendValueInput("color_tuple").setCheck(null).appendField(Blockly.Msg.image_process_rgb_grayscale_conversion_set),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_rgb_grayscale_conversion=function(e){var l=e.getFieldValue("rgb_g"),t=Blockly.Python.valueToCode(e,"color_tuple",Blockly.Python.ORDER_ATOMIC);return Blockly.Python.addVariable("rgb_tuple","",!0),["image."+l+"("+t+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_camera_wh={init:function(){var e=this.appendDummyInput();this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL),this.setColour("#60c1bb"),this.setOutput(!0,"Boolean"),e.appendField(Blockly.Msg.W),this.appendValueInput("A").setCheck("Number"),(e=this.appendDummyInput()).appendField(Blockly.Msg.H),this.appendValueInput("B").setCheck("Number"),this.setInputsInline(!0)}},Blockly.Python.ai_camera_wh=function(e){return[Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"B",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_camera_init={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/camera_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_camera_init),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_camera_set_size).appendField(new Blockly.FieldDropdown([["QVGA (320*240)","QVGA"],["QQVGA (160*120)","QQVGA"]]),"DEGREE"),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_camera_color_mode).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_camera_color_mode_rgb,"RGB565"],[Blockly.Msg.ai_camera_camera_color_mode_bw,"GRAYSCALE"]]),"DEGREE1"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_init=function(e){var l=e.getFieldValue("DEGREE"),t=e.getFieldValue("DEGREE1");e.getFieldValue("checkbox"),e.getFieldValue("w"),e.getFieldValue("h"),e.getFieldValue("DEGREE2"),e.getFieldValue("DEGREE3"),e.getFieldValue("DEGREE4"),e.getFieldValue("DEGREE5"),e.getFieldValue("input1"),e.getFieldValue("input2"),e.getFieldValue("input3");Blockly.Python.definitions_.import_sensor="import sensor";var i="sensor.reset()\n";return i+="sensor.set_pixformat(sensor."+t+")\n",i+="sensor.set_framesize(sensor."+l+")\n",i+="sensor.set_vflip(0)\n",i+="sensor.set_hmirror(0)\n",i+="sensor.skip_frames(30)\n",i+="sensor.run(1)\n"},Blockly.Blocks.ai_camera_windows={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_windowing_resize),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_windowing_w).appendField(new Blockly.FieldNumber(224),"window_w").appendField(Blockly.Msg.ai_camera_windowing_h).appendField(new Blockly.FieldNumber(224),"window_h").appendField(Blockly.Msg.ai_camera_windowing_unit),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_windows=function(e){return"sensor.set_windowing(("+e.getFieldValue("window_w")+","+e.getFieldValue("window_h")+"))\n"},Blockly.Blocks.ai_camera_snapshot={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_snapshot),this.setOutput(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_snapshot=function(e){Blockly.Python.definitions_.import_sensor="import sensor";e.getFieldValue("DEGREE");return["sensor.snapshot()",Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_camera_lens_corr={init:function(){this.appendValueInput("lens_corr").setCheck(null).appendField(Blockly.Msg.ai_camera_set_lens_corr),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_lens_corr=function(e){return[Blockly.Python.valueToCode(e,"lens_corr",Blockly.Python.ORDER_ATOMIC)+".lens_corr(strength = 1.8, zoom = 1.0)",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_camera_image_property_change={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_bcs_set_text_2).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_bcs_vflip,"set_vflip"],[Blockly.Msg.ai_camera_bcs_hmirror,"set_hmirror"],[Blockly.Msg.ai_camera_bcs_wb,"set_auto_whitebal"],[Blockly.Msg.ai_camera_bcs_g,"set_auto_gain"],[Blockly.Msg.ai_camera_bcs_e,"set_auto_exposure"]]),"image_property").appendField(Blockly.Msg.ai_camera_bcs_as_2).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable+Blockly.Msg.ai_camera_bcs_status,"True"],[Blockly.Msg.ai_camera_disable+Blockly.Msg.ai_camera_bcs_status,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_image_property_change=function(e){var l=e.getFieldValue("DEGREE");return"sensor."+e.getFieldValue("image_property")+"("+l+")\n"},Blockly.Blocks.ai_camera_vflip={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_vflip).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable,"True"],[Blockly.Msg.ai_camera_disable,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_vflip=function(e){return"sensor.set_vflip("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_camera_hmirror={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_hmirror).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable,"True"],[Blockly.Msg.ai_camera_disable,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_hmirror=function(e){return"sensor.set_hmirror("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_camera_auto_whitebal={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_auto_whitebal).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable,"True"],[Blockly.Msg.ai_camera_disable,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_auto_whitebal=function(e){return"sensor.set_auto_whitebal("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_camera_auto_gain={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_auto_gain).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable,"True"],[Blockly.Msg.ai_camera_disable,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_auto_gain=function(e){return"sensor.set_auto_gain("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_camera_auto_exposure={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_auto_exposure).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_enable,"True"],[Blockly.Msg.ai_camera_disable,"False"]]),"DEGREE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_auto_exposure=function(e){return"sensor.set_auto_exposure("+e.getFieldValue("DEGREE")+")\n"},Blockly.Blocks.ai_camera_bcs_operation={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_bcs_set_text).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_camera_bcs_contrast,"contrast"],[Blockly.Msg.ai_camera_bcs_brightness,"brightness"],[Blockly.Msg.ai_camera_bcs_saturation,"saturation"]]),"image_property").appendField(Blockly.Msg.ai_camera_bcs_as),this.appendValueInput("A").setCheck("Number"),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_range),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_bcs_operation=function(e){return"sensor.set_"+e.getFieldValue("image_property")+"("+Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_camera_contrast={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_contrast_to_value),this.appendValueInput("A").setCheck("Number"),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_range),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_contrast=function(e){return"sensor.set_contrast("+Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_camera_brightness={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_brightness_to_value),this.appendValueInput("A").setCheck("Number"),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_range),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_brightness=function(e){return"sensor.set_brightness("+Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_camera_saturation={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_saturation_value),this.appendValueInput("A").setCheck("Number"),this.appendDummyInput().appendField(Blockly.Msg.ai_camera_set_range),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_camera_saturation=function(e){return"sensor.set_saturation("+Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_lcd_XY_vision={init:function(){var e=this.appendDummyInput();this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL),this.setColour("#f0983e"),this.setOutput(!0,"Boolean"),e.appendField(Blockly.Msg.X),this.appendValueInput("A").setCheck("Number"),(e=this.appendDummyInput()).appendField(Blockly.Msg.Y),this.appendValueInput("B").setCheck("Number"),this.setInputsInline(!0)}},Blockly.Python.ai_lcd_XY_vision=function(e){return[Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"B",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_lcd_WH_vision={init:function(){var e=this.appendDummyInput();this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL),this.setColour("#f0983e"),this.setOutput(!0,"Boolean"),e.appendField(Blockly.Msg.W),this.appendValueInput("A").setCheck("Number"),(e=this.appendDummyInput()).appendField(Blockly.Msg.H),this.appendValueInput("B").setCheck("Number"),this.setInputsInline(!0)}},Blockly.Python.ai_lcd_WH_vision=function(e){return[Blockly.Python.valueToCode(e,"A",Blockly.Python.ORDER_ATOMIC)+", "+Blockly.Python.valueToCode(e,"B",Blockly.Python.ORDER_ATOMIC),Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_vision_color_analyze={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_analyze_color.png",50,50,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_color_analyze_get_result),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_color_analyze_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_color_analyze_size),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_color_analyze=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC),i=Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC);return Blockly.Python.addFunction("function","def _get_regional_color_analyze_rgb(x, y, w, h):\n _crd_bounding_box_size = (w, h)\n _crd_r = [x, y, _crd_bounding_box_size[0], _crd_bounding_box_size[1]] # 50x50 center of QQVGA.\n _crd_hist = "+l+".get_statistics(bins=8,roi=_crd_r)\n return image.lab_to_rgb((_crd_hist.l_mean(),_crd_hist.a_mean(),_crd_hist.b_mean()))\n"),["_get_regional_color_analyze_rgb("+t+", "+i+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_blobs={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_find_color.png",50,50,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_find_blobs_color_region),this.appendValueInput("color_threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_color_threshold),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_size),this.appendValueInput("area_threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_region_threshold).appendField(new Blockly.FieldCheckbox("FALSE"),"check_area"),this.appendValueInput("pixels_threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_pixel_threshold).appendField(new Blockly.FieldCheckbox("FALSE"),"check_pixels"),this.appendValueInput("margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_blobs_margin).appendField(new Blockly.FieldCheckbox("FALSE"),"margin"),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_find_blobs_filtered_region).appendField(new Blockly.FieldCheckbox("FALSE"),"check_merge"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_find_blobs=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=Blockly.Python.valueToCode(e,"color_threshold",Blockly.Python.ORDER_ATOMIC),i=Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC),o=Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC),n=Blockly.Python.valueToCode(e,"area_threshold",Blockly.Python.ORDER_ATOMIC),a=(Blockly.Python.valueToCode(e,"pixels_threshold",Blockly.Python.ORDER_ATOMIC),"TRUE"==e.getFieldValue("check_area")),s="TRUE"==e.getFieldValue("check_pixels"),_="TRUE"==e.getFieldValue("check_merge"),c=Blockly.Python.valueToCode(e,"margin",Blockly.Python.ORDER_ATOMIC),p=a,d=s,r="TRUE"==e.getFieldValue("margin"),y=_.toString();if(0==r){if(0==p&&0==d)var u=" ";else if(1==p&&0==d)u=", area_threshold="+n;else if(0==p&&1==d)u=", pixels_threshold="+n;else if(1==p&&1==d)u=", pixels_threshold="+n+", area_threshold="+n}else if(1==r)if(0==p&&0==d)u=", margin="+c;else if(1==p&&0==d)u=", area_threshold="+n+", margin="+c;else if(0==p&&1==d)u=", pixels_threshold="+n+", margin="+c;else if(1==p&&1==d)u=", pixels_threshold="+n+", area_threshold="+n+", margin="+c;return[l+".find_blobs("+t+", roi=("+i+","+o+"), merge="+(y.charAt(0).toUpperCase()+y.slice(1))+u+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_blobs={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_get_blobs_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_detection_box_x,"x()"],[Blockly.Msg.ai_vision_detection_box_y,"y()"],[Blockly.Msg.ai_vision_detection_box_width,"w()"],[Blockly.Msg.ai_vision_detection_box_height,"h()"],[Blockly.Msg.ai_vision_detection_box_pixels,"pixels()"],[Blockly.Msg.ai_vision_detection_box_cx,"cx()"],[Blockly.Msg.ai_vision_detection_box_cy,"cy()"],[Blockly.Msg.ai_vision_detection_box_degree,"rotation()"],[Blockly.Msg.ai_vision_detection_box_total,"count()"]]),"blob_type"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_get_blobs=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("blob_type"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_qrcode={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_qrcode_.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_qrcode_detected_result),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_find_qrcode=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".find_qrcodes()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_qrcode_get_info={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_qrcode_get_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_pattern_detection_content,"payload"],[Blockly.Msg.ai_vision_pattern_detection_type,"data_type"],[Blockly.Msg.ai_vision_pattern_detection_x,"x"],[Blockly.Msg.ai_vision_pattern_detection_y,"y"],[Blockly.Msg.ai_vision_pattern_detection_w,"w"],[Blockly.Msg.ai_vision_pattern_detection_h,"h"]]),"get_info"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_qrcode_get_info=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("get_info")+"()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_apriltag={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_apriltag_.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_apriltag_detected_result),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_find_apriltag=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".find_apriltags()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_apriltag_get_info={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_apriltag_get_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_pattern_detection_content,"payload"],[Blockly.Msg.ai_vision_pattern_detection_type_id,"id"],[Blockly.Msg.ai_vision_pattern_detection_type_family,"family"],[Blockly.Msg.ai_vision_pattern_detection_x,"x"],[Blockly.Msg.ai_vision_pattern_detection_y,"y"],[Blockly.Msg.ai_vision_pattern_detection_w,"w"],[Blockly.Msg.ai_vision_pattern_detection_h,"h"]]),"get_info"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_apriltag_get_info=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("get_info")+"()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_datamatrices={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_datamatrix_.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_datamatrices_detected_result),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_find_datamatrices=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".find_datamatrices()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_datamatrices_get_info={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_data_matrices_get_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_pattern_detection_content,"payload"],[Blockly.Msg.ai_vision_pattern_detection_rows,"rows"],[Blockly.Msg.ai_vision_pattern_detection_cols,"columns"],[Blockly.Msg.ai_vision_pattern_detection_can_tolerate_count,"capacity"],[Blockly.Msg.ai_vision_pattern_detection_can_not_tolerate_count,"padding"],[Blockly.Msg.ai_vision_pattern_detection_x,"x"],[Blockly.Msg.ai_vision_pattern_detection_y,"y"],[Blockly.Msg.ai_vision_pattern_detection_w,"w"],[Blockly.Msg.ai_vision_pattern_detection_h,"h"]]),"get_info"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_datamatrices_get_info=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("get_info")+"()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_barcodes={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_barcode_.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_get_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_barcode_detected_result),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_find_barcodes=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".find_barcodes()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_barcodes_get_info={init:function(){this.appendDummyInput().appendField("從").appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_barcode_matrices_get_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_pattern_detection_content,"payload"],[Blockly.Msg.ai_vision_pattern_detection_type,"type"],[Blockly.Msg.ai_vision_pattern_detection_x,"x"],[Blockly.Msg.ai_vision_pattern_detection_y,"y"],[Blockly.Msg.ai_vision_pattern_detection_w,"w"],[Blockly.Msg.ai_vision_pattern_detection_h,"h"]]),"get_info"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_vision_barcodes_get_info=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("get_info")+"()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_circles={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_find_circle.png",50,50,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_find_circle),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_region_size),this.appendValueInput("threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_hoffman_threshold),this.appendValueInput("x_margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_merge_x),this.appendValueInput("y_margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_merge_y),this.appendValueInput("r_margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_merge_r),this.appendValueInput("r_min").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_min_radius),this.appendValueInput("r_max").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_max_radius),this.appendValueInput("r_step").setCheck(null).appendField(Blockly.Msg.ai_vision_find_circle_step_radius),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_find_circles=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+".find_circles(roi=("+Blockly.Python.valueToCode(e,"xy",Blockly.Python.ORDER_ATOMIC)+","+Blockly.Python.valueToCode(e,"wh",Blockly.Python.ORDER_ATOMIC)+"), threshold = "+Blockly.Python.valueToCode(e,"threshold",Blockly.Python.ORDER_ATOMIC)+", x_margin = "+Blockly.Python.valueToCode(e,"x_margin",Blockly.Python.ORDER_ATOMIC)+", y_margin = "+Blockly.Python.valueToCode(e,"y_margin",Blockly.Python.ORDER_ATOMIC)+", r_margin = "+Blockly.Python.valueToCode(e,"r_margin",Blockly.Python.ORDER_ATOMIC)+", r_min = "+Blockly.Python.valueToCode(e,"r_min",Blockly.Python.ORDER_ATOMIC)+", r_max = "+Blockly.Python.valueToCode(e,"r_max",Blockly.Python.ORDER_ATOMIC)+", r_step = "+Blockly.Python.valueToCode(e,"r_step",Blockly.Python.ORDER_ATOMIC)+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_circles={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_find_circle_detected_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_find_circle_detected_x,"x()"],[Blockly.Msg.ai_vision_find_circle_detected_y,"y()"],[Blockly.Msg.ai_vision_find_circle_detected_radius,"r()"]]),"blob_type"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_get_circles=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("blob_type"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_lines={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_find_line.png",50,50,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_find_line),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_find_line_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_find_line_size),this.appendValueInput("threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_line_hoffman_threshold),this.appendValueInput("theta_margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_line_merge_theta),this.appendValueInput("rho_margin").setCheck(null).appendField(Blockly.Msg.ai_vision_find_line_merge_rho),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_find_lines=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=Blockly.Python.valueToCode(e,"threshold",Blockly.Python.ORDER_ATOMIC),i=Blockly.Python.valueToCode(e,"theta_margin",Blockly.Python.ORDER_ATOMIC),o=Blockly.Python.valueToCode(e,"rho_margin",Blockly.Python.ORDER_ATOMIC);return[l+".find_lines(roi=("+xy+","+wh+"), threshold = "+t+", theta_margin = "+i+", rho_margin = "+o+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_lines={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_find_line_detected_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_find_line_detected_start_x,"x1()"],[Blockly.Msg.ai_vision_find_line_detected_start_y,"y1()"],[Blockly.Msg.ai_vision_find_line_detected_end_x,"x2()"],[Blockly.Msg.ai_vision_find_line_detected_end_y,"y2()"],[Blockly.Msg.ai_vision_find_line_detected_length,"length()"],[Blockly.Msg.ai_vision_find_line_detected_angle,"theta()"]]),"blob_type"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_get_lines=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("blob_type"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_find_rects={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_vision_find_rect.png",50,50,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_vision_find_rect),this.appendValueInput("xy").setCheck(null).appendField(Blockly.Msg.ai_vision_find_rect_start_coord),this.appendValueInput("wh").setCheck(null).appendField(Blockly.Msg.ai_vision_find_rect_region_size),this.appendValueInput("threshold").setCheck(null).appendField(Blockly.Msg.ai_vision_find_rect_bounding_threshold),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_find_rects=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=Blockly.Python.valueToCode(e,"threshold",Blockly.Python.ORDER_ATOMIC);return[l+".find_rects(roi=("+xy+","+wh+"), threshold = "+t+")",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_vision_get_rects={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_vision_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_vision_find_rect_detected_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_vision_find_rect_detected_tuple,"length()"],[Blockly.Msg.ai_vision_find_rect_detected_x,"x()"],[Blockly.Msg.ai_vision_find_rect_detected_y,"y()"],[Blockly.Msg.ai_vision_find_rect_detected_w,"w()"],[Blockly.Msg.ai_vision_find_rect_detected_h,"h()"]]),"blob_type"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#f0983e"),this.setTooltip(""),this.setHelpUrl("https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html?highlight=find_circles")}},Blockly.Python.ai_vision_get_rects=function(e){return[Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+"."+e.getFieldValue("blob_type"),Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_mphone_init={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/microphone_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_microphone_init),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#5fcd8e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_mphone_init=function(e){Blockly.Python.definitions_.import_all_mphone="from Maix import GPIO, I2S, FFT\nfrom board import board_info\nfrom fpioa_manager import fm\n\nsample_rate = 38640\nsample_points = 1024\nfft_points = 512\nhist_x_num = 50\n\nfm.register(20,fm.fpioa.I2S0_IN_D0, force=True)\nfm.register(19,fm.fpioa.I2S0_WS, force=True)\nfm.register(18,fm.fpioa.I2S0_SCLK, force=True)\n\n_recorder_rx = I2S(I2S.DEVICE_0)\n_recorder_rx.channel_config(_recorder_rx.CHANNEL_0, _recorder_rx.RECEIVER, align_mode = I2S.STANDARD_MODE)\n_recorder_rx.set_sample_rate(sample_rate)\ndef _microphone_read_average(lst): \n return int((sum(lst)/len(lst))*100)\n",Blockly.Python.addVariable("sample_rate","sample_rate = 38640",!0),Blockly.Python.addVariable("sample_points","sample_points = 1024",!0),Blockly.Python.addVariable("fft_points","fft_points = 512",!0),Blockly.Python.addVariable("hist_x_num","hist_x_num = 50",!0),Blockly.Python.addVariable("_recorder_rx","",!0),Blockly.Python.addVariable("fft_res","",!0),Blockly.Python.addVariable("fft_amp","",!0),Blockly.Python.addVariable("read_all_channel","read_all_channel = [0, 0, 0, 0, 0, 0, 0, 0]",!0);return""},Blockly.Blocks.mphone_audio_spectrum_init={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/ai_audio_spectrum.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_microphone_start_spectrum_analyze),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5fcd8e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.mphone_audio_spectrum_init=function(e){return"_audio = _recorder_rx.record(sample_points)\nfft_res = FFT.run(_audio.to_bytes(),fft_points)\nfft_amp = FFT.amplitude(fft_res)\n\nread_all_channel[0] = int(_microphone_read_average(fft_amp[0:63]))\nread_all_channel[1] = int(_microphone_read_average(fft_amp[64:127]))\nread_all_channel[2] = int(_microphone_read_average(fft_amp[127:191]))\nread_all_channel[3] = int(_microphone_read_average(fft_amp[192:255]))\nread_all_channel[4] = int(_microphone_read_average(fft_amp[256:319]))\nread_all_channel[5] = int(_microphone_read_average(fft_amp[320:383]))\nread_all_channel[6] = int(_microphone_read_average(fft_amp[384:447]))\nread_all_channel[7] = int(_microphone_read_average(fft_amp[448:514]))\n"},Blockly.Blocks.ai_mphone_read_sound_sensitivity={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_microphone_get_spectrum_analyze_result).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_1,"0"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_2,"1"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_3,"2"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_4,"3"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_5,"4"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_6,"5"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_7,"6"],[Blockly.Msg.ai_microphone_get_spectrum_analyze_result_8,"7"]]),"level"),this.setOutput(!0,null),this.setColour("#5fcd8e"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_mphone_read_sound_sensitivity=function(e){return["read_all_channel["+e.getFieldValue("level")+"]",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_audio_init={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/speaker_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_audio_init),this.setColour("#603ea0"),this.setTooltip(""),this.setHelpUrl(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Blockly.Python.ai_audio_init=function(e){Blockly.Python.definitions_.import_Maix="from Maix import I2S, GPIO",Blockly.Python.definitions_.import_fpioa_manager="from fpioa_manager import *",Blockly.Python.definitions_.import_audio="import audio";return""},Blockly.Blocks.ai_audio_play_song={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_play_music_file),this.appendDummyInput().appendField(Blockly.Msg.ai_audio_play_music_file_set_vol).appendField(new Blockly.FieldNumber(95,0,100,1),"play_vol"),this.appendValueInput("path").setCheck(null).appendField(Blockly.Msg.ai_audio_play_music_file_set_file_path),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#603ea0"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_song=function(e){var l=e.getFieldValue("play_vol"),t=Blockly.Python.valueToCode(e,"path",Blockly.Python.ORDER_ATOMIC);return Blockly.Python.addVariable("_audio_play_state",'_audio_rx = I2S(I2S.DEVICE_0)\n\ndef _speaker_play_song(path, volume):\n global _audio_play_state\n _player = audio.Audio(path = path)\n _player.volume(volume)\n _wav_info = _player.play_process(_audio_rx)\n _audio_rx.channel_config(_audio_rx.CHANNEL_1, I2S.TRANSMITTER, resolution = I2S.RESOLUTION_16_BIT, align_mode = I2S.STANDARD_MODE)\n _audio_rx.set_sample_rate(_wav_info[1])\n _audio_play_state = 0\n\n fm.register(34,fm.fpioa.I2S0_OUT_D1)\n fm.register(35,fm.fpioa.I2S0_SCLK)\n fm.register(33,fm.fpioa.I2S0_WS)\n\n while True:\n _audio_play_state = _player.play()\n if (_audio_play_state) == True:\n print("Playing.")\n elif (_audio_play_state) == False:\n print("Done.")\n break\n\n',!0),"_speaker_play_song(path="+t+", volume="+l+")\n"},Blockly.Blocks.ai_audio_play_state={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_get_play_status),this.setOutput(!0,null),this.setColour("#603ea0"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_state=function(e){return["_audio_play_state",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_audio_play_finish={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_end_play),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#603ea0"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_finish=function(e){return"_player.finish()\n"},Blockly.Blocks.ai_audio_set={init:function(){this.appendValueInput("Num").setCheck(null).appendField(Blockly.Msg.ai_audio_set_music_vol),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#603ea0"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_set=function(e){return"_player.volume("+Blockly.Python.valueToCode(e,"Num",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_audio_init_speaker={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/speaker_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_audio_init),this.setColour("#5f7fc1"),this.setTooltip(""),this.setHelpUrl(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Blockly.Python.ai_audio_init_speaker=function(e){Blockly.Python.definitions_.import_Maix="from Maix import I2S, GPIO",Blockly.Python.definitions_.import_fpioa_manager="from fpioa_manager import *",Blockly.Python.definitions_.import_audio="import audio";return""},Blockly.Blocks.ai_audio_play_song_speaker={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_play_music_file),this.appendDummyInput().appendField(Blockly.Msg.ai_audio_play_music_file_set_vol).appendField(new Blockly.FieldNumber(95,0,100,1),"play_vol"),this.appendValueInput("path").setCheck(null).appendField(Blockly.Msg.ai_audio_play_music_file_set_file_path),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5f7fc1"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_song_speaker=function(e){var l=e.getFieldValue("play_vol"),t=Blockly.Python.valueToCode(e,"path",Blockly.Python.ORDER_ATOMIC);return Blockly.Python.addVariable("_audio_play_state",'_audio_rx = I2S(I2S.DEVICE_0)\n\ndef _speaker_play_song(path, volume):\n global _audio_play_state\n _player = audio.Audio(path = path)\n _player.volume(volume)\n _wav_info = _player.play_process(_audio_rx)\n _audio_rx.channel_config(_audio_rx.CHANNEL_1, I2S.TRANSMITTER, resolution = I2S.RESOLUTION_16_BIT, align_mode = I2S.STANDARD_MODE)\n _audio_rx.set_sample_rate(_wav_info[1])\n _audio_play_state = 0\n\n fm.register(34,fm.fpioa.I2S0_OUT_D1)\n fm.register(35,fm.fpioa.I2S0_SCLK)\n fm.register(33,fm.fpioa.I2S0_WS)\n\n while True:\n _audio_play_state = _player.play()\n if (_audio_play_state) == True:\n print("Playing.")\n elif (_audio_play_state) == False:\n print("Done.")\n break\n\n',!0),"_speaker_play_song(path="+t+", volume="+l+")\n"},Blockly.Blocks.ai_audio_play_state_speaker={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_get_play_status),this.setOutput(!0,null),this.setColour("#5f7fc1"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_state_speaker=function(e){return["_audio_play_state",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_audio_play_finish_speaker={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_audio_end_play),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5f7fc1"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_play_finish_speaker=function(e){return"_player.finish()\n"},Blockly.Blocks.ai_audio_set_speaker={init:function(){this.appendValueInput("Num").setCheck(null).appendField(Blockly.Msg.ai_audio_set_music_vol),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#5f7fc1"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_audio_set_speaker=function(e){return"_player.volume("+Blockly.Python.valueToCode(e,"Num",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_video_record_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/video_record_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_video_start_recording),this.appendValueInput("save_path").setCheck(null).appendField(Blockly.Msg.ai_video_start_recording_file_path),this.appendValueInput("w").setCheck(null).appendField(Blockly.Msg.ai_video_start_recording_width),this.appendValueInput("h").setCheck(null).appendField(Blockly.Msg.ai_video_start_recording_height),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_record_setup=function(e){var l=Blockly.Python.valueToCode(e,"save_path",Blockly.Python.ORDER_ATOMIC),t=Blockly.Python.valueToCode(e,"w",Blockly.Python.ORDER_ATOMIC),i=Blockly.Python.valueToCode(e,"h",Blockly.Python.ORDER_ATOMIC);return Blockly.Python.definitions_.import_video="import video",Blockly.Python.definitions_.import_Maix="from Maix import GPIO",Blockly.Python.addVariable("record_vid","record_vid = None",!0),"_record_vid = video.open("+l+", record=1, width="+t+", height="+i+", interval=20000, quality=80)\n"},Blockly.Blocks.ai_video_get={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_video_to_canvas).appendField(new Blockly.FieldVariable("canvas"),"varitem").appendField(Blockly.Msg.ai_video_record),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_get=function(e){return"_record_vid.record("+Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE)+")\n"},Blockly.Blocks.ai_video_stop={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_video_stop_recording),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#60c1bb"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_stop=function(e){return"_record_vid.record_finish()\n"},Blockly.Blocks.ai_video_set={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/video_init_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_video_play_video),this.appendDummyInput().appendField(Blockly.Msg.ai_video_play_video_2),this.appendValueInput("path").setCheck(null).appendField(Blockly.Msg.ai_video_play_video_file_path),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#4d9994"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_set=function(e){return Blockly.Python.definitions_.import_video="import video",Blockly.Python.definitions_.import_Maix="from Maix import GPIO",Blockly.Python.addVariable("_video_play","",!0),"_video_play = video.open("+Blockly.Python.valueToCode(e,"path",Blockly.Python.ORDER_ATOMIC)+")\n"},Blockly.Blocks.ai_video_stop_play={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_video_stop_video_playing),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#4d9994"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_stop_play=function(e){return"_video_play.__del__()\n"},Blockly.Blocks.ai_video_status={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_video_get_video_playing_status),this.setOutput(!0,null),this.setColour("#4d9994"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_video_status=function(e){return["_video_play.play()",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_model_allinit={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_init_title).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_models_init_hand_written_model,"Single Digit Recognition"],[Blockly.Msg.ai_models_init_object_model,"Common Object Recognition"],[Blockly.Msg.ai_models_init_face_model,"Human Face Recognition"]]),"DEGREE"),this.appendDummyInput().appendField(Blockly.Msg.ai_models_init_source).appendField(new Blockly.FieldVariable("img_mnist"),"varitem"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_allinit=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE);Blockly.Python.definitions_.import_KPU="import KPU as kpu";var t=e.getFieldValue("DEGREE"),i="";return"Single Digit Recognition"==t?(Blockly.Python.addVariable("task_mnist",'task_mnist = kpu.load("/sd/preset/models/mnist.kmodel")\n',!0),i+="img_mnist1=img_mnist.to_grayscale(1)\n",i+="img_mnist_resized=img_mnist1.resize(28,28)\n",i+="a=img_mnist_resized.invert()\n",i+="a=img_mnist_resized.strech_char(1)\n",i+="a=img_mnist_resized.pix_to_ai()\n",i+="fmap_mnist=kpu.forward(task_mnist, "+l+")\n",i+="plist_mnist=fmap_mnist[:]\n",i+="pmax_mnist=max(plist_mnist)\n",i+="max_index_mnist=plist_mnist.index(pmax_mnist)\n"):"Common Object Recognition"==t?(Blockly.Python.addVariable("task_objectrecognition","",!0),Blockly.Python.addVariable("img_objectrecognition","classes_objectrecognition = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']\ntask_objectrecognition = kpu.load(\"/sd/preset/models/tinyyolo_v2_20class.kmodel\")\nobject_anchor = (1.08, 1.19, 3.42, 4.41, 6.63, 11.38, 9.42, 5.11, 16.62, 10.52)\na = kpu.init_yolo2(task_objectrecognition, 0.5, 0.3, 5, object_anchor)\n",!0),i+="code_objectrecognition = kpu.run_yolo2(task_objectrecognition, "+l+")\n"):(Blockly.Python.addVariable("task_facerecognition","",!0),Blockly.Python.addVariable("img_facerecognition",'task_facerecognition = kpu.load("/sd/preset/models/preset/face-recognition.kmodel")\nanchor_face = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025)\na = kpu.init_yolo2(task_facerecognition, 0.5, 0.3, 5, anchor_face)\n\n',!0),i+="code_facerecognition = kpu.run_yolo2(task_facerecognition, "+l+")\n"),i},Blockly.Blocks.ai_model_index_mnist={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/digit_recognition_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_models_hand_written_model_result),this.appendDummyInput().appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_models_hand_written_model_number,"c"],[Blockly.Msg.ai_models_hand_written_model_confidence,"confidence"]]),"value"),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_index_mnist=function(e){var l="max_index_mnist";return"confidence"==e.getFieldValue("value")&&(l="int(pmax_mnist*100)"),[l,Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_model_look={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_object_model_if),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_look=function(e){return["code_objectrecognition",Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_model_get={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/object_recognition_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_models_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_models_object_model_get).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_models_object_model_name,"Object"],[Blockly.Msg.ai_models_object_model_x,"X"],[Blockly.Msg.ai_models_object_model_y,"Y"],[Blockly.Msg.ai_models_object_model_w,"W"],[Blockly.Msg.ai_models_object_model_h,"H"],[Blockly.Msg.ai_models_object_model_count,"Number"],[Blockly.Msg.ai_models_object_model_index,"Serial"],[Blockly.Msg.ai_models_object_model_confidence,"Confidence"]]),"TYPE"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_get=function(e){var l=e.getFieldValue("TYPE"),t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),i="";return"Object"==l?i="classes_objectrecognition["+t+".classid()]":"X"==l?i=t+".x()":"Y"==l?i=t+".y()":"W"==l?i=t+".w()":"H"==l?i=t+".h()":"Number"==l?i=t+".objnum()":"Serial"==l?i=t+".index()":"Confidence"==l&&(i=t+".value()"),[i,Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_model_face={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_face_model_if),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_face=function(e){return["code_facerecognition",Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_model_xy={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("blockly/media/face_recognition_header.png",45,45,{alt:"*",flipRtl:"FALSE"})),this.appendDummyInput().appendField(Blockly.Msg.ai_models_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_models_face_model_get).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_models_face_model_x,"X"],[Blockly.Msg.ai_models_face_model_y,"Y"],[Blockly.Msg.ai_models_face_model_w,"W"],[Blockly.Msg.ai_models_face_model_h,"H"],[Blockly.Msg.ai_models_face_model_count,"Number"],[Blockly.Msg.ai_models_face_model_index,"Serial"],[Blockly.Msg.ai_models_face_model_confidence,"Confidence"]]),"TYPE"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_xy=function(e){var l=e.getFieldValue("TYPE"),t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),i="";return"X"==l?i=t+".x()":"Y"==l?i=t+".y()":"W"==l?i=t+".w()":"H"==l?i=t+".h()":"Number"==l?i=t+".objnum()":"Serial"==l?i=t+".index()":"Confidence"==l&&(i=t+".value()"),[i,Blockly.Python.ORDER_ATOMIC]},Blockly.Blocks.ai_model_customized_init_setup={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_customized_init_setup_title),this.appendDummyInput().appendField(Blockly.Msg.ai_models_customized_init_setup_path).appendField(new Blockly.FieldTextInput("/sd/user/mymodel.kmodel"),"model_path"),this.appendDummyInput().appendField(Blockly.Msg.ai_models_customized_init_setup_source).appendField(new Blockly.FieldVariable("camera"),"varitem"),this.appendValueInput("class_input").setCheck(null).appendField(Blockly.Msg.ai_models_customized_init_setup_name),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_customized_init_setup=function(e){var l=Blockly.Python.valueToCode(e,"class_input",Blockly.Python.ORDER_ATOMIC),t=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),i=e.getFieldValue("model_path");return Blockly.Python.definitions_.import_KPU_customized="import KPU as kpu",Blockly.Python.addVariable("task_customized_model",'task_customized_model = kpu.load("'+i+'")\nanchor_customized_model = (0.57273, 0.677385, 1.87446, 2.06253, 3.33843, 5.47434, 7.88282, 3.52778, 9.77052, 9.16828)\na = kpu.init_yolo2(task_customized_model, 0.6, 0.3, 5, anchor_customized_model)\n',!0),Blockly.Python.addVariable("classes_customized_model","classes_customized_model = "+l+"\n",!0),"code_customized_model = kpu.run_yolo2(task_customized_model, "+t+")\n"},Blockly.Blocks.ai_model_customized_if_got={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_customized_if_got),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_customized_if_got=function(e){return["code_customized_model",Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_model_customized_get_result={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_models_from).appendField(new Blockly.FieldVariable("i"),"varitem").appendField(Blockly.Msg.ai_models_customized_get_result_any).appendField(new Blockly.FieldDropdown([[Blockly.Msg.ai_models_customized_get_result_name,"classid"],[Blockly.Msg.ai_models_customized_get_result_x,"x"],[Blockly.Msg.ai_models_customized_get_result_y,"y"],[Blockly.Msg.ai_models_customized_get_result_w,"w"],[Blockly.Msg.ai_models_customized_get_result_h,"h"],[Blockly.Msg.ai_models_customized_get_result_count,"objnum"],[Blockly.Msg.ai_models_customized_get_result_index,"index"],[Blockly.Msg.ai_models_customized_get_result_confidence,"value"]]),"get_results"),this.setOutput(!0,null),this.setColour("#ee783a"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_model_customized_get_result=function(e){var l=Blockly.Python.variableDB_.getName(e.getFieldValue("varitem"),Blockly.Variables.NAME_TYPE),t=e.getFieldValue("get_results");if("classid"==t)var i="classes_customized_model["+l+".classid()]";else i=l+"."+t+"()";return[i,Blockly.Python.ORDER_NONE]},Blockly.Blocks.ai_system_restart={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_system_restart),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_restart=function(e){Blockly.Python.definitions_.import_machine="import machine";return"machine.reset()\n"},Blockly.Blocks.ai_system_gc={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_system_enable_gc),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_gc=function(e){Blockly.Python.definitions_.import_gc="import gc",Blockly.Python.addSetup("ai_system_gc","gc.enable()");return"gc.collect()\n"},Blockly.Blocks.ai_system_run={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ai_system_run_python_code),this.appendValueInput("PATH").setCheck(null).appendField(Blockly.Msg.ai_system_run_python_code_file_path),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#d42b03"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_run=function(e){return"exec(open("+Blockly.Python.valueToCode(e,"PATH",Blockly.Python.ORDER_ATOMIC)+").read())\n"},Blockly.Blocks.ai_system_create={init:function(){this.appendDummyInput().appendField(Blockly.Msg.SYSTEM_CREATE),this.appendValueInput("PATH").setCheck(null).appendField(Blockly.Msg.SYSTEM_CREATE_F),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#1e3283"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_create=function(e){var l=Blockly.Python.valueToCode(e,"PATH",Blockly.Python.ORDER_ATOMIC),t="def _CREATE_TEXT_FILE(_path):\n";return t+=" f = open(_path, 'w')\n",t+=" f.close()\n",Blockly.Python.addFunction("_CREATE_TEXT_FILE",t),t="_CREATE_TEXT_FILE("+l+")\n"},Blockly.Blocks.ai_system_write={init:function(){this.appendDummyInput().appendField(Blockly.Msg.SYSTEM_WRITE),this.appendValueInput("PATH").setCheck(null).appendField(Blockly.Msg.SYSTEM_WRITE_F),this.appendValueInput("WPATH").setCheck(null).appendField(Blockly.Msg.SYSTEM_WRITE_W),this.appendDummyInput().appendField(Blockly.Msg.SYSTEM_WRITE_S).appendField(new Blockly.FieldDropdown([[Blockly.Msg.SYSTEM_WRITE_S_N,"newline"],[Blockly.Msg.SYSTEM_WRITE_S_C,"comma"],[Blockly.Msg.SYSTEM_WRITE_S_S,"space"],[Blockly.Msg.SYSTEM_WRITE_S_SE,"semicolon"]]),"separator"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#1e3283"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_write=function(e){var l=Blockly.Python.valueToCode(e,"PATH",Blockly.Python.ORDER_ATOMIC),t=Blockly.Python.valueToCode(e,"WPATH",Blockly.Python.ORDER_ATOMIC),i=e.getFieldValue("separator"),o="def _CREATE_TEXT_FILE_WITH_CONTENT(_path, _data, _sep):\n";return o+=" f = open(_path, 'a')\n",o+=" f.write(_data + _sep)\n",o+=" f.close()\n",Blockly.Python.addFunction("_CREATE_TEXT_FILE_WITH_CONTENT",o),o="_CREATE_TEXT_FILE_WITH_CONTENT("+l+", "+t+", '\\r\\n')","newline"==i?o="_CREATE_TEXT_FILE_WITH_CONTENT("+l+", "+t+", '\\r\\n')":"comma"==i?o="_CREATE_TEXT_FILE_WITH_CONTENT("+l+", "+t+", ',')":"space"==i?o="_CREATE_TEXT_FILE_WITH_CONTENT("+l+", "+t+", ' ')":"semicolon"==i&&(o="_CREATE_TEXT_FILE_WITH_CONTENT("+l+", "+t+", ';')"),o},Blockly.Blocks.ai_system_input={init:function(){this.appendDummyInput().appendField(Blockly.Msg.SYSTEM_INPUT),this.appendValueInput("PATH").setCheck(null).appendField(Blockly.Msg.SYSTEM_WRITE_F),this.appendDummyInput().appendField(Blockly.Msg.SYSTEM_WRITE_S).appendField(new Blockly.FieldDropdown([[Blockly.Msg.SYSTEM_WRITE_S_N,"newline"],[Blockly.Msg.SYSTEM_WRITE_S_C,"comma"],[Blockly.Msg.SYSTEM_WRITE_S_S,"space"],[Blockly.Msg.SYSTEM_WRITE_S_SE,"semicolon"]]),"separator"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour("#1e3283"),this.setTooltip(""),this.setHelpUrl("")}},Blockly.Python.ai_system_input=function(e){var l=Blockly.Python.valueToCode(e,"PATH",Blockly.Python.ORDER_ATOMIC),t=e.getFieldValue("separator"),i="def _GET_LIST_FROM_FILE(_path, _sep):\n";return i+=" f = open(_path, 'r')\n",i+=" result = f.read().split(_sep)\n",i+=" f.close()\n",i+=" return result\n",Blockly.Python.addFunction("_GET_LIST_FROM_FILE",i),i="_GET_LIST_FROM_FILE("+l+", '\\r\\n')","newline"==t?i="_GET_LIST_FROM_FILE("+l+", '\\r\\n')":"comma"==t?i="_GET_LIST_FROM_FILE("+l+", ',')":"space"==t?i="_GET_LIST_FROM_FILE("+l+", ' ')":"semicolon"==t&&(i="_GET_LIST_FROM_FILE("+l+", ';')"),i};
|