فهرست منبع

1.为探测器配置增加SupportAEC
2.修改默认日志所在文件夹
3.简化启动脚本!

lwk 18 ساعت پیش
والد
کامیت
39f45b386d
4فایلهای تغییر یافته به همراه17 افزوده شده و 179 حذف شده
  1. 5 0
      bin/DriverDefine/Detector_TiRay_DY4343.json
  2. 5 0
      bin/DriverDefine/Detector_zskkdemo_demo.json
  3. 3 3
      bin/log_config.xml
  4. 4 176
      bin/run_ccosprocgo.sh

+ 5 - 0
bin/DriverDefine/Detector_TiRay_DY4343.json

@@ -793,6 +793,11 @@
       "DescKey": "CalibrationDosePath",
       "Value": "/OEMDrivers/Detector/TiRay/DY4343"
     },
+    "SupportAEC": {
+      "Level": "ZSKK",
+      "DescKey": "SupportAEC",
+      "Value": "0"
+    },
     "CalibrationConfig": {
       "Level": "ZSKK",
       "DescKey": "CalibrationConfig",

+ 5 - 0
bin/DriverDefine/Detector_zskkdemo_demo.json

@@ -762,6 +762,11 @@
             "DescKey": "CalibrationDosePath",
             "Value": "\\OEMDrivers\\Detector\\Demo"
         },
