From 13b432728193ec0ba92ded48bbe339f8f223586e Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Wed, 20 Dec 2023 14:40:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83=E8=8E=B7=E5=8F=96=E7=A1=AC?= =?UTF-8?q?=E7=9B=98=E5=92=8C=E5=86=85=E5=AD=98=E5=A4=A7=E5=B0=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=92=8C=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner.cpp | 38 ++++++++++--------------------- hgdriver/hgdev/hg_scanner.h | 4 ++-- hgdriver/hgdev/hg_scanner_239.cpp | 16 ++++--------- hgdriver/hgdev/hg_scanner_239.h | 4 ++-- hgdriver/hgdev/hg_scanner_300.cpp | 16 ++++--------- hgdriver/hgdev/hg_scanner_300.h | 4 ++-- hgdriver/hgdev/hg_scanner_306.cpp | 16 ++++--------- hgdriver/hgdev/hg_scanner_306.h | 4 ++-- 8 files changed, 32 insertions(+), 70 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index c029d83..5b2c977 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -4780,6 +4780,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) { return set_devreboot(*((int*)data)); } + else if (code == IO_CTRL_CODE_SET_DEVS_SHUTDOWN) + { + return set_devshtudown(); + } else if (code == IO_CTRL_CODE_SET_AUTO_FALT) { is_auto_falt = true; @@ -4843,35 +4847,17 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) } else if (code == IO_CTRL_CODE_GET_DEVS_CPU) { - string str; - int ret = get_devs_cpu(str); - if (str.empty()) - { - ret = SCANNER_ERR_NO_DATA; - } - if (*len < str.size()) - { - *len = str.size(); - ret = SCANNER_ERR_INSUFFICIENT_MEMORY; - } - strcpy((char*)data, str.c_str()); + int cpu = 0; + int ret = get_devs_cpu(cpu); + (*(int*)data) = cpu; return ret; } else if (code == IO_CTRL_CODE_GET_DEVS_DISK) { - string str; - int ret = get_devs_disk(str); - if (str.empty()) - { - ret = SCANNER_ERR_NO_DATA; - } - if (*len < str.size()) - { - *len = str.size(); - ret = SCANNER_ERR_INSUFFICIENT_MEMORY; - } - strcpy((char*)data, str.c_str()); + int disk = 0; + int ret = get_devs_disk(disk); + (*(int*)data) = disk; return ret; } @@ -5063,11 +5049,11 @@ int hg_scanner::get_devs_time(string& times) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } -int hg_scanner::get_devs_cpu(string& cpu) +int hg_scanner::get_devs_cpu(int& cpu) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } -int hg_scanner::get_devs_disk(string& disk) +int hg_scanner::get_devs_disk(int& disk) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index da2db26..d2e4f40 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -544,8 +544,8 @@ public: virtual int get_motor_board_ver(string &ver); //获取G239电机板的固件号 //3399设备支持 virtual int set_devs_time(string times); //设置设备时间 //3399设备支持 virtual int get_devs_time(string ×); //获取设备时间 //3399设备支持 - virtual int get_devs_cpu(string& cpu); //获取设备内存大小 - virtual int get_devs_disk(string& disk); //获取设备硬盘容量大小 + virtual int get_devs_cpu(int& cpu); //获取设备内存大小(kb) + virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) virtual int set_restore(); //还原文件 virtual int set_backup(); //备份文件 }; diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index e5e483d..15743ae 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -389,7 +389,7 @@ int hg_scanner_239::get_devs_time(string& times) } return ret; } -int hg_scanner_239::get_devs_cpu(string& cpu) +int hg_scanner_239::get_devs_cpu(int& cpu) { string path = "/usr/local/huago/sysinfo.json"; long long cpu_size = 0; @@ -402,15 +402,11 @@ int hg_scanner_239::get_devs_cpu(string& cpu) cpu_size = js["MemTotal"]; } - float num = (float)cpu_size / 1024 / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - cpu = buf; + cpu = cpu_size / 1024; return ret; } -int hg_scanner_239::get_devs_disk(string& disk) +int hg_scanner_239::get_devs_disk(int& disk) { string path = "/usr/local/huago/sysinfo.json"; long disk_size = 0; @@ -423,11 +419,7 @@ int hg_scanner_239::get_devs_disk(string& disk) disk_size = js["DiskTotal"]; } - float num = (float)disk_size / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - disk = buf; + disk = disk_size; return ret; } diff --git a/hgdriver/hgdev/hg_scanner_239.h b/hgdriver/hgdev/hg_scanner_239.h index 1d42421..10e0882 100644 --- a/hgdriver/hgdev/hg_scanner_239.h +++ b/hgdriver/hgdev/hg_scanner_239.h @@ -146,8 +146,8 @@ public: virtual int set_devs_time(string times); //设置设备时间 //3399设备支持 virtual int get_devs_time(string& times); //获取设备时间 //3399设备支持 - virtual int get_devs_cpu(string& cpu); //获取设备内存大小 - virtual int get_devs_disk(string& disk); //获取设备硬盘容量大小 + virtual int get_devs_cpu(int& cpu); //获取设备内存大小(kb) + virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) virtual int set_restore(); //还原文件 virtual int set_backup(); //备份文件 }; diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 30175f8..0bd32e9 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -1629,7 +1629,7 @@ int hg_scanner_300::set_updata0303(void) } return 0; } -int hg_scanner_300::get_devs_cpu(string& cpu) +int hg_scanner_300::get_devs_cpu(int& cpu) { std::string src_name = "/usr/local/huago/sysinfo.json"; std::string dst_name = "./sys.log"; @@ -1670,15 +1670,11 @@ int hg_scanner_300::get_devs_cpu(string& cpu) cpu_size = js["MemTotal"]; } - float num = (float)cpu_size / 1024 / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - cpu = buf; + cpu = cpu_size / 1024; return ret; } -int hg_scanner_300::get_devs_disk(string& disk) +int hg_scanner_300::get_devs_disk(int& disk) { std::string src_name = "/usr/local/huago/sysinfo.json"; std::string dst_name = "./sys.log"; @@ -1719,11 +1715,7 @@ int hg_scanner_300::get_devs_disk(string& disk) disk_size = js["DiskTotal"]; } - float num = (float)disk_size / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - disk = buf; + disk = disk_size; return ret; } diff --git a/hgdriver/hgdev/hg_scanner_300.h b/hgdriver/hgdev/hg_scanner_300.h index aa61be5..e1f2e89 100644 --- a/hgdriver/hgdev/hg_scanner_300.h +++ b/hgdriver/hgdev/hg_scanner_300.h @@ -126,8 +126,8 @@ public: virtual int set_auto_flat(int data)override; //设置自动平场校正 // data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color) virtual int set_updata0303(void)override; - virtual int get_devs_cpu(string& cpu); //获取设备内存大小 - virtual int get_devs_disk(string& disk); //获取设备硬盘容量大小 + virtual int get_devs_cpu(int& cpu); //获取设备内存大小(kb) + virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) virtual int set_restore(); //还原文件 virtual int set_backup(); //备份文件 }; diff --git a/hgdriver/hgdev/hg_scanner_306.cpp b/hgdriver/hgdev/hg_scanner_306.cpp index f9f6972..8e8cd07 100644 --- a/hgdriver/hgdev/hg_scanner_306.cpp +++ b/hgdriver/hgdev/hg_scanner_306.cpp @@ -1478,7 +1478,7 @@ int hg_scanner_306::set_updata0303(void) } return 0; } -int hg_scanner_306::get_devs_cpu(string& cpu) +int hg_scanner_306::get_devs_cpu(int& cpu) { std::string src_name = "/usr/local/huago/sysinfo.json"; std::string dst_name = "./sys.log"; @@ -1519,15 +1519,11 @@ int hg_scanner_306::get_devs_cpu(string& cpu) cpu_size = js["MemTotal"]; } - float num = (float)cpu_size / 1024 / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - cpu = buf; + cpu = cpu_size / 1024; return ret; } -int hg_scanner_306::get_devs_disk(string& disk) +int hg_scanner_306::get_devs_disk(int& disk) { std::string src_name = "/usr/local/huago/sysinfo.json"; std::string dst_name = "./sys.log"; @@ -1568,11 +1564,7 @@ int hg_scanner_306::get_devs_disk(string& disk) disk_size = js["DiskTotal"]; } - float num = (float)disk_size / 1024 / 1024; - char buf[10] = { 0 }; - sprintf(buf, "%.2f", num); - strcat(buf, "GB"); - disk = buf; + disk = disk_size; return ret; } diff --git a/hgdriver/hgdev/hg_scanner_306.h b/hgdriver/hgdev/hg_scanner_306.h index 2bbf90e..bf34afc 100644 --- a/hgdriver/hgdev/hg_scanner_306.h +++ b/hgdriver/hgdev/hg_scanner_306.h @@ -150,6 +150,6 @@ public: virtual int set_auto_flat(int data)override; //设置自动平场校正 // data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color) virtual int set_updata0303(void)override; - virtual int get_devs_cpu(string& cpu); //获取设备内存大小 - virtual int get_devs_disk(string& disk); //获取设备硬盘容量大小 + virtual int get_devs_cpu(int& cpu); //获取设备内存大小(kb) + virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) };