/* * @Descripttion: * @version: * @Author: sueRimn * @Date: 2022-03-16 17:09:11 * @LastEditors: xiewenji 527774126@qq.com * @LastEditTime: 2025-09-11 18:16:45 */ #ifndef _SYSTEMCOMMONDEFIN1_HPP_ #define _SYSTEMCOMMONDEFIN1_HPP_ #include // working:”检测”, ready:”就绪”, check: “自检”, bad: “故障”, close: “关闭” // 系统运行状态定义 enum SYSTEMRUNTYPE_ { SYSTEM_RUN_TYPE_null, SYSTEM_RUN_TYPE_working, // ”检测” SYSTEM_RUN_TYPE_ready, // ”就绪” SYSTEM_RUN_TYPE_check, // “自检” SYSTEM_RUN_TYPE_bad, // “故障” SYSTEM_RUN_TYPE_close, // “关闭” SYSTEM_RUN_TYPE_count, }; // // 检测状态 离线检测 在线检测 enum CHECKIMGTRUNTYP_ { CHECK_TYPE_ONLING, // 在线检测 CHECK_TYPE_OFFLING, // 离线检测 }; //------------------------config file define---------------------------------------- #define FILE_SYSTEM_RUN_CONFIG "../data/system_param.json" #define FILE_THRESHOLDPARARM "/var/aidlux/efs/jdf/model/param.json" #define FILE_CAM_ROI_PARARM "/var/aidlux/aid-cms/model/roi.json" #define FILE_AIMODEL_FILE_PATH "/var/aidlux/aid-cms/model/config.json" #define FILE_CONFIG_ROOR_PATH "/var/aidlux/aid-cms/model/" #define FILE_AI_defect_BOE_MODEL_PATH "/home/aidlux/BOE/UseModel/defect.engine" #define FILE_AI_classis_BOE_MODEL_PATH "/home/aidlux/BOE/UseModel/class.engine" #define FILE_CHECKIMG_CONFIG "../DataConfig/check_Config.ini" #define FILE_SAVEOKIMG_PATH "/home/aidlux/xwj/OKImg/" // #define FILE_SAVEALLIMG_PATH "/home/aidlux/JBL/imageData/" #define FILE_SAVEALLIMG_PATH "/ssd/SaveImg/" #define FILE_SAVENGIMG_PATH "/ssd/NGImg/" // #define MAX_NAM_LEN 64 // 字符长度 #define MAX_STR_LEN 128 // url长度 #define MAX_ULR_LEN 256 #define MAX_GPU_NUM 2 // ncnn 行人检测 跟踪 检测最大 线程个数 #define MAX_PERSONTRACKER_THREAD_NUM 4 // 共享内存检测最大 线程个数 #define MAX_SHARMEMORYCHECK_THREAD_NUM 2 // 行人+跌倒检测 算法 资源 起止 #define SHARMEMORYCHECK_THREAD_PERSON_IDX_START 0 #define SHARMEMORYCHECK_THREAD_PERSON_IDX_END 6 // 离岗行人 算法 资源 起止 #define SHARMEMORYCHECK_THREAD_Departure_PERSON_IDX_START 7 #define SHARMEMORYCHECK_THREAD_Departure_PERSON_IDX_END 7 // 属性检测 算法 资源 起止 #define SHARMEMORYCHECK_THREAD_ATTRIBUTE_IDX_START 9 #define SHARMEMORYCHECK_THREAD_ATTRIBUTE_IDX_END 9 #define USERSHAREKEY 476550 #define SHARED_MEM_LEN IMAGE_WIDTH *IMAGE_HEIGHT * 3 #define HTTP_SERVER_PATTERN_CAMCONFIG "/api/camera/param" #define HTTP_SERVER_PATTERN_CAMCHECKROI "/api/camera/roi" #define HTTP_SERVER_PATTERN_PARAM_ADD "/param/add" #define HTTP_SERVER_PATTERN_PREVIEW "/preview" #define HTTP_SERVER_PATTERN_SWITCH "/switch" #define HTTP_SERVER_PATTERN_DETECT_OPEN_ALL "/api/detect/open/all" #define HTTP_SERVER_PATTERN_PLC_STATE "/api/plc/state" #define HTTP_SERVER_PATTERN_PLC_SET_STATE "/api/plc/set/state" #define IMAGE_SIZE (2048 * 1792) enum START_SYSTEM_STEP_ { START_SYSTEM_STEP_LoadConfig, START_SYSTEM_STEP_InitCheck, START_SYSTEM_STEP_PreCheck, START_SYSTEM_STEP_CamIO, START_SYSTEM_STEP_Complete, }; struct SystemConfigParam { std::string Analysis_Config_path; std::string Analysis_Config_path_Cam2; std::string Check_Config_path; std::string config_Root_Path; std::string preCheckImg_Path; // 预处理图片 int Use_CPU_StartIdx; // 使用 CPU的开始核 int preCHeck_YX; // 异显检测 : 1 :用异显1模型 检测; 2:用异显2模型 检测; 其他:不进行异显检测 int preCHeck_defect; // 缺陷检测模型,1:用wtb btw hb4 等进检测; 其他 用模型进行检测 SystemConfigParam() { Use_CPU_StartIdx = 0; preCheckImg_Path = "../data/t1.tif"; preCHeck_YX = 0; preCHeck_defect = 0; config_Root_Path = ""; } bool valid() { if (Analysis_Config_path.size() && Check_Config_path.size() && preCheckImg_Path.size() && config_Root_Path.size() && Use_CPU_StartIdx >= 0) { return true; } return false; } }; enum THREAD_CPU_ { THREAD_CPU_Main_Det, THREAD_CPU_Main_readImg, THREAD_CPU_Main_saveImg, THREAD_CPU_CheckSo, THREAD_CPU_Count, }; struct CPU_ID_INFO_ { int startIdx; int num; CPU_ID_INFO_() { startIdx = 0; num = 0; } void set(int sidx, int num) { this->startIdx = sidx; this->num = num; } }; #endif //_CORELOGICFACTORY_HPP_