You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
4.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* @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 <string>
// 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_