+		"SupportAEC": {
+			"Level": "ZSKK",
+			"DescKey": "SupportAEC",
+			"Value": "0"
+		},
         "CalibrationConfig": {
             "Level": "ZSKK",
             "DescKey": "CalibrationConfig",

+ 3 - 3
bin/log_config.xml

@@ -2,8 +2,8 @@
 <configuration>
     <!-- 全局默认配置 -->
     <root_level value="DEBUG"/>
-    <log_dir value="logs"/>
-    <history_dir value="logs/history"/>
+    <log_dir value="/userdata/Devicelogs"/>
+    <history_dir value="/userdata/Devicelogs/history"/>
     <MAX_FILE_SIZE value="10M"/>
     <MAX_HISTORY value="5"/>
     <file_pattern value="%d{%Y-%m-%d %H:%M:%S.%l} [%p] - %m%n"/>
@@ -33,4 +33,4 @@
         <log_file_name value="{host}.eBus"/> <!-- eBus使用eBus作为日志文件名 -->
         <root_level value="DEBUG"/>   <!-- eBus只输出DEBUG及以上级别 -->
     </module>
-</configuration>
+</configuration>

+ 4 - 176
bin/run_ccosprocgo.sh

@@ -17,132 +17,13 @@ fi
 # 初始设置环境变量
 export LD_LIBRARY_PATH="./PlatformModule:$LD_LIBRARY_PATH"
 
-# 检查PlatformModule目录
-if [ ! -d "./PlatformModule" ]; then
-    echo "警告:未找到PlatformModule目录"
-fi
-
-DRIVER_CONFIG_DIR="./DriverConfig"
-
-# 检查DriverConfig目录
-if [ ! -d "$DRIVER_CONFIG_DIR" ]; then
-    echo "错误:DriverConfig目录不存在"
-    exit 1
-fi
-
-# 检查可执行文件
-if [ ! -x "./CcosProcGo" ]; then
-    echo "错误:未找到可执行文件CcosProcGo"
-    exit 1
-fi
-
-# 统计文件数量
-FILE_COUNT=$(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f | wc -l)
-if [ "$FILE_COUNT" -eq 0 ]; then
-    echo "警告:DriverConfig目录中没有文件"
-    exit 0
-fi
-
-# 提取所有配置文件中的oemdriver路径并添加到LD_LIBRARY_PATH(精准匹配)
-echo "正在解析配置文件中的OEM驱动路径..."
-declare -A OEM_DIRS  # 使用关联数组去重
-
-# 遍历所有配置文件
-while IFS= read -r -d '' FILE_PATH; do
-    # 精准提取<oemdriver>和</oemdriver>之间的内容(忽略中间的换行和空格)
-    # 使用更严格的正则,只捕获标签内的路径内容
-    OEM_DRIVER=$(sed -n 's/.*<oemdriver>\s*\(.*\)\s*<\/oemdriver>.*/\1/p' "$FILE_PATH")
-    
-    if [ -n "$OEM_DRIVER" ]; then
-        # 替换%ROOT%为当前目录
-        OEM_PATH=$(echo "$OEM_DRIVER" | sed "s|%ROOT%|.|g")
-        # 提取目录路径(排除文件名)
-        OEM_DIR=$(dirname "$OEM_PATH")
-        
-        if [ -d "$OEM_DIR" ]; then
-            OEM_DIRS["$OEM_DIR"]=1  # 去重存储
-            echo "发现有效的OEM驱动目录: $OEM_DIR"
-        else
-            echo "警告:OEM驱动目录 $OEM_DIR 不存在"
-        fi
-    fi
-done < <(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f -print0)
-
-# 将所有OEM驱动目录添加到LD_LIBRARY_PATH
-if [ ${#OEM_DIRS[@]} -gt 0 ]; then
-    for dir in "${!OEM_DIRS[@]}"; do
-        export LD_LIBRARY_PATH="$dir:$LD_LIBRARY_PATH"
-    done
-    echo "已更新LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
-else
-    echo "未发现有效的OEM驱动目录"
-fi
-
-# 获取当前日期,格式为YYYYMMDD
-CURRENT_DATE=$(date +%Y%m%d)
-
-echo "发现 $FILE_COUNT 个文件,开始启动后台进程..."
-
-# 存储后台进程ID,方便后续管理
-PIDS=()
-PID_FILE="ccosprocgo_pids_${CURRENT_DATE}.txt"
-> "$PID_FILE"  # 清空或创建PID记录文件
-
-# 启动所有进程
-while IFS= read -r -d '' FILE_PATH; do
-    FILE_NAME=$(basename "$FILE_PATH")
-	
-    echo "正在启动后台进程:./CcosProcGo $FILE_NAME"
-    # 启动后台进程
-    ./CcosProcGo "$FILE_NAME" > "${FILE_NAME}_${CURRENT_DATE}.log" 2>&1 &
-    # 记录进程ID
-    PID=$!
-    PIDS+=("$PID")
-    echo "$PID: $FILE_NAME" >> "$PID_FILE"
-	
-done < <(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f -print0)
-
-echo "所有进程已启动"
-echo "进程ID列表:${PIDS[*]}"
-echo "进程ID已保存到文件:$PID_FILE"
-echo "可以使用以下命令查看进程:ps -p ${PIDS[*]}"
-echo "可以使用以下命令终止所有进程:kill ${PIDS[*]}"
-echo "也可以使用kill脚本:$KILL_SCRIPT"
-
-exit 0
-#!/bin/bash
-
-# 定义kill脚本路径
-KILL_SCRIPT="./kill_ccosprocgo.sh"
-
-# 检查并执行kill脚本清理残留进程
-if [ -f "$KILL_SCRIPT" ] && [ -x "$KILL_SCRIPT" ]; then
-    echo "正在执行进程清理脚本,确保没有残留的CcosProcGo进程..."
-    "$KILL_SCRIPT"
-    echo "进程清理完成"
-else
-    echo "错误:未找到kill脚本 $KILL_SCRIPT 或脚本不可执行"
-    echo "请确保kill脚本存在且具有执行权限 (chmod +x $KILL_SCRIPT)"
-    exit 1
-fi
-
-# 初始设置环境变量
-export LD_LIBRARY_PATH="./PlatformModule:$LD_LIBRARY_PATH"
-
-# 检查PlatformModule目录
-if [ ! -d "./PlatformModule" ]; then
-    echo "警告:未找到PlatformModule目录"
-fi
-
+# 检查目录和文件
 DRIVER_CONFIG_DIR="./DriverConfig"
-
-# 检查DriverConfig目录
 if [ ! -d "$DRIVER_CONFIG_DIR" ]; then
     echo "错误:DriverConfig目录不存在"
     exit 1
 fi
 
-# 检查可执行文件
 if [ ! -x "./CcosProcGo" ]; then
     echo "错误:未找到可执行文件CcosProcGo"
     exit 1
@@ -155,70 +36,17 @@ if [ "$FILE_COUNT" -eq 0 ]; then
     exit 0
 fi
 
-# 提取所有配置文件中的oemdriver路径并添加到LD_LIBRARY_PATH(精准匹配)
-echo "正在解析配置文件中的OEM驱动路径..."
-declare -A OEM_DIRS  # 使用关联数组去重
-
-# 遍历所有配置文件
-while IFS= read -r -d '' FILE_PATH; do
-    # 精准提取<oemdriver>和</oemdriver>之间的内容(忽略中间的换行和空格)
-    # 使用更严格的正则,只捕获标签内的路径内容
-    OEM_DRIVER=$(sed -n 's/.*<oemdriver>\s*\(.*\)\s*<\/oemdriver>.*/\1/p' "$FILE_PATH")
-    
-    if [ -n "$OEM_DRIVER" ]; then
-        # 替换%ROOT%为当前目录
-        OEM_PATH=$(echo "$OEM_DRIVER" | sed "s|%ROOT%|.|g")
-        # 提取目录路径(排除文件名)
-        OEM_DIR=$(dirname "$OEM_PATH")
-        
-        if [ -d "$OEM_DIR" ]; then
-            OEM_DIRS["$OEM_DIR"]=1  # 去重存储
-            echo "发现有效的OEM驱动目录: $OEM_DIR"
-        else
-            echo "警告:OEM驱动目录 $OEM_DIR 不存在"
-        fi
-    fi
-done < <(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f -print0)
-
-# 将所有OEM驱动目录添加到LD_LIBRARY_PATH
-if [ ${#OEM_DIRS[@]} -gt 0 ]; then
-    for dir in "${!OEM_DIRS[@]}"; do
-        export LD_LIBRARY_PATH="$dir:$LD_LIBRARY_PATH"
-    done
-    echo "已更新LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
-else
-    echo "未发现有效的OEM驱动目录"
-fi
-
-# 获取当前日期,格式为YYYYMMDD
-CURRENT_DATE=$(date +%Y%m%d)
 
 echo "发现 $FILE_COUNT 个文件,开始启动后台进程..."
 
-# 存储后台进程ID,方便后续管理
-PIDS=()
-PID_FILE="ccosprocgo_pids_${CURRENT_DATE}.txt"
-> "$PID_FILE"  # 清空或创建PID记录文件
-
 # 启动所有进程
 while IFS= read -r -d '' FILE_PATH; do
     FILE_NAME=$(basename "$FILE_PATH")
-	
     echo "正在启动后台进程:./CcosProcGo $FILE_NAME"
-    # 启动后台进程
-    ./CcosProcGo "$FILE_NAME" > "${FILE_NAME}_${CURRENT_DATE}.log" 2>&1 &
-    # 记录进程ID
-    PID=$!
-    PIDS+=("$PID")
-    echo "$PID: $FILE_NAME" >> "$PID_FILE"
-	
+    ./CcosProcGo "$FILE_NAME" > /dev/null 2>&1 &
 done < <(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f -print0)
 
 echo "所有进程已启动"
-echo "进程ID列表:${PIDS[*]}"
-echo "进程ID已保存到文件:$PID_FILE"
-echo "可以使用以下命令查看进程:ps -p ${PIDS[*]}"
-echo "可以使用以下命令终止所有进程:kill ${PIDS[*]}"
-echo "也可以使用kill脚本:$KILL_SCRIPT"
+echo "可以使用kill脚本终止进程:$KILL_SCRIPT"
 
-exit 0
+exit 0