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_sant'){ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var code = 'onboard_asr.asr_en('+ status +')\n'; } else 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'; } return code; } export const CI130X_IDENTIFY_AND_SAVE_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if(version == 'mixgo_sant'){ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var code = 'onboard_asr.cmd_id()\n'; } else if(version == 'mixgo_mini'){ generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr'; var code = 'ext_asr.cmd_id()\n'; } return code; } export const CI130X_GET_WHETHER_IDENTIFY_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if(version == 'mixgo_sant'){ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.result(' + cmd + ')'; } else 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 + ')'; } return [code, generator.ORDER_ATOMIC]; } export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if(version == 'mixgo_sant'){ 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 + '()'; } }else 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 + '()'; } } return [code, generator.ORDER_ATOMIC]; } export const CI130X_BROADCAST_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if(version == 'mixgo_sant'){ 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'; }else 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'; } return code; } export const CI130X_SET_SYSTEM_CMD_SANT = function (_, generator) { var version = Boards.getSelectedBoardKey().split(':')[2]; if(version == 'mixgo_sant'){ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr'; var cmd = this.getFieldValue('cmd'); var code = 'onboard_asr.sys_cmd(' + cmd + ')\n'; }else 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'; } 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; } //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 code = 'Image.open(path=' + direct +',rotation=' + a + ')'; return [code, generator.ORDER_ATOMIC]; } export const CAMERA_LOOGOUT = function (_, generator) { 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 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+',x='+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+',x='+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 = '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) { var version = Boards.getSelectedBoardKey().split(':')[2]; 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]; }