import { Boards } from 'mixly'; export const yesorno = function (_, generator) { var code = this.getFieldValue('state'); return [code, generator.ORDER_ATOMIC]; } //voice part export const VOICE_RECOGNITION_CONTROL = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot'; var control = this.getFieldValue('control'); var code = 'onboard_bot.asr_en(' + control + ')\n'; return code; } export const CI130X_OPEN_AND_CLOSE = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; var status = this.getFieldValue('status'); if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var code = 'ext_asr.asr_en(' + status + ')\n'; } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var code = 'onboard_asr.asr_en(' + status + ')\n'; } return code; } export const CI130X_IDENTIFY_AND_SAVE_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var code = 'ext_asr.cmd_id()\n'; } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var code = 'onboard_asr.cmd_id()\n'; } return code; } export const CI130X_GET_WHETHER_IDENTIFY_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var cmd = this.getFieldValue('cmd'); var code = 'ext_asr.result(' + cmd + ')'; } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.result(' + cmd + ')'; } return [code, generator.ORDER_ATOMIC]; } export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var key = this.getFieldValue('key'); if (key == 'status1') { var code = 'ext_asr.status()[0]'; } else if (key == 'status2') { var code = 'ext_asr.status()[1]'; } else if (key == 'status3') { var code = 'ext_asr.asr_en()'; } else { var code = 'ext_asr.' + key + '()'; } } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var key = this.getFieldValue('key'); if (key == 'status1') { var code = 'onboard_asr.status()[0]'; } else if (key == 'status2') { var code = 'onboard_asr.status()[1]'; } else if (key == 'status3') { var code = 'ext_asr.asr_en()'; } else { var code = 'onboard_asr.' + key + '()'; } } return [code, generator.ORDER_ATOMIC]; } export const CI130X_BROADCAST_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var star = this.getFieldValue('star'); var end = this.getFieldValue('end'); var code = 'ext_asr.play(' + star + ', ' + num + ', ' + end + ')\n'; } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC); var star = this.getFieldValue('star'); var end = this.getFieldValue('end'); var code = 'onboard_asr.play(' + star + ', ' + num + ', ' + end + ')\n'; } return code; } export const CI130X_SET_SYSTEM_CMD_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_mini') { generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var cmd = this.getFieldValue('cmd'); var code = 'ext_asr.sys_cmd(' + cmd + ')\n'; } else { generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.sys_cmd(' + cmd + ')\n'; } return code; } export const CI130X_BROADCAST_SYSTEM_TIME = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'onboard_asr.play_time(detail=' + bool + ')\n'; return code; } export const CI130X_PLAY_SYSTEM_CMD_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if (version == 'mixgo_sant') { generator.definitions_['import_sant_tts'] = 'import sant_tts'; var text = generator.valueToCode(this, 'text', generator.ORDER_ATOMIC) || '"你们,米思齐"'; var speed = this.getFieldValue('speed') || '3'; var code = 'sant_tts.play(' + text + ', speed=' + speed + ')\n'; } else if (version == 'mixgo_sowl') { generator.definitions_['import_sant_tts'] = 'import sowl_tts'; var text = generator.valueToCode(this, 'text', generator.ORDER_ATOMIC) || '"你们,米思齐"'; var speed = this.getFieldValue('speed') || '3'; var code = 'sowl_tts.play(' + text + ', speed=' + speed + ')\n'; } else { generator.definitions_['import_tts'] = 'import tts'; var text = generator.valueToCode(this, 'text', generator.ORDER_ATOMIC) || '"你们,米思齐"'; var speed = this.getFieldValue('speed') || '3'; var code = 'tts.play(' + text + ', speed=' + speed + ')\n'; } return code; } //graph part export const CREATE_CAMERA = function (_, generator) { // var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_Camera_FrameSize'] = 'from camera import Camera,FrameSize'; var cmd = this.getFieldValue('cmd'); var hm = generator.valueToCode(this, 'HM', generator.ORDER_ATOMIC); var vf = generator.valueToCode(this, 'VF', generator.ORDER_ATOMIC); var code = 'camera = Camera(FrameSize.' + cmd + ',hmirror=' + hm + ',vflip=' + vf + ')\n'; return code; } export const SHOOT_AND_SAVE_PICTURE = function (_, generator) { var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var code = 'camera.snapshot(' + direct + ')\n'; return code; } export const GET_IMAGE_AND_SAVE = function (_, generator) { generator.definitions_['camera_import_Image'] = 'from camera import Image'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var q = generator.valueToCode(this, 'quality', generator.ORDER_ATOMIC); var a = this.getFieldValue('angle'); var code = 'Image.save(' + sub + ',path=' + direct + ',quality=' + q + ',rotation=' + a + ')\n'; return code; } export const OPEN_IMAGE = function (_, generator) { generator.definitions_['camera_import_Image'] = 'from camera import Image'; var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var a = this.getFieldValue('angle'); var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC); var code = 'Image.open(path=' + direct + ',rotation=' + a + ',scale_width=' + w + ',scale_height=' + h + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_IMAGE_FROM_NET = function (_, generator) { generator.definitions_['camera_import_Image'] = 'from camera import Image'; var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var a = this.getFieldValue('angle'); var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC); var code = 'Image.download(url=' + direct + ', rotation=' + a + ', scale_width=' + w + ', scale_height=' + h + ')'; return [code, generator.ORDER_ATOMIC]; } export const CAMERA_LOOGOUT = function () { var code = 'camera.deinit()\n'; return code; } export const GET_PICTURE_DATA_EXACT = function (_, generator) { // var kind = this.getFieldValue('kind'); var code = 'camera.capture()'; return [code, generator.ORDER_ATOMIC]; } export const GET_PICTURE_WIDTH_HEIGHT_DEVICE = function (_, generator) { var kind = this.getFieldValue('kind'); var code = 'camera.' + kind + '()'; return [code, generator.ORDER_ATOMIC]; } export const CONVERT_IMAGE_TO_JPG = function (_, generator) { generator.definitions_['camera_import_Image'] = 'from camera import Image'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var kind = this.getFieldValue('kind'); var q = generator.valueToCode(this, 'quality', generator.ORDER_ATOMIC); var code = 'Image.convert(' + sub + ', formats=' + kind + ', quality=' + q + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_PICTURE_DATA_WHS = function (_, generator) { generator.definitions_['camera_import_Image'] = 'from camera import Image'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var kind = this.getFieldValue('kind'); var code = sub + '.' + kind; return [code, generator.ORDER_ATOMIC]; } export const SCREEN_SHOW_CAM_GRAPH_SHOOT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'onboard_tft.display(' + sub + ', sync=' + bool + ')\n'; return code; } export const SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'onboard_tft.display(' + sub + ',x=' + x + ',y=' + y + ', sync=' + bool + ')\n'; return code; } export const SCREEN_DISPLAY_IMAGE = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var a = this.getFieldValue('angle'); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'onboard_tft.display(' + direct + ',rotation=' + a + ',sync=' + bool + ')\n'; return code; } export const SCREEN_DISPLAY_IMAGE_LOCATION = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var a = this.getFieldValue('angle'); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'onboard_tft.display(' + direct + ',x=' + x + ',y=' + y + ',rotation=' + a + ',sync=' + bool + ')\n'; return code; } export const GET_SCREEN_IMAGE = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var code = 'onboard_tft.screenshot()'; return [code, generator.ORDER_ATOMIC]; } export const GET_SCREEN_IMAGE_SIZE = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC); var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC); var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC); var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC); var code = 'onboard_tft.screenshot(x=' + x + ',y=' + y + ',w=' + w + ',h=' + h + ')'; return [code, generator.ORDER_ATOMIC]; } export const AI_CAMERA_INIT = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var cmd = this.getFieldValue('kind'); var width = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC); var height = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC); var code = sub + ' = esp_dl.' + cmd + '(width=' + width + ', height=' + height + ')\n'; return code; } export const MODEL_INIT_WIDTH = function (_, generator) { var width = this.getFieldValue('width'); var code = width; return [code, generator.ORDER_ATOMIC]; } export const MODEL_INIT_HEIGHT = function (_, generator) { var height = this.getFieldValue('height'); var code = height; return [code, generator.ORDER_ATOMIC]; } export const AI_CAMERA_INIT_FACERECOGNIZE = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var path = generator.valueToCode(this, 'PATH', generator.ORDER_ATOMIC); var width = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC); var height = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC); var code = sub + ' = esp_dl.FaceRecognizer(width=' + width + ', height=' + height + ', db_path=' + path + ')\n'; return code; } export const MODEL_LOGOUT = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = 'del ' + sub + '\n'; return code; } export const MODEL_RUN = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var frame = generator.valueToCode(this, 'FRAME', generator.ORDER_ATOMIC); var code = sub + '.run(' + frame + '.image)'; return [code, generator.ORDER_ATOMIC]; } export const MODEL_WHETHER_RUN_SUCCEED = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = 'esp_dl.analyze(' + sub + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_HOW_MUCH_RECOGNITION = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = 'esp_dl.analyze(' + sub + ',"len")'; return [code, generator.ORDER_ATOMIC]; } export const GET_NO_RECOGNITION = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var code = 'esp_dl.analyze(' + sub + ',"data",' + no + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_NO_XY_RECOGNITION = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var coord = this.getFieldValue('coord'); if (coord == "all") { var code = 'esp_dl.analyze(' + sub + ',"box",' + no + ')'; } else { var code = 'esp_dl.analyze(' + sub + ',"box",' + no + ')[' + coord + ']'; } return [code, generator.ORDER_ATOMIC]; } export const GET_NO_XY_RECOGNITION_FACE = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var part = this.getFieldValue('part'); if (part == "all") { var code = 'esp_dl.analyze(' + sub + ',"features",' + no + ')'; } else { var code = 'esp_dl.analyze(' + sub + ',"features",' + no + ')' + part; } return [code, generator.ORDER_ATOMIC]; } export const GET_NO_CAT_OR_FACE_RECOGNITION = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var code = 'esp_dl.analyze(' + sub + ',"score",' + no + ')'; return [code, generator.ORDER_ATOMIC]; } export const Register_color_recognition_fixed = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var color = this.getFieldValue('color'); var area = generator.valueToCode(this, 'AREA', generator.ORDER_ATOMIC); if (color == "red") { var code = sub + '.register_color((170, 100, 100), (10, 255, 255),"' + color + '", ' + area + ')\n'; } else if (color == "green") { var code = sub + '.register_color((35, 100, 100), (85, 255, 255),"' + color + '",' + area + ')\n'; } else if (color == "blue") { var code = sub + '.register_color((100, 100, 100), (130, 255, 255),"' + color + '", ' + area + ')\n'; } else if (color == "yellow") { var code = sub + '.register_color((20, 100, 100), (35, 255, 255),"' + color + '", ' + area + ')\n'; } else if (color == "cyan") { var code = sub + '.register_color((85, 100, 100), (100, 255, 255),"' + color + '", ' + area + ')\n'; } else if (color == "purple") { var code = sub + '.register_color((130, 100, 100), (150, 255, 255),"' + color + '", ' + area + ')\n'; } else if (color == "black") { var code = sub + '.register_color((0, 0, 0), (180, 255, 50),"' + color + '", ' + area + ')\n'; } else if (color == "white") { var code = sub + '.register_color((0, 0, 200), (180, 50, 255),"' + color + '", ' + area + ')\n'; } return code; } export const Register_color_recognition = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var min = generator.valueToCode(this, 'MIN', generator.ORDER_ATOMIC); var max = generator.valueToCode(this, 'MAX', generator.ORDER_ATOMIC); var color = generator.valueToCode(this, 'COLOR', generator.ORDER_ATOMIC); var area = generator.valueToCode(this, 'AREA', generator.ORDER_ATOMIC); var code = sub + '.register_color(' + min + ', ' + max + ', ' + color + ', ' + area + ')\n'; return code; } export const REGISTER_NEW_FACE = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var image = generator.valueToCode(this, 'IMAGE', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'NAME', generator.ORDER_ATOMIC); var code = sub + '.enroll(' + image + '.image, name=' + name + ', validate = 1)'; return [code, generator.ORDER_ATOMIC]; } export const DELETE_FACE_FROM_DATABASE = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC); var code = sub + '.delete_face(' + id + ')\n'; return code; } export const DELETE_FACE_ALL = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.clear_face()\n'; return code; } export const PRINT_FACE_DATABASE = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.print_database()\n'; return code; } export const GET_QR_CODE_RECOGNITION_DATA = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "data", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_PICTURE_RECOGNITION_DATA = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "data", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_COLOR_DETECTION_NUM = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "len", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } // export const GET_COLOR_DETECTION_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var color = this.getFieldValue('color'); // var code = sub + '.color_detection('+ color +",'pos',"+ num +')'; // return [code, generator.ORDER_ATOMIC]; // } export const GET_CAT_FACE_DETECTION_NUM = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "len", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } // export const GET_CAT_FACE_DETECTION_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var code = sub + ".cat_detection('pos',"+ num +')'; // return [code, generator.ORDER_ATOMIC]; // } export const GET_HUMAN_DETECTION_NUM = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "len", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_FACE_DETECTION_NUM = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "len", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } export const GET_FACE_DETECTION_NAME = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl' var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC); var code = 'esp_dl.simple_run(' + sub + ', camera, "person", "name", color=0xF800, sync=' + bool + ')'; return [code, generator.ORDER_ATOMIC]; } // export const GET_FACE_DETECTION_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var code = sub + ".face_detection('pos',"+ num +')'; // return [code, generator.ORDER_ATOMIC]; // } // export const GET_FACE_DETECTION_KEYPOINT_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var kp = this.getFieldValue('kp'); // var code = sub + ".face_detection('keypoint',"+ num +','+ kp +')'; // return [code, generator.ORDER_ATOMIC]; // } // export const GET_FACE_RECOGNITION_ID = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var code = sub + ".face_recognition('len')"; // return [code, generator.ORDER_ATOMIC]; // } // export const GET_FACE_RECOGNITION_ID_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var code = sub + ".face_recognition('pos',"+ num +')'; // return [code, generator.ORDER_ATOMIC]; // } // export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var kp = this.getFieldValue('kp'); // var code = sub + ".face_recognition('keypoint',"+ num +','+ kp +')'; // return [code, generator.ORDER_ATOMIC]; // } export const GET_NO_FACE_RECOGNITION_INFO = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var kind = this.getFieldValue('kind'); var code = "esp_dl.analyze(" + sub + ', "person",' + num + ')["' + kind + '"]'; return [code, generator.ORDER_ATOMIC]; } // export const PEOPLE_FACE_ENROLL = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var code = sub + '.face_enroll()'; // return [code, generator.ORDER_ATOMIC]; // } // export const DELETE_PEOPLE_FACE_ID = function (_, generator) { // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC); // var code = sub + '.face_delete('+ id +')\n'; // return code; // } export const AI_STOP_ACQUISITION = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = sub + '.stop()'; return [code, generator.ORDER_ATOMIC]; } export const MIXIO_REPORT_IMAGE_DATA = function (_, generator) { generator.definitions_['import_base64'] = 'import base64'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var code = 'mixiot.image_base64(' + sub + ')'; return [code, generator.ORDER_ATOMIC]; } //simplified part export const CREATE_CAMERA_SIMPLE = function (_, generator) { generator.definitions_['import_Camera_FrameSize'] = 'from camera import Camera,FrameSize'; var cmd = this.getFieldValue('cmd'); var code = 'camera = Camera(FrameSize.' + cmd + ', hmirror=False,vflip=False)\n'; return code; } export const AI_CAMERA_INIT_SIMPLE = function (_, generator) { generator.definitions_['import_esp_dl'] = 'import esp_dl'; var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var cmd = this.getFieldValue('kind'); if (cmd == "FaceRecognizer") { var code = sub + ' = esp_dl.' + cmd + '(width=camera.get_pixel_width(), height=camera.get_pixel_height() , db_path="face.db")\n'; } else { var code = sub + ' = esp_dl.' + cmd + '(width=camera.get_pixel_width(), height=camera.get_pixel_height())\n'; } return code; } export const Register_color_recognition_fixed_SIMPLE = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var color = this.getFieldValue('color'); if (color == "red") { var code = sub + '.register_color((170, 100, 100), (10, 255, 255),"' + color + '")\n'; } else if (color == "green") { var code = sub + '.register_color((35, 100, 100), (85, 255, 255),"' + color + '")\n'; } else if (color == "blue") { var code = sub + '.register_color((100, 100, 100), (130, 255, 255),"' + color + '")\n'; } else if (color == "yellow") { var code = sub + '.register_color((20, 100, 100), (35, 255, 255),"' + color + '")\n'; } else if (color == "cyan") { var code = sub + '.register_color((85, 100, 100), (100, 255, 255),"' + color + '")\n'; } else if (color == "purple") { var code = sub + '.register_color((130, 100, 100), (150, 255, 255),"' + color + '")\n'; } else if (color == "black") { var code = sub + '.register_color((0, 0, 0), (180, 255, 50),"' + color + '")\n'; } else if (color == "white") { var code = sub + '.register_color((0, 0, 200), (180, 50, 255),"' + color + '")\n'; } return code; } export const REGISTER_NEW_FACE_SIMPLE = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var name = generator.valueToCode(this, 'NAME', generator.ORDER_ATOMIC); var code = sub + '.enroll(camera.capture().image, name=' + name + ', validate = 1)'; return [code, generator.ORDER_ATOMIC]; }