Compare commits

122 Commits

Author SHA1 Message Date
c99ba84638 张卓修改没提交的代码 2024-10-30 17:00:12 +08:00
ad0c4149e6 修改了电机部分控制代码&错误打印,优化了电机错误的信息输出。温湿度传感器修改 2024-05-14 17:09:53 +08:00
xin
fe80b88677 Merge remote-tracking branch 'origin/TC' 2022-10-12 14:46:40 +08:00
xin
6f65684ddb Merge remote-tracking branch 'origin/TC' 2022-10-12 13:15:28 +08:00
xin
d6dadec3cc Merge remote-tracking branch 'origin/zz' 2022-08-12 11:18:20 +08:00
0b250c8970 Data目录里生成日期文件夹时由于使用的是mkdir指令 不能在没有父目录的情况下正确创建文件夹。已经将mkdir替换为mkpath指令,以解决此问题。 2022-08-12 11:06:46 +08:00
xin
ae65847576 经度给改位维度 2022-08-12 09:35:31 +08:00
xin
cabffe0709 Merge remote-tracking branch 'origin/zz' 2022-08-12 09:34:42 +08:00
08b44aec8d 添加了开始计时后 立即采集的修改 2022-08-11 13:29:47 +08:00
xin
e84f8d32b5 Merge remote-tracking branch 'origin/TC' 2022-08-04 09:37:21 +08:00
xin
3bff0c266a Merge remote-tracking branch 'origin/TC' 2022-08-03 11:14:37 +08:00
xin
181ff9e9c6 还原calibrate 2022-08-02 11:07:34 +08:00
xin
084edcac53 增加了shutter切换模块对双通道的支持 修改错误 2022-08-02 11:05:17 +08:00
ce8857811b 1.未启用logger,已修改。 2022-05-10 13:57:55 +08:00
a388377ea3 1.上次修改代码后未启用预热功能,已修正。 2022-05-10 13:56:28 +08:00
xin
e588ed55b0 Merge remote-tracking branch 'origin/TC' 2022-05-09 14:11:31 +08:00
xin
37e998dcce 增加了shutter切换模块对双通道的支持 修改错误 2022-05-06 10:40:17 +08:00
xin
54e89bb81f Merge branch 'renlixin'
# Conflicts:
#	.gitignore
2022-05-06 10:17:37 +08:00
xin
a0b93df2f7 增加了shutter切换模块对双通道的支持 2022-05-06 10:15:59 +08:00
xin
5ad21e71bd Merge remote-tracking branch 'origin/TC' 2022-05-05 15:38:18 +08:00
d466c1a53c 重大更新
1.添加了对双通道光闸系统的支持。
2.针对QEPro系列硬件添加了非线性矫正
3.进行了完整的实际采集测试,通过。
4.优化统一了ATP基类内置自动曝光函数。
2022-04-29 15:37:54 +08:00
xin
a605b1a6e6 Merge remote-tracking branch 'origin/TC' 2022-03-21 16:46:27 +08:00
xin
5e0402a424 Merge remote-tracking branch 'origin/zhangzhuo'
# Conflicts:
#	source/CaptureThread/Scheduler.cpp
2022-03-21 16:46:12 +08:00
00ef87ab2a 1.bug修复。QEPro获取最小曝光时间未换算到毫秒,导致自动曝光出错。 2022-03-21 14:11:34 +08:00
xin
02eded270d Merge remote-tracking branch 'origin/TC' 2022-03-21 09:23:07 +08:00
xin
8a04cf630e 更新重启 2022-03-17 16:59:03 +08:00
e9cbf077af 1.在采集开始和停止前后分别将保持电流设置为0.4和0.
2.在断电后将保持电流设为0
2022-03-08 16:16:25 +08:00
xin
9f30a61568 Merge remote-tracking branch 'origin/TC' 2022-03-07 16:56:48 +08:00
xin
6cac8bde4f 更新重启 2022-03-07 11:21:29 +08:00
xin
e699a415f9 开启预热 2022-03-07 11:18:27 +08:00
xin
6c2afc1fc1 Merge remote-tracking branch 'origin/zhangzhuo' 2022-03-07 09:59:57 +08:00
d266e1d7d0 1.重新打开了外部等待,修正了等待逻辑。 2022-03-07 09:58:50 +08:00
847e4b4061 1.屏蔽了线程外的计时等待 2022-03-07 09:51:55 +08:00
xin
71a28e0304 打开删除代码功能 2022-03-02 13:48:35 +08:00
xin
24fb72e0bc Merge remote-tracking branch 'origin/zhangzhuo' 2022-03-02 13:47:42 +08:00
d15ec2b237 1.在ATP系列谱仪的初始化中添加了SetAvgTimes函数,将平均采集次数初始化为1. 2022-03-02 13:26:49 +08:00
xin
a2f4f425ec Merge remote-tracking branch 'origin/TC' 2022-03-01 13:40:57 +08:00
xin
df7b38da2f Merge remote-tracking branch 'origin/zhangzhuo' 2022-03-01 11:40:34 +08:00
29be390ece 1.修改优化自动曝光时产生的问题 2022-03-01 11:39:48 +08:00
xin
017d69fdeb Merge remote-tracking branch 'origin/zhangzhuo' 2022-03-01 10:59:17 +08:00
9da7bc31aa 1.网络上传模块恢复了正式代码 2022-03-01 10:56:40 +08:00
f94173dba3 1.屏蔽了IS1的温度获取 2022-03-01 09:53:11 +08:00
xin
90e9c23596 average 2022-02-28 18:32:20 +08:00
xin
40fa2301b9 屏蔽删除安装程序 2022-02-28 18:09:49 +08:00
xin
0cc5ab6210 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-28 18:06:18 +08:00
c92eed7145 1.修改了自动曝光
2.加成了Recv时间
2022-02-28 18:05:52 +08:00
xin
ff48d5ac0e 修改该睡 2022-02-28 17:23:23 +08:00
xin
0aee19931f echart 2022-02-28 16:51:53 +08:00
xin
1ddee80516 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-28 16:49:15 +08:00
ac7f13f7c0 1.更改了自动曝光最大曝光时间,改为设备读出的最大时间(MS)-1. 2022-02-28 16:48:48 +08:00
ae336678d0 1.开启了数据上传。 2022-02-28 16:06:12 +08:00
xin
f2bd257609 echart 2022-02-28 15:18:57 +08:00
xin
13a729dcbd Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-28 14:51:30 +08:00
d306f93f8b 1.修改了温度设置错误后的返回。-5改为不return。 2022-02-28 14:49:46 +08:00
xin
e1699fd179 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-28 13:45:11 +08:00
393a16c67d 1.网络上传模块添加了更多调试信息输出,包括上传时、错误类型等。 2022-02-28 10:43:26 +08:00
xin
e4beb219a4 echart 2022-02-27 13:38:23 +08:00
xin
de2feb9fe0 修改等待时间 rlx 2022-02-27 13:34:47 +08:00
xin
ffcdc03dcd 显示位置曲线 2022-02-25 18:30:51 +08:00
xin
7eb50adf8f 显示位置曲线 2022-02-25 18:01:52 +08:00
xin
bf9c70810c Merge remote-tracking branch 'origin/TC' 2022-02-25 09:54:03 +08:00
xin
ad43c0031e Merge remote-tracking branch 'origin/TC' 2022-02-24 17:30:31 +08:00
xin
6efc883425 Merge remote-tracking branch 'origin/TC' 2022-02-24 15:21:01 +08:00
xin
ea69f3efcb Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-24 15:20:43 +08:00
xin
797a8014d0 修改等待时间 rlx 2022-02-24 15:18:05 +08:00
4a0b50337f 1.RecvData函数等待时间忘记修改为调试版本,现已修改。 2022-02-24 15:16:44 +08:00
xin
87392bebac 修改灯文件名称 2022-02-24 10:39:33 +08:00
xin
cc494f3894 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-24 09:54:41 +08:00
xin
b85484e401 修改php错误 2022-02-24 09:54:18 +08:00
de6c6b8efd 1.修正了间隔时间为个位数时不填零会提示错误的问题。 2022-02-23 14:05:25 +08:00
4e5168d513 1.修改了线程未结束时,试图再入的警告提示信息。2.将预热时间改为了固定的15min 3.现在采集间隔将按照网页设置的执行,而非调试时固定的5s。网页上单位为分钟,不允许出现1位数字,需要补零。例如5分钟间隔应该写为05。 2022-02-23 11:31:36 +08:00
d3833caa8c 修改重启机制 2022-02-22 11:43:15 +08:00
95425e754a 修改重启机制 2022-02-22 10:51:03 +08:00
366bac7a2c 修改重启机制 2022-02-22 10:37:12 +08:00
51575f9e99 kill Mywatch 2022-02-22 10:34:18 +08:00
02bc0feb96 pkill 改为kill all 2022-02-22 10:31:07 +08:00
c96c634250 修改清理程序 防止误删除 2022-02-22 10:17:56 +08:00
1b51cec57c 安装完成后 清理文件 2022-02-22 10:16:32 +08:00
7a08496869 安装完成后 清理文件 2022-02-22 10:15:59 +08:00
80e4ce0b00 1、配置时关闭主程序
2、配置开及自启动
2022-02-22 10:12:39 +08:00
2b9de45d6a Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-18 17:22:36 +08:00
200fda19dc 1.打开了屏蔽的网络传输模块。 2022-02-18 17:22:15 +08:00
d9359603f5 1.打开了屏蔽的源码快门初始化。 2022-02-18 17:21:09 +08:00
8ddbd93020 filebro 2022-02-18 16:35:16 +08:00
2dea0bff35 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-18 16:34:45 +08:00
ea3f04a9f3 1.Log写入到文件而不是控制台。 2022-02-18 16:34:31 +08:00
25ce84e882 恢复误删除的文件 2022-02-18 16:07:22 +08:00
e7132df842 恢复误删除的文件 2022-02-18 15:56:30 +08:00
b5771ca64f 恢复误删除的文件 2022-02-18 15:35:32 +08:00
92fe58d0c3 Merge remote-tracking branch 'origin/zhangzhuo' 2022-02-17 18:05:32 +08:00
70fde7f131 Merge remote-tracking branch 'origin/TC' 2022-02-17 18:05:17 +08:00
28281519a2 1.修改了GetDeviceAttribute函数中的一个瑕疵,即为执行GetDeviceAttribute函数后会影响谱仪的曝光时间,产生这个问题的原因是,设备无法直接获取像素个数,需要拍摄一帧数据,根据数据大小进行计算。拍摄时会设定为最短曝光时间。
2.IS2设备的SetExposureTime函数返回和IS1以及ISif设备不一致,实际不影响使用,但会导致程序返回函数调用失败。
2022-02-17 14:19:31 +08:00
309acb1afd Merge branch 'renlixin'
# Conflicts:
#	html/config/calibrate.php
2022-02-16 10:58:45 +08:00
a41649f8eb 恢复误删除的文件 2022-02-16 10:57:33 +08:00
50db7e6aa4 php分号 2022-02-16 10:54:10 +08:00
db164c6e9e Merge branch 'renlixin' 2022-02-15 17:25:16 +08:00
f7b1bc3c58 修改php 2022-02-15 17:24:23 +08:00
9cf224113c php分号 2022-02-15 15:31:06 +08:00
c5d551345c Merge branch 'renlixin' 2022-02-15 15:13:51 +08:00
70d9474ff3 修改php 以适应唐超修改 2022-02-15 15:13:14 +08:00
ec4b0496e4 Merge remote-tracking branch 'origin/TC' 2022-02-15 13:26:48 +08:00
09890f18a0 Merge remote-tracking branch 'origin/zhangzhuo'
# Conflicts:
#	config/DeviceSettings.ini
2022-02-15 13:12:00 +08:00
acdbd9e459 1.解决了移动到绝对位置时,位置和标定程序给出的位置不一样的问题。原因是从极近位置归零时,原点位置不一致。
2.解决了一些小瑕疵,此版本将作为Beta Version 1.0发布。
2022-02-15 13:09:53 +08:00
2a6ff870b9 Merge branch 'renlixin' 2022-02-14 11:27:46 +08:00
a21a74c125 修改moving backzero moveto 2022-02-14 11:27:11 +08:00
17eece11a4 Merge branch 'renlixin' 2022-02-14 11:10:48 +08:00
9c4a54f935 修改moving backzero 2022-02-14 11:10:02 +08:00
4bc9780269 Merge branch 'renlixin' 2022-02-14 09:31:09 +08:00
9277b1aedd 修改moving 2022-02-14 09:30:09 +08:00
6d20b2d3fb 1.修改了Grabber中FSController的初始化过程,现在不会再出现QSerialPort跨线程调用问题。 2.修改了Grabber中主采集线程的一个信号量重置bug,该bug可能会引发采集慢的光谱仪在串口模式下数据不全。
3.修改了采集单帧功能函数,现在ATP控制类中的singleshot函数依旧会检查数据校验和,但不会应为校验和错误删除数据,以适配IS1校验和问题。注意,数据长度不对时还是会放弃本帧数据。                                                                             4.优化了ATP谱仪控制类中的多个函数,提高了其响应速度。
2022-01-20 09:36:35 +08:00
021123d384 修改php 适配了唐超的更新 2022-01-19 17:42:25 +08:00
2d14e467cd Merge branch 'renlixin' 2022-01-19 16:12:24 +08:00
1c4ce952f5 修改php 适配了唐超的更新 2022-01-19 16:11:33 +08:00
f9d7b0fd46 Merge remote-tracking branch 'origin/TC' 2022-01-19 15:09:11 +08:00
f128e35000 Merge remote-tracking branch 'origin/TC' into renlixin 2022-01-19 15:08:15 +08:00
088f2dfd8e 修改php 2022-01-19 13:54:46 +08:00
a7aba25b67 剔除 2022-01-19 13:48:26 +08:00
b470876cfe 修改显示 2022-01-19 13:47:02 +08:00
600f415b56 html 及install。sh 2022-01-17 09:56:18 +08:00
a670a01bc8 Merge branch 'master' into renlixin 2022-01-17 09:40:10 +08:00
de3316c248 修改shuttercali的校验和 2022-01-17 09:30:08 +08:00
88eb43ec91 更改install 2022-01-14 14:15:25 +08:00
97 changed files with 97567 additions and 3477 deletions

5
.gitignore vendored
View File

@ -14,3 +14,8 @@
/othersoft/movingliner/build
/othersoft/calibration_console/.idea/
/othersoft/calibration_console/build/
/othersoft/shuttercali/project/LocationCali/cmake-build-debug
/othersoft/calibration_console/cmake-build-debug/
/othersoft/movingliner/cmake-build-debug/
/othersoft/movingliner/cmake-build-debug-toweris2/
/othersoft/movingliner/cmake-build-release/

View File

@ -2,22 +2,22 @@
"configurations": [
{
"name": "Linux-GCC-Debug",
"generator": "Unix Makefiles",
"generator": "Ninja",
"configurationType": "Debug",
"cmakeExecutable": "/opt/cmake/bin/cmake",
"cmakeExecutable": "/zz/cmake-3.29.3/bin/cmake",
"remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "linux_arm" ],
"intelliSenseMode": "linux-gcc-x64",
"remoteMachineName": "948173717;172.16.0.232 (username=root, port=22, authentication=Password)",
"remoteMachineName": "-1273990714;172.16.0.61 (username=root, port=22, authentication=Password)",
"remoteCMakeListsRoot": "/home/pi/SIF0/src",
"remoteBuildRoot": "/home/pi/SIF0/out/build_d/${name}",
"remoteInstallRoot": "/home/pi/SIF0/out/install/${name}",
"remoteCopySources": true,
"rsyncCommandArgs": "-t --delete --delete-excluded",
"remoteCopyBuildOutput": true,
"remoteCopySourcesMethod": "rsync"
"remoteCopySourcesMethod": "rsync",
"remoteCopyUseCompilerDefaults": false
},
{
"name": "x64-Debug",
@ -28,8 +28,26 @@
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": []
"inheritEnvironments": [ "msvc_x64_x64" ]
},
{
"name": "Linux-GCC-R",
"generator": "Unix Makefiles",
"configurationType": "Release",
"cmakeExecutable": "/opt/cmake/bin/cmake",
"remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "linux_arm" ],
"intelliSenseMode": "linux-gcc-x64",
"remoteMachineName": "-1784524891;172.16.0.71 (username=root, port=22, authentication=Password)",
"remoteCMakeListsRoot": "/home/pi/SIF0/src_r",
"remoteBuildRoot": "/home/pi/SIF0/out/build_r/${name}",
"remoteInstallRoot": "/home/pi/SIF0/out/install_r/${name}",
"remoteCopySources": true,
"rsyncCommandArgs": "-t --delete --delete-excluded",
"remoteCopyBuildOutput": true,
"remoteCopySourcesMethod": "rsync"
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Cal/FS2_P1.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P2.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P3.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P4.dat Normal file

Binary file not shown.

View File

@ -1,5 +1,4 @@
cmake_minimum_required(VERSION 3.3)
cmake_minimum_required(VERSION 3.5)
project(TowerOptoSifAndSpectral)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
[DEVICE INFO]
TotalSpectrometer=2
TotalSpectrometer=1
[FS1]
Model=OSIFAlpha
Port=-1
UID=FLMS15815
Model=ISIF
Port=COM7
UID=21351029
AEMax=0.85
AEMin=0.75
Depth=65535
@ -12,8 +12,8 @@ Model=OSIFBeta
Port=-1
UID=QEP02975
AEMax=0.85
AEMin=0.80
Depth=200000
AEMin=0.75
Depth=230000
[FS3]
Model=Null
[FS4]
@ -24,10 +24,10 @@ AEMax=0.85
AEMin=0.75
Depth=65535
[LINEAR SHUTTER]
Port=/dev/ttyUSB1
Port=COM8
Type=1
DCID=1
TotalPosition=6
TotalPosition=5
Position0=2000
Position1=110000
Position2=220000
@ -35,4 +35,4 @@ Position3=330000
Position4=440000
Position5=550000
[HUMITURE]
Port=/dev/ttyUSB3
Port=COM11

View File

@ -1 +1 @@
{"BeginTime":"8:00","IntervalTime":"10","EndTime":"18:00","Location":"beijing","GPS_Longtitude":"117","GPS_Latitude":"118","GPS_Altitude":"50","GPS_North":"on","InstallationTime":"2021-11-18","ISIFCalibrationTime":"2021-11-26","IS1CalibrationTime":"2021-11-19","NameOfMaintenanceStaff":"renlixin","PhoneNumberOfMaintenanceStaff":"110110110","DownloadUserID":"newuser","DownlaodAddress":"http:\/\/www.iris-rs.cn","SIFUpCalFile":"dat1","SIFDownCalFile1":"dat2","SIFDownCalFile2":"dat2","SIFDownCalFile3":"dat3","IS1UpCalFile":"dat1","IS1DownCalFile1":"sdaf","IS1DownCalFile2":"dat2","IS1DownCalFile3":"asdf","HTTPServer":"192.168.2.1"}
{"BeginTime":"08:00","IntervalTime":"02","EndTime":"23:00","Dev_SN":"0000001","Location":"beijing","GPS_North":"on","GPS_Longtitude":"117","GPS_Latitude":"41","GPS_Altitude":"100","InstallationTime":"2021-12-24","ISIFCalibrationTime":"2021-12-24","IS1CalibrationTime":"2021-12-24","NameOfMaintenanceStaff":"renlixin","PhoneNumberOfMaintenanceStaff":"1110010010","DownloadUserID":"xin","DownlaodAddress":"http:\/\/www.iris-rs.cn","HTTPServer":"http:\/\/82.156.1.111","OSIFAlpha_CaliFileMainName":""}

View File

@ -3,41 +3,36 @@
参会人员:任立新 韩善龍 张卓
1. **文件名称定义**
英文地名_起始时间_结束时间 精确到秒 时间 年_月_日_时_分_秒
英文地名_起始时间_结束时间 精确到秒 时间 年_月_日_时_分_秒
2. **路径定义**
```
总路径 /home/data
/Setting
/Data
/2021_10_15
/Beijing_2021_10_15_15_31_00_2021_10_15_15_31_50.csv
/2021_10_16
/Log
其他
/Setting
/Data
/2021_10_15
/Beijing_2021_10_15_15_31_00_2021_10_15_15_31_50.csv
/2021_10_16
/Log
其他
```
3. **数据内容确定**
```
按照《SIF加地物光谱仪本地数据存储格式说明.pdf》存储
```
4. **shutter切换顺序**
```
U1->D1->D2->D3 U1是向上光纤 D1、D2、D3由用户定义
```
5. **自动曝光上限及方式**
```
上限40秒
IS1曝光完成后 等待ISIF自动曝光
@ -45,14 +40,14 @@
```
6. **数据采集流程**
```
自动曝光->暗电流->采集数据
执行过程中 IS1需要等待ISIF往常当前步骤 在执行下一操作
```
7. **异常报警**
```
以下情况需要推送异常
1、不返回数据
@ -63,18 +58,13 @@
```
8. **采集时间间隔**
```
采用间隔法 采集间隔最小30分钟
```
9. **添加温湿度传感器**
```
添加温湿度传感器
```

View File

@ -0,0 +1,59 @@
<?php
//var_dump($_GET);
$sensor=$_GET['sensor'];
$number=$_GET['positionnumber'];
$shuter=$_GET['shutterTime'];
set_time_limit(0);
ob_end_clean();//清空(擦除)缓冲区并关闭输出缓冲
ob_implicit_flush(1);//将打开或关闭绝对(隐式)刷送。绝对(隐式)刷送将导致在每次输出调用后有一次刷送操作,以便不再需要对 flush() 的显式调用
system("sudo gpio mode 1 out");
system("sudo gpio write 1 1");
system("sudo killall Mywathdog.sh");
system("sudo killall TowerOptoSifAndSpectral");
system("sudo pkill shutter_calibrate");
$cmd = 'sudo /home/pi/bin/shutter_calibrate '.$sensor." ".$number.' '.$shuter;
echo $cmd.'<br>';
while(@ ob_end_flush());
$proc = popen($cmd, 'r');
while(!feof($proc)){
echo fread($proc, 4096);
@ flush();
}
echo "<br>";
echo "finish";
echo '<a href=/config/position.html>回到首页</a>';
$file=fopen('/home/data/test.csv','r');
while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容
//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可
$goods_list[] = $data;
}
//var_dump($goods_list[0]);
$hang=count($goods_list);
$x=$goods_list[0][2];
$y=$goods_list[0][1];;
for($i=1;$i<$hang;$i++)
{
$x=$x.','.$goods_list[$i][2];
$y=$y.','.$goods_list[$i][1];
}
echo '<div id="main" style="width: 600px;height:400px;"></div> ';
echo ' <script src="/config/js/echarts.js"></script>';
echo '<script>var xx=['.$x.']; var yy=['.$y.']; </script>';
echo '<script src="/config/js/printercaliresult.js"></script>';

View File

@ -1,7 +1,8 @@
<?php
$a=$_GET["p"];
if ($a==0)
$position=$_GET["p"];
$sensorType=$_GET["sensor"];
$nite=$_GET['nite'];
if ($position==0)
{
echo "error";
return;
@ -12,7 +13,28 @@ ob_implicit_flush(1);//将打开或关闭绝对(隐式)刷送。绝对(隐
//echo shell_exec("D:\\03MyGit\\linux\\movingliner\\cmake-build-debug-mingw\\movingliner.exe");
echo "application beging<br>";
//$cmd = 'ping 127.0.0.1';
$ini=parse_ini_file("/home/data/Setting/DeviceSettings.ini",true);
$numberofsensor=intval($ini['DEVICE INFO']['TotalSpectrometer']);
$numberofFS=0;
for($i=0;$i<$numberofsensor;$i++){
$tempsens=$ini['FS'.($i+1)]['Model'];
if ($sensorType==$tempsens)
{
$numberofFS=$i+1;
break;
}
if ($i==$numberofsensor-1)
{
echo "cannot find the sensor";
return;
}
}
system("sudo killall Mywathdog.sh");
system("sudo killall TowerOptoSifAndSpectral");
system("sudo pkill ocean_optics_calibration_console");
system("sudo gpio write 1 1");
$cmd="";
@ -20,17 +42,38 @@ $cmd="";
if ($a==1)
if ($position==1)
{
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console -t 30 -slfs ocean_optics.lmp --cfon FSNsdfsd'.$a.'.data -p '.$a;
if($sensorType=="OSIFAlpha"||$sensorType=="OSIFBeta")
{
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OceanOptics -t 30 -slfs IrrLamp.txt --cfon FSN'.$sensorType.$position.'.data --position '.$position.' --integratingSphereDetectorValue '.$nite;
}
else{
$port=$ini['FS'.($i+1)]['Port'];
getonestring($port,'/');
getonestring($port,'/');
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OPTOSKY --serialPort '.$port.' -t 30 -slfs IrrLamp.txt --cfon FSN'.$sensorType.$position.'.data --position '.$position.' --integratingSphereDetectorValue '.$nite;
}
}
else
{
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console -t 30 -slfs 4000nit.dat --cfon FSNsdfsd'.$a.'.data -p '.$a;
if($sensorType=="OSIFAlpha"||$sensorType=="OSIFBeta")
{
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OceanOptics -t 30 -slfs RadLamp.txt --cfon FSN'.$sensorType.$position.'.data --position '.$position.' --integratingSphereDetectorValue '.$nite;
}else{
$port=$ini['FS'.($i+1)]['Port'];
getonestring($port,'/');
getonestring($port,'/');
$cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OPTOSKY --serialPort '.$port.' -t 30 -slfs RadLamp.txt --cfon FSN'.$sensorType.$position.'.data --position '.$position.' --integratingSphereDetectorValue '.$nite;
}
}
echo $cmd;
while(@ ob_end_flush());
@ -41,5 +84,15 @@ while(!feof($proc)){
echo fread($proc, 4096);
@ flush();
}
echo 'FINISH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!';
echo '<a href=/fileup/position.html>回到首页</a>';
echo 'FINISH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ';
echo '<a href=/config/position.html>回到首页</a>';
function getonestring(&$bytes,$fenge)
{
$pattern = '{^.*?'.$fenge.'}';
$lenth=strlen($fenge);
preg_match($pattern, $bytes, $aa, PREG_OFFSET_CAPTURE);
$bytes = substr($bytes, strlen($aa[0][0]));
$bb = substr($aa[0][0], 0, -$lenth);
return $bb;
}

95096
html/config/js/echarts.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
// 指定图表的配置项和数据
var option = {
xAxis: {
type: 'category',
data: [1,2,3,4,5,6]
},
yAxis: {
type: 'value'
},
tooltip:{
trigger:'axis'
},
dataZoom:[{
type:"inside" //详细配置可见echarts官网
}],
series: [
{
name: 'DN',
data: [150, 230, 224, 218, 135, 147, 260],
type: 'line'
}
]
};
option.xAxis.data=xx;
option.series[0].data=yy;
option
myChart.setOption(option);

View File

@ -13,9 +13,11 @@ ob_implicit_flush(1);//将打开或关闭绝对(隐式)刷送。绝对(隐
//echo shell_exec("D:\\03MyGit\\linux\\movingliner\\cmake-build-debug-mingw\\movingliner.exe");
//$cmd = 'ping 127.0.0.1';
//sy""
system("sudo killall Mywathdog.sh");
system("sudo killall TowerOptoSifAndSpectral");
system("sudo pkill movingliner");
Echo $a;
$cmd = 'sudo /home/pi/liner/cmake-build-linux_release/movingliner '.$a;
$cmd = 'sudo /home/pi/bin/movingliner '.$a;
while(@ ob_end_flush());
@ -28,9 +30,25 @@ while(!feof($proc)){
}
echo '<form action="/config/calibrate.php" method="get" target="_blank">';
echo '<p><a href="/fileup/calibrate.php?p='.$a.'">定标</a></p>';
echo '<a href=/fileup/position.html>回到首页</a>';
echo '设备<input id="sensor" name="sensor" type="text" list="typelist" placeholder="请选择">
<datalist id="typelist">
  <option>IS1</option>
  <option>IS2</option>
  <option>ISIF</option>
  <option>OSIFAlpha</option>
<option>OSIFBeta</option>
</datalist>';
echo '尼特 <input type="number" name="nite" id="nite"/>';
echo '<input id="p" name="p" type="hidden" value="'.$a.'">';
echo '<input type="submit" value="定标">';
echo '</form>';
echo '<a href=/config/position.html>回到首页</a>';
/*
$i = 100;

View File

@ -5,11 +5,62 @@
<title>Title</title>
</head>
<body>
<a href="/fileup/location.php?p=1">位置1</a>
<a href="/fileup/location.php?p=2">位置2</a>
<a href="/fileup/location.php?p=3">位置3</a>
<a href="/fileup/location.php?p=4">位置4</a>
<a href="/fileup/location.php?p=5">位置5</a>
<a href="/fileup/location.php?p=12">位置try</a>
<a href="/config/location.php?p=1">位置1</a>
<a href="/config/location.php?p=2">位置2</a>
<a href="/config/location.php?p=3">位置3</a>
<a href="/config/location.php?p=4">位置4</a>
<a href="/config/location.php?p=5">位置5</a>
<a href="/config/location.php?p=12">位置try</a>
<form action="LocationCali.php" method="get">
<table>
<tr>
<td>
位置自动计算:
</td>
<td>
</td>
<td>设备<input id="sensor" name="sensor" type="text" list="typelist" placeholder="请选择">
<datalist id="typelist">
  <option>IS1</option>
  <option>IS2</option>
  <option>ISIF</option>
  <option>OSIFAlpha</option>
<option>OSIFBeta</option>
</datalist>
</td>
<td>
预估位置数量
<input id="positionnumber" name="positionnumber" type="number" list="positionnumbertypelist" placeholder="请选择">
<datalist id="positionnumbertypelist">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
<option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
<option>10</option>
</datalist>
</td>
<td>
曝光事件
<input id="shutterTime" name="shutterTime" type="number" value="10">ms
</td>
<td>
<input type="submit" value="开始">
</td>
</tr>
</table>
</form>
</body>
</html>

View File

@ -58,27 +58,29 @@
</tr>
<tr>
<td>GPS经度 <input type="text" class="TextInput" name="GPS_Longtitude" id="GPS_Longtitude"></td>
<td>GPS<input type="text" class="TextInput" name="GPS_Latitude" id="GPS_Latitude"> </td>
<td>GPS高程 <input type="text" class="TextInput" name="GPS_Atitude" id="GPS_Atitude"> </td>
<td>GPS<input type="text" class="TextInput" name="GPS_Latitude" id="GPS_Latitude"> </td>
<td>GPS高程 <input type="text" class="TextInput" name="GPS_Altitude" id="GPS_Altitude"> </td>
</tr>
</table>
<p></p>
<table style="width:100%">
<tr>
<td>安装时间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="date" name="InstallTime" id="InstallTime"></td>
<td>安装时间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="date" name="InstallationTime" id="InstallationTime"></td>
<td>ISIF定标时间&nbsp;&nbsp;<input type="date" name="ISIFCalibrationTime" id="ISIFCalibrationTime"> </td>
<td>IS1定标时间 <input type="date" name="IS1CalibrationTime" id="IS1CalibrationTime"> </td>
</tr>
<tr>
<td>设备维护人员 <input type="text" class="TextInput" name="NameOfMaintenance" id="NameOfMaintenance"></td>
<td>维护人员电话 <input type="number" name="PhoneOfMaintenance" id="PhoneOfMaintenance" style="width: 100px" ></td>
<td>设备维护人员 <input type="text" class="TextInput" name="NameOfMaintenanceStaff" id="NameOfMaintenanceStaff"></td>
<td>维护人员电话 <input type="number" name="PhoneNumberOfMaintenanceStaff" id="PhoneNumberOfMaintenanceStaff" style="width: 100px" ></td>
</tr>
<tr>
<td>远程资源用户ID <input type="text" name="DownloadUserID" class="TextInput" id="DownloadUserID"></td>
<td>定标文件下载路径<input type="text" name="DownlaodAddress" id="DownlaodAddress"></td>
<td>定标文件下载路径<input type="url" name="DownlaodAddress" id="DownlaodAddress"></td>
<td>远程服务器<input type="url" name="HTTPServer" id="HTTPServer"></td>
</tr>
</table>
</div>
<div id="devinfo">

View File

@ -1,6 +1,7 @@
<?php
ignore_user_abort(true);
set_time_limit(0);
echo system("sudo killall Mywathdog.sh");
echo system("sudo killall TowerOptoSifAndSpectral");
echo system("sudo ./reboot.sh &");
echo "系统已重启";

View File

@ -1,3 +1,3 @@
cd /home/pi/SIF0/out/build_d/Linux-GCC-Debug/
./TowerOptoSifAndSpectral>>log.txt &
/root/Mywathdog.sh>>log.txt &

0
install.sh Normal file
View File

View File

@ -7,8 +7,8 @@
#include "Scheduler.h"
#include "GY39Controller.h"
#include "MainDataUploader.h"
#include "VSMD12XMovementTest.h"
using namespace std;
#pragma once
int main(int argc, char *argv[])
@ -18,9 +18,14 @@ int main(int argc, char *argv[])
QCoreApplication a(argc, argv);
system("gpio mode 1 output");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC>
qDebug() << "gpio mode 1 output......" << endl;
//////////////////////////////////////////////////////////////////////////for test
//MovementTest m_testVSMD12X;
////////////////////////////////////////////////////////////////////////////
//system("gpio mode 1 output");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC>
//qDebug() << "gpio mode 1 output......" << endl;
//
//ZZ_ATPControl_Serial_Qt test;
//test.Initialize(0, "/dev/ttyS1", "2223344");
//////////////////////////////////////////////////////////////////////////
////
GY39Controller m_ctrlHumitureDetector;
@ -46,17 +51,35 @@ int main(int argc, char *argv[])
HumitureDeviceInfo m_struHumitureDI;
//////////////////////////////////////////////////////////////////////////logger
///create main system logger
//QT_LOG::ZZ_InitLogger("/home/data/Log/");
//m_test123;
//m_test123.Initialize("COM11");
//m_test123.GetHumiture(fTemp, fHum);
QT_LOG::ZZ_InitLogger("/home/data/Log/");
//////////////////////////////////////////////////////////////////////////config
///turn on power supply
system("gpio write 1 1");//<2F><EFBFBD>ϵ<EFBFBD>
qDebug() << "gpio write 1 1......" << endl;
//////add support to dual channel
int iRet0 = 0,iRet1 = 0,iRet2 = 0,iRet3 = 0;
iRet0 = system("gpio mode 1 out");
iRet1 = system("gpio mode 4 out");
iRet2 = system("gpio mode 5 out");
iRet3 = system("gpio write 1 1");//上电
qDebug() << "gpio 1;4;5; ready"<<" Ret:"<< iRet0<< iRet1<< iRet2<< endl;
qDebug() << "gpio write 1 1......" <<" Ret:"<< iRet3<< endl;
// QString qstrCMD_A, qstrCMD_B, qstrCMD_Temp;
// qstrCMD_Temp = QString::fromStdString("4");
// qDebug() << qstrCMD_Temp << endl;
// qstrCMD_A = "gpio write " + qstrCMD_Temp + " 0";
//
// qstrCMD_Temp = QString::fromStdString("5");
// qDebug() << qstrCMD_Temp << endl;
// qstrCMD_B = "gpio write " + qstrCMD_Temp + " 0";
//
// qDebug() << qstrCMD_A << endl;
// qDebug() << qstrCMD_B << endl;
// system(qstrCMD_A.toLatin1());
// system(qstrCMD_B.toLatin1());
QThread::msleep(5000);
bRes = m_scConfiggerLoader.Initialize();
if (bRes)
{
@ -66,17 +89,21 @@ int main(int argc, char *argv[])
m_scConfiggerLoader.GetParams(m_struRuntimeParams, m_struEC, m_struMEC, m_struHumitureDI);
m_sTimer.SetAcqTimeParams(m_struRuntimeParams.atsParams);
m_dfpSaver.SetEnvironmentContex(m_struEC);
m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC);
m_mduUploader.SetContext(m_struEC, m_struMEC);
//m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString());
//m_mduUploader.SetContext(m_struEC, m_struMEC);
//m_mduUploader.Initialize();
m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString());
//////////////////////////////////////////////////////////////////////////prepare
m_sTimer.Preheating();
//m_ctrlHumitureDetector.GetHumiture_retry(m_fChassisTemp, m_fChassisHum);
//m_sTimer.Preheating();
m_ctrlHumitureDetector.GetHumiture_retry(m_fChassisTemp, m_fChassisHum);
m_ctrlHumitureDetector.GetHumiture_retry(m_fChassisTemp, m_fChassisHum);
m_struEC.qstrCaseTemperature= QString("%1").arg(m_fChassisTemp);
m_struEC.qstrCaseHumidity = QString("%1").arg(m_fChassisHum);
m_dfpSaver.SetEnvironmentContex(m_struEC);
m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC);
m_mduUploader.SetContext(m_struEC, m_struMEC);
//////////////////////////////////////////////////////////////////////////
QThread* m_pqDataGrabberThreadHolder = new QThread();
QThread* m_pqTimerThreadHolder = new QThread();
@ -102,9 +129,6 @@ int main(int argc, char *argv[])
m_mdgGrabber.Init_Self();
m_sTimer.SelfStart();
//////////////////////////////////////////////////////////////////////////test
// DataFileProcessor testdp;
// ZZ_SysConfigger test;
@ -174,6 +198,21 @@ int main(int argc, char *argv[])
// m_ctrlATP.GetDeviceAttribute();
// m_ctrlATP.SetExposureTime(m_ctrlATP.m_adaDeviceAttr.iMinIntegrationTime);
// m_ctrlATP.RecvData(qbTest);
//m_test123;
//m_test123.Initialize("COM11");
//m_test123.GetHumiture(fTemp, fHum);
// int aaaaa = sizeof(unsigned long int);
// CalFrame OneFile;
// QString aa = "C:/Users/ZhangZhuo/Desktop/qepro.cal";
// QFile qfCalFile(aa);
// bRes = qfCalFile.open(QFile::ReadOnly);
// using namespace ZZ_MISCDEF;
// qfCalFile.read((char *)&OneFile.uiExposureTimeInMS, sizeof(ZZ_U32));//U32
// qfCalFile.read((char*)&OneFile.fTemperature, sizeof(double));
// qfCalFile.read((char*)&OneFile.iPixels, sizeof(int));
// qfCalFile.read((char*)OneFile.fWaveLength, sizeof(double)*OneFile.iPixels);
// qfCalFile.read((char*)OneFile.dCal_Gain, sizeof(double)*OneFile.iPixels);
// qfCalFile.read((char*)OneFile.dCal_Offset, sizeof(double)*OneFile.iPixels);
//////////////////////////////////////////////////////////////////////////
return a.exec();

View File

@ -679,9 +679,11 @@ int ZZ_ATPControl_Serial_Qt::SetExposureTime(int iExposureTimeInMS)
if ((ZZ_U8)qbRecv[0] != 0)
{
qDebug() << "Err:SetExposureTime Failed.Exit Code:1";
//return 1;
}
return 0;
}

File diff suppressed because one or more lines are too long

View File

@ -1,67 +0,0 @@
set(CMAKE_C_COMPILER "/usr/bin/cc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "5.4.0")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_C_COMPILER_ENV_VAR "CC")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "4")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/arm-linux-gnueabihf/5;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf;/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,68 +0,0 @@
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "5.4.0")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/arm-linux-gnueabihf/5;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,15 +0,0 @@
set(CMAKE_HOST_SYSTEM "Linux-4.14.111")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "4.14.111")
set(CMAKE_HOST_SYSTEM_PROCESSOR "armv7l")
set(CMAKE_SYSTEM "Linux-4.14.111")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "4.14.111")
set(CMAKE_SYSTEM_PROCESSOR "armv7l")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

View File

@ -1,544 +0,0 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
/* __INTEL_COMPILER = VRP */
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
# define COMPILER_ID "Fujitsu"
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
#elif defined(__ARMCC_VERSION)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(SDCC)
# define COMPILER_ID "SDCC"
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
# define COMPILER_ID "MIPSpro"
# if defined(_SGI_COMPILER_VERSION)
/* _SGI_COMPILER_VERSION = VRP */
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
# else
/* _COMPILER_VERSION = VRP */
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__sgi)
# define COMPILER_ID "MIPSpro"
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
# define PLATFORM_ID "IRIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# else /* unknown platform */
# define PLATFORM_ID ""
# endif
#else /* unknown platform */
# define PLATFORM_ID ""
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID ""
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number components. */
#ifdef COMPILER_VERSION_MAJOR
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
#if !defined(__STDC_VERSION__)
"90"
#elif __STDC_VERSION__ >= 201000L
"11"
#elif __STDC_VERSION__ >= 199901L
"99"
#else
#endif
"]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
require += info_cray[argc];
#endif
require += info_language_dialect_default[argc];
(void)argv;
return require;
}
#endif

View File

@ -1,533 +0,0 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__COMO__)
# define COMPILER_ID "Comeau"
/* __COMO_VERSION__ = VRR */
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
#elif defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
/* __INTEL_COMPILER = VRP */
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
# define COMPILER_ID "Fujitsu"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
#elif defined(__ARMCC_VERSION)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
# define COMPILER_ID "MIPSpro"
# if defined(_SGI_COMPILER_VERSION)
/* _SGI_COMPILER_VERSION = VRP */
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
# else
/* _COMPILER_VERSION = VRP */
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__sgi)
# define COMPILER_ID "MIPSpro"
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
# define PLATFORM_ID "IRIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# else /* unknown platform */
# define PLATFORM_ID ""
# endif
#else /* unknown platform */
# define PLATFORM_ID ""
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID ""
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number components. */
#ifdef COMPILER_VERSION_MAJOR
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
#if __cplusplus >= 201402L
"14"
#elif __cplusplus >= 201103L
"11"
#else
"98"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
require += info_cray[argc];
#endif
require += info_language_dialect_default[argc];
(void)argv;
return require;
}

View File

@ -1,16 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

View File

@ -1,2 +0,0 @@
# Hashes of file build rules.
e4f380fde0ab46d214e91fb0e45a68a9 CMakeFiles/ocean_optics_calibration_console_automoc

View File

@ -1,131 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"../CMakeLists.txt"
"CMakeFiles/3.5.1/CMakeCCompiler.cmake"
"CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
"CMakeFiles/3.5.1/CMakeSystem.cmake"
"CMakeFiles/feature_tests.c"
"CMakeFiles/feature_tests.cxx"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5/Qt5Config.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5/Qt5ConfigVersion.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Core/Qt5CoreConfig.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Core/Qt5CoreConfigVersion.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Core/Qt5CoreMacros.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Network/Qt5NetworkConfig.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5Network/Qt5NetworkConfigVersion.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5SerialPort/Qt5SerialPortConfig.cmake"
"/usr/lib/arm-linux-gnueabihf/cmake/Qt5SerialPort/Qt5SerialPortConfigVersion.cmake"
"/usr/share/cmake-3.5/Modules/AutogenInfo.cmake.in"
"/usr/share/cmake-3.5/Modules/CMakeCCompiler.cmake.in"
"/usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c"
"/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake"
"/usr/share/cmake-3.5/Modules/CMakeCXXCompiler.cmake.in"
"/usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp"
"/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake-3.5/Modules/CMakeCompilerIdDetection.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCCompiler.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCXXCompiler.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCompileFeatures.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerABI.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerId.cmake"
"/usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake"
"/usr/share/cmake-3.5/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
"/usr/share/cmake-3.5/Modules/CMakeFindBinUtils.cmake"
"/usr/share/cmake-3.5/Modules/CMakeFindCodeBlocks.cmake"
"/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake"
"/usr/share/cmake-3.5/Modules/CMakeParseImplicitLinkInfo.cmake"
"/usr/share/cmake-3.5/Modules/CMakeSystem.cmake.in"
"/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake"
"/usr/share/cmake-3.5/Modules/CMakeTestCXXCompiler.cmake"
"/usr/share/cmake-3.5/Modules/CMakeTestCompilerCommon.cmake"
"/usr/share/cmake-3.5/Modules/CMakeUnixFindMake.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/ADSP-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Borland-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Cray-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GHS-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU-C-FeatureTests.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/HP-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/IAR-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Intel-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/MSVC-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/PGI-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/PathScale-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/SCO-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/TI-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/Watcom-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/XL-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.5/Modules/Internal/FeatureTesting.cmake"
"/usr/share/cmake-3.5/Modules/MultiArchCross.cmake"
"/usr/share/cmake-3.5/Modules/Platform/Linux-CXX.cmake"
"/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake"
"/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.5/Modules/Platform/Linux.cmake"
"/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/3.5.1/CMakeSystem.cmake"
"CMakeFiles/3.5.1/CMakeCCompiler.cmake"
"CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
"CMakeFiles/3.5.1/CMakeCCompiler.cmake"
"CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
"CMakeFiles/ocean_optics_calibration_console_automoc.dir/AutogenInfo.cmake"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/ocean_optics_calibration_console.dir/DependInfo.cmake"
"CMakeFiles/ocean_optics_calibration_console_automoc.dir/DependInfo.cmake"
)

View File

@ -1,140 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# The main recursive all target
all:
.PHONY : all
# The main recursive preinstall target
preinstall:
.PHONY : preinstall
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug
#=============================================================================
# Target rules for target CMakeFiles/ocean_optics_calibration_console.dir
# All Build rule for target.
CMakeFiles/ocean_optics_calibration_console.dir/all: CMakeFiles/ocean_optics_calibration_console_automoc.dir/all
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/depend
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9 "Built target ocean_optics_calibration_console"
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/all
# Include target in all.
all: CMakeFiles/ocean_optics_calibration_console.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/ocean_optics_calibration_console.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles 10
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ocean_optics_calibration_console.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/rule
# Convenience name for target.
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/rule
.PHONY : ocean_optics_calibration_console
# clean rule for target.
CMakeFiles/ocean_optics_calibration_console.dir/clean:
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/clean
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/clean
# clean rule for target.
clean: CMakeFiles/ocean_optics_calibration_console.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/ocean_optics_calibration_console_automoc.dir
# All Build rule for target.
CMakeFiles/ocean_optics_calibration_console_automoc.dir/all:
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console_automoc.dir/build.make CMakeFiles/ocean_optics_calibration_console_automoc.dir/depend
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console_automoc.dir/build.make CMakeFiles/ocean_optics_calibration_console_automoc.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=10 "Built target ocean_optics_calibration_console_automoc"
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/ocean_optics_calibration_console_automoc.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles 1
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ocean_optics_calibration_console_automoc.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/rule
# Convenience name for target.
ocean_optics_calibration_console_automoc: CMakeFiles/ocean_optics_calibration_console_automoc.dir/rule
.PHONY : ocean_optics_calibration_console_automoc
# clean rule for target.
CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean:
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console_automoc.dir/build.make CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean
# clean rule for target.
clean: CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean
.PHONY : clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -1,4 +1,4 @@
/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/edit_cache.dir
/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/rebuild_cache.dir
/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir
/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console_automoc.dir
D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/rebuild_cache.dir
D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir
D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/edit_cache.dir
D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console_autogen.dir

View File

@ -1,3 +1,4 @@
ToolSet: 1.0 (remote)Options:
ToolSet: w64 6.0 (local)@C:\Qt\Qt5.12.7\Tools\mingw730_64
Options:
Options:
Options:-DCMAKE_MAKE_PROGRAM=C:/Program Files/JetBrains/CLion 2021.1.1/bin/ninja/win/ninja.exe

View File

@ -1,18 +1,16 @@
/usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /tmp/tmp.4SpEq5jJb0/othersoft/calibration_console
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
"C:\Program Files\JetBrains\CLion 2021.1.1\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=C:/Program Files/JetBrains/CLion 2021.1.1/bin/ninja/win/ninja.exe" -G Ninja D:\03MyGit\TowerOptoSifAndSpectral\TowerOptoSifAndSpectral\othersoft\calibration_console
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Qt/Qt5.12.7/Tools/mingw730_64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Qt/Qt5.12.7/Tools/mingw730_64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.4SpEq5jJb0/othersoft/calibration_console/cmake-build-debug
-- Build files have been written to: D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug

View File

@ -1,34 +0,0 @@
const char features[] = {"\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404
"1"
#else
"0"
#endif
"c_function_prototypes\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
"1"
#else
"0"
#endif
"c_restrict\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
"1"
#else
"0"
#endif
"c_static_assert\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
"1"
#else
"0"
#endif
"c_variadic_macros\n"
};
int main(int argc, char** argv) { (void)argv; return features[argc]; }

View File

@ -1,405 +0,0 @@
const char features[] = {"\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_aggregate_default_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alias_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignof\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_attributes\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_attribute_deprecated\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_auto_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_binary_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_contextual_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_decltype\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_decltype_auto\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_decltype_incomplete_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_default_function_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_move_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_delegating_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_deleted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_digit_separators\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_enum_forward_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_explicit_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_extended_friend_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_extern_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_final\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_func_identifier\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_generalized_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_generic_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_inheriting_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_inline_namespaces\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_lambda_init_captures\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_local_type_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_long_long_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_noexcept\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_nonstatic_member_init\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_nullptr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_override\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_range_for\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_raw_string_literals\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_reference_qualified_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_relaxed_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_return_type_deduction\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_right_angle_brackets\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_rvalue_references\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_sizeof_member\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_static_assert\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_strong_enums\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
"1"
#else
"0"
#endif
"cxx_template_template_parameters\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_thread_local\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_trailing_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unicode_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_uniform_initialization\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unrestricted_unions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_user_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_variable_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_macros\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_templates\n"
};
int main(int argc, char** argv) { (void)argv; return features[argc]; }

View File

@ -1,44 +0,0 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ATPControl_Serial_QT.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ZZ_Math.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/atpFiberImager.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/calibration.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/library.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/main.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/oceanOpticsFiberImager.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o"
"/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/ocean_optics_calibration_console_automoc.cpp" "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# Preprocessor definitions for this target.
set(CMAKE_TARGET_DEFINITIONS_CXX
"QT_CORE_LIB"
"QT_NETWORK_LIB"
"QT_SERIALPORT_LIB"
)
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"."
"../"
"/home/pi/SeaBrease/include"
"../."
"/usr/include/eigen3"
"/usr/include/arm-linux-gnueabihf/qt5"
"/usr/include/arm-linux-gnueabihf/qt5/QtCore"
"/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++"
"/usr/include/arm-linux-gnueabihf/qt5/QtNetwork"
"/usr/include/arm-linux-gnueabihf/qt5/QtSerialPort"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

View File

@ -1,305 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/ocean_optics_calibration_console.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/ocean_optics_calibration_console.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o: ../Source_Files/ATPControl_Serial_QT.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ATPControl_Serial_QT.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ATPControl_Serial_QT.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ATPControl_Serial_QT.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o: ../Source_Files/atpFiberImager.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/atpFiberImager.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/atpFiberImager.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/atpFiberImager.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o: ../Source_Files/calibration.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/calibration.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/calibration.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/calibration.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o: ../Source_Files/library.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/library.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/library.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/library.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o: ../Source_Files/main.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/main.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/main.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/main.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o: ../Source_Files/oceanOpticsFiberImager.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/oceanOpticsFiberImager.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/oceanOpticsFiberImager.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/oceanOpticsFiberImager.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o: ../Source_Files/ZZ_Math.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ZZ_Math.cpp
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ZZ_Math.cpp > CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ZZ_Math.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o: CMakeFiles/ocean_optics_calibration_console.dir/flags.make
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o: ocean_optics_calibration_console_automoc.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o -c /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/ocean_optics_calibration_console_automoc.cpp
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/ocean_optics_calibration_console_automoc.cpp > CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.i
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/ocean_optics_calibration_console_automoc.cpp -o CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.s
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.requires:
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.provides: CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.requires
$(MAKE) -f CMakeFiles/ocean_optics_calibration_console.dir/build.make CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.provides.build
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.provides
CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.provides.build: CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o
# Object files for target ocean_optics_calibration_console
ocean_optics_calibration_console_OBJECTS = \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o" \
"CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o"
# External object files for target ocean_optics_calibration_console
ocean_optics_calibration_console_EXTERNAL_OBJECTS =
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/build.make
ocean_optics_calibration_console: /usr/lib/arm-linux-gnueabihf/libQt5Network.so.5.5.1
ocean_optics_calibration_console: /usr/lib/arm-linux-gnueabihf/libQt5SerialPort.so.5.5.1
ocean_optics_calibration_console: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5.1
ocean_optics_calibration_console: CMakeFiles/ocean_optics_calibration_console.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX executable ocean_optics_calibration_console"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ocean_optics_calibration_console.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/ocean_optics_calibration_console.dir/build: ocean_optics_calibration_console
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/build
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o.requires
CMakeFiles/ocean_optics_calibration_console.dir/requires: CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o.requires
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/requires
CMakeFiles/ocean_optics_calibration_console.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/ocean_optics_calibration_console.dir/cmake_clean.cmake
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/clean
CMakeFiles/ocean_optics_calibration_console.dir/depend:
cd /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/ocean_optics_calibration_console.dir/depend

View File

@ -1,18 +0,0 @@
file(REMOVE_RECURSE
"ocean_optics_calibration_console_automoc.cpp"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o"
"CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o"
"ocean_optics_calibration_console.pdb"
"ocean_optics_calibration_console"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/ocean_optics_calibration_console.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

View File

@ -1,2 +0,0 @@
# Empty dependencies file for ocean_optics_calibration_console.
# This may be replaced when dependencies are built.

View File

@ -1,10 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# compile CXX with /usr/bin/c++
CXX_FLAGS = -g -fPIC -std=gnu++11
CXX_DEFINES = -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB
CXX_INCLUDES = -I/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug -I/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console -I/home/pi/SeaBrease/include -I/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/. -I/usr/include/eigen3 -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtSerialPort

View File

@ -1 +0,0 @@
/usr/bin/c++ -g CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ATPControl_Serial_QT.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/atpFiberImager.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/calibration.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/library.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/main.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/oceanOpticsFiberImager.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/Source_Files/ZZ_Math.cpp.o CMakeFiles/ocean_optics_calibration_console.dir/ocean_optics_calibration_console_automoc.cpp.o -o ocean_optics_calibration_console -L/home/pi/SeaBrease/lib /usr/lib/arm-linux-gnueabihf/libQt5Network.so.5.5.1 /usr/lib/arm-linux-gnueabihf/libQt5SerialPort.so.5.5.1 -lseabreeze -lusb /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5.1 -Wl,-rpath,/home/pi/SeaBrease/lib

View File

@ -1,10 +0,0 @@
CMAKE_PROGRESS_1 = 1
CMAKE_PROGRESS_2 = 2
CMAKE_PROGRESS_3 = 3
CMAKE_PROGRESS_4 = 4
CMAKE_PROGRESS_5 = 5
CMAKE_PROGRESS_6 = 6
CMAKE_PROGRESS_7 = 7
CMAKE_PROGRESS_8 = 8
CMAKE_PROGRESS_9 = 9

View File

@ -1,29 +0,0 @@
set(AM_SOURCES "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ATPControl_Serial_QT.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/atpFiberImager.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/calibration.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/library.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/main.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/oceanOpticsFiberImager.cpp;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Source_Files/ZZ_Math.cpp" )
set(AM_RCC_SOURCES "" )
set(AM_RCC_INPUTS "")
set(AM_SKIP_MOC "" )
set(AM_SKIP_UIC "" )
set(AM_HEADERS "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/ATPControl_Serial_QT.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/atpFiberImager.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/calibration.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/FiberSpectrometerOperationBase.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/IrisFiberSpectrometerBase.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/library.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/oceanOpticsFiberImager.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/ZZ_Math.h;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/ZZ_Types.h" )
set(AM_MOC_COMPILE_DEFINITIONS "QT_CORE_LIB;QT_NETWORK_LIB;QT_SERIALPORT_LIB")
set(AM_MOC_INCLUDES "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console;/home/pi/SeaBrease/include;/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/.;/usr/include/eigen3;/usr/include/arm-linux-gnueabihf/qt5;/usr/include/arm-linux-gnueabihf/qt5/QtCore;/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++;/usr/include/arm-linux-gnueabihf/qt5/QtNetwork;/usr/include/arm-linux-gnueabihf/qt5/QtSerialPort")
set(AM_MOC_OPTIONS "")
set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "")
set(AM_CMAKE_BINARY_DIR "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/")
set(AM_CMAKE_SOURCE_DIR "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/")
set(AM_QT_MOC_EXECUTABLE "/usr/lib/arm-linux-gnueabihf/qt5/bin/moc")
set(AM_QT_UIC_EXECUTABLE "")
set(AM_QT_RCC_EXECUTABLE "/usr/lib/arm-linux-gnueabihf/qt5/bin/rcc")
if(DEFINED ENV{DEB_BUILD_MULTIARCH} AND DEFINED ENV{DEB_HOST_MULTIARCH} AND "/usr/lib/arm-linux-gnueabihf/qt5/bin/moc" MATCHES "/usr/lib/$ENV{DEB_HOST_MULTIARCH}/qt5/bin/moc")
set(AM_QT_MOC_EXECUTABLE "/usr/lib/$ENV{DEB_BUILD_MULTIARCH}/qt5/bin/moc")
endif()
set(AM_CMAKE_CURRENT_SOURCE_DIR "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/")
set(AM_CMAKE_CURRENT_BINARY_DIR "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/")
set(AM_QT_VERSION_MAJOR "5")
set(AM_TARGET_NAME "ocean_optics_calibration_console_automoc")
set(AM_ORIGIN_TARGET_NAME "ocean_optics_calibration_console")
set(AM_RELAXED_MODE "FALSE")
set(AM_UIC_TARGET_OPTIONS )
set(AM_UIC_OPTIONS_FILES "")
set(AM_UIC_OPTIONS_OPTIONS "")
set(AM_RCC_OPTIONS_FILES "")
set(AM_RCC_OPTIONS_OPTIONS "")

View File

@ -1,11 +0,0 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of files for implicit dependencies of each language:
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

View File

@ -1,77 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug
# Utility rule file for ocean_optics_calibration_console_automoc.
# Include the progress variables for this target.
include CMakeFiles/ocean_optics_calibration_console_automoc.dir/progress.make
CMakeFiles/ocean_optics_calibration_console_automoc:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Automatic moc, uic and rcc for target ocean_optics_calibration_console"
/usr/bin/cmake -E cmake_autogen /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console_automoc.dir/ Debug
ocean_optics_calibration_console_automoc: CMakeFiles/ocean_optics_calibration_console_automoc
ocean_optics_calibration_console_automoc: CMakeFiles/ocean_optics_calibration_console_automoc.dir/build.make
.PHONY : ocean_optics_calibration_console_automoc
# Rule to build all files generated by this target.
CMakeFiles/ocean_optics_calibration_console_automoc.dir/build: ocean_optics_calibration_console_automoc
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/build
CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/ocean_optics_calibration_console_automoc.dir/cmake_clean.cmake
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/clean
CMakeFiles/ocean_optics_calibration_console_automoc.dir/depend:
cd /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/CMakeFiles/ocean_optics_calibration_console_automoc.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/ocean_optics_calibration_console_automoc.dir/depend

View File

@ -1,9 +0,0 @@
file(REMOVE_RECURSE
"ocean_optics_calibration_console_automoc.cpp"
"CMakeFiles/ocean_optics_calibration_console_automoc"
)
# Per-language clean rules from dependency scanning.
foreach(lang )
include(CMakeFiles/ocean_optics_calibration_console_automoc.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

View File

@ -1,4 +1,4 @@
# Install script for directory: /home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console
# Install script for directory: D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@ -27,9 +27,14 @@ if(NOT CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
# Set default install directory permissions.
if(NOT DEFINED CMAKE_OBJDUMP)
set(CMAKE_OBJDUMP "C:/Qt/Qt5.12.7/Tools/mingw730_64/bin/objdump.exe")
endif()
if(CMAKE_INSTALL_COMPONENT)
@ -40,5 +45,5 @@ endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
file(WRITE "/home/pi/projects_tc/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
file(WRITE "D:/03MyGit/TowerOptoSifAndSpectral/TowerOptoSifAndSpectral/othersoft/calibration_console/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")

133
othersoft/findtty.sh Normal file
View File

@ -0,0 +1,133 @@
stty -F /dev/ttyUSB0 raw speed 9600
sleep 1s
stty -F /dev/ttyUSB0 raw speed 9600
echo -e "0 dev\n" > /dev/ttyUSB0
cat /dev/ttyUSB0 > 1.txt &
sleep 1s
pkill cat
if test -s 1.txt;then
echo '/dev/ttyUSB0 may be linermotor'> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB1 raw speed 9600
sleep 1s
stty -F /dev/ttyUSB1 raw speed 9600
echo -e "0 dev\n" > /dev/ttyUSB1
cat /dev/ttyUSB1 > 1.txt &
sleep 1s
pkill cat
if test -s 1.txt;then
echo '/dev/ttyUSB1 may be linermotor'> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB2 raw speed 9600
sleep 1s
stty -F /dev/ttyUSB2 raw speed 9600
echo -e "0 dev\n" > /dev/ttyUSB2
cat /dev/ttyUSB2 > 1.txt &
sleep 1s
pkill cat
if test -s 1.txt;then
echo '/dev/ttyUSB2 may be linermotor'> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB3 raw speed 9600
sleep 1s
stty -F /dev/ttyUSB3 raw speed 9600
echo -e "0 dev\n" > /dev/ttyUSB3
cat /dev/ttyUSB3 > 1.txt &
sleep 1s
pkill cat
if test -s 1.txt;then
echo '/dev/ttyUSB3 may be linermotor'> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyS1 raw speed 115200
sleep 1s
stty -F /dev/ttyS1 raw speed 115200
cat -e /dev/ttyS1 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyS1
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyS1 is ISIF or IS2'>> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyS2 raw speed 115200
sleep 1s
stty -F /dev/ttyS2 raw speed 115200
cat -e /dev/ttyS2 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyS2
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyS2 is ISIF or IS2'>> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB0 raw speed 115200
sleep 1s
stty -F /dev/ttyUSB0 raw speed 115200
cat -e /dev/ttyUSB0 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyUSB0
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyUSB0 is IS1'>> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB1 raw speed 115200
sleep 1s
stty -F /dev/ttyUSB1 raw speed 115200
cat -e /dev/ttyUSB1 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyS1
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyUSB1 is IS1'>> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB2 raw speed 115200
sleep 1s
stty -F /dev/ttyUSB2 raw speed 115200
cat -e /dev/ttyUSB2 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyUSB2
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyUSB2 is IS1'>> /home/data/Setting/tryfindtty.txt
fi
stty -F /dev/ttyUSB3 raw speed 115200
sleep 1s
stty -F /dev/ttyUSB3 raw speed 115200
cat -e /dev/ttyUSB3 > 1.txt &
sleep 1s
echo aa5500040307 | xxd -r -ps > /dev/ttyUSB3
sleep 1s
pkill cat
sleep 1s
if test -s 1.txt;then
echo '/dev/ttyUSB3 is IS1'>> /home/data/Setting/tryfindtty.txt
fi

View File

@ -1,5 +1,6 @@
mkdir build
cd build
mkdir movingliner
cd movingliner
cmake ../../movingliner
@ -7,14 +8,44 @@ make -j4
mkdir /home/pi/bin
cp ./movingliner /home/pi/bin
echo beging build shuttercali
cd ../
mkdir shuttercali
cd shuttercali
cmake ../../shuttercali/project/LocationCali
make -j4
cp ./shutter_calibrate /home/pi/bin
cd ../../../
cd ../
mkdir console
cd console
cmake ../../calibration_console
make -j4
cp ./ocean_optics_calibration_console /home/pi/bin
cd ../
sudo killall Mywathdog.sh
sudo killall TowerOptoSifAndSpectral
cd ../../
cp -r ./html/* /var/www/html
chmod +x /var/www/html/php/*.sh
cd ./build
cp TowerOptoSifAndSpectral /home/pi/bin
cd ../
cp ./root/Mywathdog.sh /root
cp ./root/start.sh /root
chmod +x /root/start.sh
mkdir /home/data
cd ../
rm -rf ./TowerOptoSifAndSpectral
cd /root/filebrew
chmod +x ./filebrowser
./filebrowser config set -a 0.0.0.0
./filebrowser config set -r /home/data
sudo apt-get install -y timedatectl
timedatectl set-timezone Asia/Shanghai
date -R
sudo hwclock -w -f /dev/rtc0
#tc

View File

@ -33,6 +33,37 @@ int main(int argc, char *argv[]) {
cout1<<"Position Find Value is "<<m_qsDeviceConfig->value("LINEAR SHUTTER/Position"+str).toLongLong()<<"<br>"<<flush;
cout1<<"Configing The Motor <br>"<<flush;
// m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString()
if( m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString()=="GPIO")
{
//cout1<<"ERROR number position"<<flush;
int positionnumber=m_qsDeviceConfig->value("LINEAR SHUTTER/TotalPosition").toInt();
if (str.toInt()>=positionnumber)
{
cout1<<"ERROR number position"<<flush;
return 0;
}
int targetpos=m_qsDeviceConfig->value("LINEAR SHUTTER/Position"+str).toLongLong();
for (int ii = 0; ii < positionnumber; ++ii) {
int tempgpio=m_qsDeviceConfig->value("LINEAR SHUTTER/Position"+QString::number(ii)).toInt();
QString com="gpio mode "+QString::number(tempgpio)+" out";
system(com.toStdString().c_str());
com="gpio write "+QString::number(tempgpio)+" 0";
system(com.toStdString().c_str());
}
QThread::msleep(500);
QString com="gpio write "+QString::number(targetpos)+" 1";
system(com.toStdString().c_str());
QThread::msleep(500);
cout1<<"FINISH Change Shutter <br>"<<flush;
return 0;
}
Motercontrol.ILMES_InitializeComm(m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString());
ControllerParams cpTest;
Motercontrol.ILMES_InitializeParams(cpTest);

View File

@ -326,7 +326,7 @@ bool CVSMD12XControl::MoveTo(int iAbsPulse)
{
return false;
}
return IsMotionFinished();
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
{
@ -423,6 +423,7 @@ bool CVSMD12XControl::StartBackZero()
{
return false;
}
return IsMotionFinished();
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
@ -440,7 +441,49 @@ bool CVSMD12XControl::StartBackZero()
// return ParseReturnedString(strRecv, -1);
}
bool CVSMD12XControl::IsMotionFinished()
{
//true means stopped
//false means unknown status
int iCountTotal = 0;
int iCountStopped = 0;
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
{
iCountTotal++;
QThread::msleep(200);
//Delay_MSec(200);
GetStatus(m_stuMSInfo);
ZZ_U8 ucFlag = m_stuMSInfo.uiFlags & 0x000000FF;
ucFlag = ucFlag & 0x10;
if (m_stuMSInfo.fVelocity == 0)
{
iCountStopped++;
}
if (ucFlag == 0x10 && m_stuMSInfo.fVelocity == 0)
{
bFlagIsStopped = true;
return true;
}
if (iCountStopped>=50)
{
qDebug() <<"Warning.Motion Err,should be stopped already.checking register and retry...";
qDebug() <<"motion status:"<<ucFlag<<"all status:"<<QString::number(m_stuMSInfo.uiFlags,2);
bFlagIsStopped = true;
return false;
}
if (iCountTotal>1000)
{
qDebug() << "Err.Motor Hardware Err,should be stopped already";
qDebug() << "motion status:" << ucFlag << "all status:" << QString::number(m_stuMSInfo.uiFlags, 2);
bFlagIsStopped = true;
return false;
}
}
return false;
}
bool CVSMD12XControl::StopBackZero()
{
std::string strCMD = "zero stop\n";

View File

@ -58,7 +58,7 @@ public:
void ILMES_SetPosition(int *piPositionInPulse,size_t szSize);
bool ILMES_MoveToPos(int iPositionIndex);
bool IsMotionFinished();
public:
int waitetime;
////init port
@ -79,39 +79,39 @@ public:
bool GetStatus(MSInfo &stuMotorParam); //load motor status see MSInfo Struct
////motion control
bool Move(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move_NoSyn(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo_NoSyn(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move_NoSyn(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo_NoSyn(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool SetLogicZero(); //set logic zero
bool StartBackZero();//back zero
bool StopBackZero();// stop back zero & reset register
////Set&Get
bool SetBaudRate(int iBaudRate);//set controller baud rates,default B9600 (2400 <20><> 921600)
bool SetBaudRate(int iBaudRate);//set controller baud rates,default B9600 (2400 <20><> 921600)
int GetBaudRate(); // -1:should retry;
bool SetMicroSteps(int iMicroSteps);//set micro steps (0<><30>5)->(1/2/4/8/16/32)
bool SetMicroSteps(int iMicroSteps);//set micro steps (0<><30>5)->(1/2/4/8/16/32)
int GetMicroSteps();
bool SetAccSpeed(float fAccSpd);//set acceleration speed in pulse (0 <20><> 192000000)
bool SetAccSpeed(float fAccSpd);//set acceleration speed in pulse (0 <20><> 192000000)
float GetAccSpeed();
bool SetRunSpeed(float fRunSpeed);//set normal running speed in pulse (0 <20><> 192000000)
bool SetRunSpeed(float fRunSpeed);//set normal running speed in pulse (0 <20><> 192000000)
float GetRunSpeed();
bool SetDecSpeed(float fDecSpeed);//set deceleration speed in pulse (0 <20><> 192000000)
bool SetDecSpeed(float fDecSpeed);//set deceleration speed in pulse (0 <20><> 192000000)
float GetDecSpeed();
bool SetSpeed(float fRunSpeed, float fAccSpd, float fDecSpeed);//see above three functions
bool SetHoldCurrent(float fHoldCurrent);//set hold current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetHoldCurrent(float fHoldCurrent);//set hold current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetHoldCurrent();
bool SetAccCurrent(float fAccCurrent);//set acceleration current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetAccCurrent(float fAccCurrent);//set acceleration current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetAccCurrent();
bool SetRunCurrent(float fRunCurrent);//set normal running current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetRunCurrent(float fRunCurrent);//set normal running current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetRunCurrent();
bool SetCurrent(float fAccCurrent, float fRunCurrent, float fHoldCurrent);//see above three functions
@ -129,7 +129,7 @@ public:
ZZ_U8 GetS2RETE();
//(ZeroMode 0:off 1:once 2:once + safe position 3:twice 4:twice + safe position) (OpenVoltageLevel 0:Low Level 1:High Level)
//(ZeroSensor 0:S1 1:S2 2:S3 3:S4 4:S5 5:S6)( ZeroVelocity <20><>-192000) <20><><EFBFBD><EFBFBD>192000<30><30>pulse)(SafePosition <20><>-2147483647) <20><><EFBFBD><EFBFBD>2147483647<34><37>)
//(ZeroSensor 0:S1 1:S2 2:S3 3:S4 4:S5 5:S6)( ZeroVelocity <20><>-192000) <20><><EFBFBD><EFBFBD>192000<30><30>pulse)(SafePosition <20><>-2147483647) <20><><EFBFBD><EFBFBD>2147483647<34><37>)
bool SetZeroParams(ZZ_U8 bZeroMode, ZZ_U8 bSwitchOpenVL, ZZ_U8 bZeroSensor, float fZeroVelocity, int iSafePosition);
ZZ_U8 GetZeroMode();
ZZ_U8 GetSwitchOpenVoltageLevel();

View File

@ -11,8 +11,8 @@
QTextStream cout1(stdout, QIODevice::WriteOnly);
void logout(QString str){
cout1<<str<<"<br>"<<flush;
cout1<<str<<" <br>"<<flush;
cout1<<endl;
// std::fflush(stdout);
}
vector<int> FindFeng(vector<int > point1ist, vector<float> valuelist);
@ -21,9 +21,11 @@ vector <float> PingHua(vector <float> value, int step = 2);
int main(int argc, char* argv[])
{
if (argc!=3)
if (argc!=4)
{
logout("Some Thing error Please check the input <br> The Correct Should Be application sensor numberofposition");
logout("Some Thing error Please check the input");
logout( "The Correct Should Be application sensor numberofposition");
logout( "apllication Sensor positionneed shutter_time");
logout("Senor: OSIFAlpha QEPRO");
logout("Senor: OSIFBeta QE65");
logout("Senor: ISIF ATP6500");
@ -32,9 +34,11 @@ int main(int argc, char* argv[])
return 0;
}
// cali;
int bandsnumber=1024;
QString SensorTypestr(argv[1]);
QString PositionNumberstr(argv[2]);
int shuttertime=QString(argv[3]).toInt();
int PositionNumber=PositionNumberstr.toInt();
QCoreApplication aaaaa(argc, argv);
@ -47,17 +51,21 @@ int main(int argc, char* argv[])
#endif
QSettings *m_qsDeviceConfig;
m_qsDeviceConfig = new QSettings(m_qstrDeviceConfigFilePath, QSettings::IniFormat);
int numberofsensor=m_qsDeviceConfig->value("[DEVICE INFO]/TotalSpectrometer").toInt();
int numberofsensor=m_qsDeviceConfig->value("DEVICE INFO/TotalSpectrometer").toInt();
logout("Welcom to use the Auto Locate Application");
string hdrPath = "/home/data/test.csv";
std::ofstream outfile(hdrPath.c_str());
logout("Init Senser :QE");
string hdrPath1 = "/home/data/result.csv";
std::ofstream outfile1(hdrPath1.c_str());
logout("Sensor is "+SensorTypestr);
SensorBase* aa= nullptr;
if (SensorTypestr=="OSIFAlpha")
{
aa = new SensorQExPRO(QE65PRO_QE);
} else if (SensorTypestr=="OSIFBeta")
{
aa = new SensorQExPRO(QE65PRO_QE);
@ -68,6 +76,7 @@ int main(int argc, char* argv[])
QString portname="";
for (int i = 0; i < numberofsensor; ++i) {
QString key="FS"+QString::number(i+1)+"/Model";
qDebug()<<key;
if (m_qsDeviceConfig->value(key).toString()==SensorTypestr)
{
QString portstr=m_qsDeviceConfig->value("FS"+QString::number(i+1)+"/Port").toString();
@ -75,11 +84,14 @@ int main(int argc, char* argv[])
portname=strlist.at(strlist.length()-1);
}
}
// qDebug()<<portname;
if (portname=="")
{
logout("Can not find the sensor"+SensorTypestr);
logout("<b style=\"color:red\">Can not find the sensor"+SensorTypestr+"<\/b>");
return 1;
}
logout("Sensor Port is "+portname);
aa=new SensorOptoSky(ATP6500,portname);
}
@ -88,25 +100,42 @@ int main(int argc, char* argv[])
//SensorBase* aa = new SensorOptoSky(ATP6500,"ttyUSB0");
aa->initSensor();
cout1<<"Get Tempratrue:"<<aa->GettingTempratrue()<<"<br>"<<flush;
STRSensorInfo info= aa->SensorInfo;
int bandsshow=info.BandNum/2;
logout("Sensor Bands to Show is "+QString::number(bandsshow));
STROnePlot oneplot;
aa->Settingshuttertime(20);
aa->GetOnePlot(oneplot);
cout1<<"Position"<< oneplot.Plot[1000];
CVSMD12XControl Motercontrol;
//Motercontrol.ILMES_InitializeComm("COM16");
if ( m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString()!="")
{
logout("Find the motor port:"+m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString());
Motercontrol.ILMES_InitializeComm( m_qsDeviceConfig->value("LINEAR SHUTTER/Port").toString());
} else
{
return 0;
}
logout("The max Postion is "+QString::number(550000/4*PositionNumber));
ControllerParams cpTest;
bool res = Motercontrol.ILMES_InitializeParams(cpTest);
CVSMD12XControl Motercontrol;
Motercontrol.ILMES_InitializeComm("COM16");
aa->Settingshuttertime(shuttertime);
aa->GetOnePlot(oneplot);
//Motercontrol.ILMES_InitializeComm("/dev/ttyUSB1");
ControllerParams cpTest;
bool res = Motercontrol.ILMES_InitializeParams(cpTest);
logout("GO TO ZERO");
Motercontrol.StartBackZero();
Motercontrol.SetRunSpeed(10000);
Motercontrol.MoveTo_NoSyn(550000);
logout("GO TO ZERO OK");
logout("Start Moving to "+QString::number(550000/4*PositionNumber));
Motercontrol.MoveTo_NoSyn(550000/4*PositionNumber);
aa->GetOnePlot(oneplot);
MSInfo temp;
Motercontrol.GetStatus(temp);
@ -117,7 +146,7 @@ int main(int argc, char* argv[])
//outfile <<i<<"," << oneplot.Plot[1024] << "," << temp.iPosition << std::endl;
point1ist.push_back(temp.iPosition);
valuelist.push_back(oneplot.Plot[1024]);
valuelist.push_back(oneplot.Plot[bandsshow]);
while (temp.fVelocity!=0)
{
aa->GetOnePlot(oneplot);
@ -126,38 +155,54 @@ int main(int argc, char* argv[])
Motercontrol.GetStatus(temp);
i++;
//outfile << i << "," << oneplot.Plot[1024] << "," << temp.iPosition << std::endl;
outfile << i << "," << oneplot.Plot[bandsshow] << "," << temp.iPosition << std::endl;
point1ist.push_back(temp.iPosition);
valuelist.push_back(oneplot.Plot[1024]);
valuelist.push_back(oneplot.Plot[bandsshow]);
}
Motercontrol.StartBackZero();
logout("FINISH Moving");
vector<float> valuepinghua1 = PingHua(valuelist, 3);
vector<int>loction1=FindFeng(point1ist, valuepinghua1);
int lenth = loction1.size();
if (lenth!=PositionNumber)
{
logout("<b style=\"color:red\">can not find all position please change the shutter time and try agin<\/b>");
}
cout1<<"First find "<<lenth<<" point "<<"<br>"<<flush;
logout("GO TO ZERO");
Motercontrol.StartBackZero();
logout("GO TO ZERO OK");
logout("Start Moving");
for (size_t i = 0; i < lenth; i++)
{
vector<int> location1point = DengJianJu(loction1[i], 5000, 25);
vector<float> valuepoint;
int lennow = location1point.size();
cout1<<"Detail find "<<i<<" point begin"<<"<br>"<<flush;
for (size_t ii = 0; ii < lennow; ii++)
{
Motercontrol.MoveTo(location1point[ii]);
aa->GetOnePlot(oneplot);
valuepoint.push_back(oneplot.Plot[1024]);
valuepoint.push_back(oneplot.Plot[bandsshow]);
//outfile << ii << "," << oneplot.Plot[1024] << "," << location1point[ii] << std::endl;
}
vector<float> valuepinghua = PingHua(valuepoint,3);
vector<int>loction2 = FindFeng(location1point, valuepinghua);
if (loction2.size() == 1)
{
outfile <<i+1<<"," << loction2[0]<< std::endl;
{ cout1<<"find "<<i<<"point value is <b color=\'green\'>"<<loction2[0]<<"<\/b><br>"<<flush;
outfile1 <<i+1<<"," << loction2[0]<< std::endl;
}
int cc = 10;
cc++;
}
logout("FINISH Moving");
;
@ -171,12 +216,8 @@ int main(int argc, char* argv[])
std::cout<<"totle:" << i;
//Motercontrol.MoveTo(870000);
//Motercontrol.MoveTo(570000);
//Motercontrol.MoveTo(870000);
//Motercontrol.MoveTo(900000);
//Motercontrol.MoveTo(1270000);
outfile.close();
outfile.close();
if (!res)
{
return 0;

View File

@ -179,7 +179,7 @@ namespace ZZ_MISCDEF
{
ZZ_U8 ucPort;
ZZ_U8 ucProtocolType;
ZZ_U8 ucCmdID;
ZZ_U16 usCmdID;
}LSContext;
typedef struct tagAcquisitionTimeSettings

View File

@ -325,7 +325,7 @@ bool CVSMD12XControl::MoveTo(int iAbsPulse)
{
return false;
}
return IsMotionFinished();
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
{
@ -422,7 +422,7 @@ bool CVSMD12XControl::StartBackZero()
{
return false;
}
return IsMotionFinished();
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
{
@ -438,6 +438,49 @@ bool CVSMD12XControl::StartBackZero()
return true;
// return ParseReturnedString(strRecv, -1);
}
bool CVSMD12XControl::IsMotionFinished()
{
//true means stopped
//false means unknown status
int iCountTotal = 0;
int iCountStopped = 0;
bool bFlagIsStopped = false;
while (!bFlagIsStopped)
{
iCountTotal++;
QThread::msleep(200);
//Delay_MSec(200);
GetStatus(m_stuMSInfo);
ZZ_U8 ucFlag = m_stuMSInfo.uiFlags & 0x000000FF;
ucFlag = ucFlag & 0x10;
if (m_stuMSInfo.fVelocity == 0)
{
iCountStopped++;
}
if (ucFlag == 0x10 && m_stuMSInfo.fVelocity == 0)
{
bFlagIsStopped = true;
return true;
}
if (iCountStopped>=50)
{
qDebug() <<"Warning.Motion Err,should be stopped already.checking register and retry...";
qDebug() <<"motion status:"<<ucFlag<<"all status:"<<QString::number(m_stuMSInfo.uiFlags,2);
bFlagIsStopped = true;
return false;
}
if (iCountTotal>1000)
{
qDebug() << "Err.Motor Hardware Err,should be stopped already";
qDebug() << "motion status:" << ucFlag << "all status:" << QString::number(m_stuMSInfo.uiFlags, 2);
bFlagIsStopped = true;
return false;
}
}
return false;
}
bool CVSMD12XControl::StopBackZero()

View File

@ -58,7 +58,7 @@ public:
void ILMES_SetPosition(int *piPositionInPulse,size_t szSize);
bool ILMES_MoveToPos(int iPositionIndex);
bool IsMotionFinished();
public:
int waitetime;
////init port
@ -79,39 +79,39 @@ public:
bool GetStatus(MSInfo &stuMotorParam); //load motor status see MSInfo Struct
////motion control
bool Move(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move_NoSyn(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo_NoSyn(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool Move_NoSyn(int iRelPulse); // relative move mode,pulse (-2147483647<34><37>2147483647)
bool MoveTo_NoSyn(int iAbsPulse);//absolute mode,pulse (-2147483647<34><37>2147483647)
bool SetLogicZero(); //set logic zero
bool StartBackZero();//back zero
bool StopBackZero();// stop back zero & reset register
////Set&Get
bool SetBaudRate(int iBaudRate);//set controller baud rates,default B9600 (2400 <20><> 921600)
bool SetBaudRate(int iBaudRate);//set controller baud rates,default B9600 (2400 <20><> 921600)
int GetBaudRate(); // -1:should retry;
bool SetMicroSteps(int iMicroSteps);//set micro steps (0<><30>5)->(1/2/4/8/16/32)
bool SetMicroSteps(int iMicroSteps);//set micro steps (0<><30>5)->(1/2/4/8/16/32)
int GetMicroSteps();
bool SetAccSpeed(float fAccSpd);//set acceleration speed in pulse (0 <20><> 192000000)
bool SetAccSpeed(float fAccSpd);//set acceleration speed in pulse (0 <20><> 192000000)
float GetAccSpeed();
bool SetRunSpeed(float fRunSpeed);//set normal running speed in pulse (0 <20><> 192000000)
bool SetRunSpeed(float fRunSpeed);//set normal running speed in pulse (0 <20><> 192000000)
float GetRunSpeed();
bool SetDecSpeed(float fDecSpeed);//set deceleration speed in pulse (0 <20><> 192000000)
bool SetDecSpeed(float fDecSpeed);//set deceleration speed in pulse (0 <20><> 192000000)
float GetDecSpeed();
bool SetSpeed(float fRunSpeed, float fAccSpd, float fDecSpeed);//see above three functions
bool SetHoldCurrent(float fHoldCurrent);//set hold current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetHoldCurrent(float fHoldCurrent);//set hold current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetHoldCurrent();
bool SetAccCurrent(float fAccCurrent);//set acceleration current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetAccCurrent(float fAccCurrent);//set acceleration current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetAccCurrent();
bool SetRunCurrent(float fRunCurrent);//set normal running current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
bool SetRunCurrent(float fRunCurrent);//set normal running current ( 0 <20><> 8.0 )Amp? pay attention to your motor specification.
float GetRunCurrent();
bool SetCurrent(float fAccCurrent, float fRunCurrent, float fHoldCurrent);//see above three functions
@ -129,7 +129,7 @@ public:
ZZ_U8 GetS2RETE();
//(ZeroMode 0:off 1:once 2:once + safe position 3:twice 4:twice + safe position) (OpenVoltageLevel 0:Low Level 1:High Level)
//(ZeroSensor 0:S1 1:S2 2:S3 3:S4 4:S5 5:S6)( ZeroVelocity <20><>-192000) <20><><EFBFBD><EFBFBD>192000<30><30>pulse)(SafePosition <20><>-2147483647) <20><><EFBFBD><EFBFBD>2147483647<34><37>)
//(ZeroSensor 0:S1 1:S2 2:S3 3:S4 4:S5 5:S6)( ZeroVelocity <20><>-192000) <20><><EFBFBD><EFBFBD>192000<30><30>pulse)(SafePosition <20><>-2147483647) <20><><EFBFBD><EFBFBD>2147483647<34><37>)
bool SetZeroParams(ZZ_U8 bZeroMode, ZZ_U8 bSwitchOpenVL, ZZ_U8 bZeroSensor, float fZeroVelocity, int iSafePosition);
ZZ_U8 GetZeroMode();
ZZ_U8 GetSwitchOpenVoltageLevel();

View File

@ -65,8 +65,8 @@ typedef struct tagControllerParams
bdr = 9600;
cra = 0.8;
crh = 0.4;
crn = 0.6;
crh = 0.8;
crn = 0.8;
acc = 100000;
dec = 100000;
@ -75,7 +75,7 @@ typedef struct tagControllerParams
osv = 0;
snr = 0;
zmd = 3;
zsp = 20;
zsp = 200;
zsd = 50000;
mcs = 6;
@ -94,15 +94,15 @@ typedef union
enum emVSMDTriggerEvent
{
NoAction =0, //<2F>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬λ S1 <20>仯֪ͨ<CDA8><D6AA>
ResetZeroPosition, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
DecSpdStop, //<2F><><EFBFBD><EFBFBD>ֹͣ
DecSpdStopRZP, //<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
Stop, //<2F><><EFBFBD><EFBFBD>ֹͣ
StopRZP, //<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
RunningPosDirect, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ٶȣ<D9B6>
RunningNegDirect, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ٶȣ<D9B6>
OfflineModeOn, //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
OfflineModeOff //<2F><><EFBFBD><EFBFBD>ģʽֹͣ
NoAction =0, //<2F>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬λ S1 <20>仯֪ͨ<CDA8><D6AA>
ResetZeroPosition, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
DecSpdStop, //<2F><><EFBFBD><EFBFBD>ֹͣ
DecSpdStopRZP, //<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
Stop, //<2F><><EFBFBD><EFBFBD>ֹͣ
StopRZP, //<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
RunningPosDirect, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ٶȣ<D9B6>
RunningNegDirect, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ٶȣ<D9B6>
OfflineModeOn, //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
OfflineModeOff //<2F><><EFBFBD><EFBFBD>ģʽֹͣ
};

View File

@ -97,7 +97,7 @@ lable1:
QByteArray tempbuf = optoskyserial->readAll();
data.append(tempbuf);
if (time.elapsed() > 50000)
if (time.elapsed() > 100000)
{
logout::out("long time no data retrun ");
return false;
@ -117,7 +117,7 @@ lable1:
optoskyserial->waitForReadyRead(50);
data.append(optoskyserial->readAll());
if (time.elapsed() > 50000)
if (time.elapsed() > 150000)
{
logout::out("long time no data retrun " );
return false;
@ -140,8 +140,8 @@ lable1:
if (checknum != (unsigned char)data[data.size() - 1])
{
logout::out("checkerro " );
data.clear();
return false;
//data.clear();
//return false;
}
return true;
@ -157,7 +157,7 @@ bool OptoSky::GetReturn(QByteArray id, QByteArray &data)
if (data[4]!=id[0])
{
logout::out("retrun is not correct with ComId:" + QString::number(id[0], 16));
return false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>򷵻ش<EFBFBD><EFBFBD><EFBFBD>
return false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>򷵻ش<F2B7B5BB><D8B4><EFBFBD>
}
RemoveHeaderandEnd(data);

View File

@ -38,6 +38,7 @@ bool SensorOptoSky::initSensor(int id /*= 0*/)
}
SensorInfo = GetSensorInfo();
float a = GettingTempratrue();
//SendComment()
return true;
@ -79,6 +80,7 @@ void SensorOptoSky::SettingTemprature(float temp)
float SensorOptoSky::GettingTempratrue()
{
return 0.0;
if (!OptoSky::isSensorInit())
{
return 0;
@ -131,6 +133,9 @@ STRSensorInfo SensorOptoSky::GetSensorInfo()
SendComment(SET_AVERAGE_NUMBER, bbb);
GetReturn(SET_AVERAGE_NUMBER, bbb);
se.maxValue = 65535;
bbb[0] = 0x00;
bbb[1] = 0x01;
SendComment(SET_AVERAGE_NUMBER,bbb);
return se;
}

28
root/Mywathdog.sh Normal file
View File

@ -0,0 +1,28 @@
#!/bin/bash
while true
do
time=`date +%H:%M:%S`
echo $time
if [[ "$time" > "01:00:01" ]] && [[ "$time" < "22:30:00" ]]
then
ps -ef | grep "TowerOptoSifAndSpectral" | grep -v "grep"
if [ "$?" -eq 1 ]
then
/home/pi/bin/TowerOptoSifAndSpectral &
echo "process has been restarted!" > /home/data/log.txt
else
echo "process already started!"
sleep 60
fi
else
ps -ef | grep "TowerOptoSifAndSpectral" | grep -v "grep"
if [ "$?" -eq 1 ]
then
sleep 60
else
echo "time to kill the task" > /home/data/log.txt
pkill TowerOptoSifAndSpectral
fi
fi
sleep 30
done

8
root/start.sh Normal file
View File

@ -0,0 +1,8 @@
chmod +x /root/filebrew/filebrowser
/root/filebrew/filebrowser -d /root/filebrew/filebrowser.db &
chmod +x /root/frp_0.34.3_linux_arm/frpc
chmod +x /root/ffwatch.sh
/root/ffwatch.sh &
chmod +x /root/Mywathdog.sh
bash /root/Mywathdog.sh &

View File

@ -1,11 +1,18 @@
#include "AbstractFSController.h"
#include "ZZ_Math_HDRONLY.h"
#include <math.h>
CAbstractFSController::CAbstractFSController(QObject* parent /*= nullptr*/)
{
iFlagInit = 0;
m_pFSCtrl = NULL;
m_iThreadID = -1;
m_vecDataFrameDark.clear();
m_vecDataFrameSignal.clear();
m_qstrCalFilePath = "/home/data/Cal";
m_vecNonLinearCalP.clear();
}
CAbstractFSController::~CAbstractFSController()
@ -18,6 +25,7 @@ CAbstractFSController::~CAbstractFSController()
int CAbstractFSController::SetRunParas(int iThreadID, FSInfo fsInfo)
{
connect(this, &CAbstractFSController::SignalInit_Self, this, &CAbstractFSController::InitializeFSControl);
m_iThreadID = iThreadID;
m_fsInfo = fsInfo;
return 0;
@ -28,6 +36,9 @@ int CAbstractFSController::SetRunParas(int iThreadID, FSInfo fsInfo)
int CAbstractFSController::InitializeFSControl()
{
using namespace ZZ_MISCDEF::IRIS;
int iRes = 0;
if (m_iThreadID == -1/*|| m_iDeviceType == -1*/)
{
qDebug() << "Params Err. Call SetRunParas first";
@ -42,7 +53,12 @@ int CAbstractFSController::InitializeFSControl()
qDebug() << "OSIFAlpha Not Opened";
return 2;
}
iRes = LoadQEProLinearCalibrationFile();
if (iRes != 0)
{
qDebug() << "LoadQEProLinearCalibrationFile Failed" << iRes;
//return 5;
}
break;
case DeviceModel::OSIFBeta:
m_pFSCtrl = new OceanOptics_lib;
@ -51,6 +67,12 @@ int CAbstractFSController::InitializeFSControl()
qDebug() << "OSIFBeta Not Opened";
return 2;
}
iRes = LoadQEProLinearCalibrationFile();
if (iRes != 0)
{
qDebug() << "LoadQEProLinearCalibrationFile Failed" << iRes;
//return 5;
}
break;
case DeviceModel::ISIF:
m_pFSCtrl = new ZZ_ATPControl_Serial_Qt;
@ -83,7 +105,7 @@ int CAbstractFSController::InitializeFSControl()
break;
}
int iRes = m_pFSCtrl->GetDeviceAttribute(m_daDeviceAttr);
iRes = m_pFSCtrl->GetDeviceAttribute(m_daDeviceAttr);
if (iRes != 0)
{
qDebug() << "GetDeviceAttribute Failed" << iRes;
@ -94,9 +116,16 @@ int CAbstractFSController::InitializeFSControl()
if (iRes != 0)
{
qDebug() << "SetDeviceTemperature Failed" << iRes;
return 5;
//return 5;
}
iFlagInit = 1;
return 0;
}
int CAbstractFSController::InitializeFSControl_Self()
{
//InitializeFSControl();
emit SignalInit_Self();
return 0;
}
@ -113,7 +142,7 @@ int CAbstractFSController::PerformAutoExposure()
float fPredictedExposureTime;
int iDeviceDepth = (int)m_fsInfo.lDepth;
qDebug() << "MAX---Min" << m_fsInfo.fMaxFactor << "---" << m_fsInfo.fMinFactor;
qDebug() << "MAX---Min" << m_fsInfo.fMaxFactor << "---" << m_fsInfo.fMinFactor << " Thread ID:" << m_iThreadID;
bool bFlagIsOverTrying = false;
bool bFlagIsLowerMinExposureTime = false;
@ -133,7 +162,7 @@ int CAbstractFSController::PerformAutoExposure()
int iRes = 0;
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:1";
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:1" << " Thread ID:" << m_iThreadID;
return 1;
}
@ -149,29 +178,30 @@ int CAbstractFSController::PerformAutoExposure()
}
//m_pFSCtrl->SetExposureTime(5000);
m_pFSCtrl->GetExposureTime(iExposureTime);
qDebug() << "Current ExpTime:" << iExposureTime << " Thread ID:" << m_iThreadID;
//m_pFSCtrl->SetExposureTime(2500);
//fExposureTime = (float)m_daDeviceAttr.iMinIntegrationTimeInMS;
fTempExposureTime = iExposureTime;
iRes = m_pFSCtrl->SingleShot(dfTemp);
//iRes = m_pFSCtrl->SingleShot(dfTemp);
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:2";
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:2" << " Thread ID:" << m_iThreadID;
return 2;
}
HeapSort(dfTemp.lData, m_daDeviceAttr.iPixels);
double dSum = 0;
int iCount = m_daDeviceAttr.iPixels / 100;
int iCount = m_daDeviceAttr.iPixels / 200;
for (int i = 0; i < iCount; i++)
{
dSum += dfTemp.lData[i];
}
double dTemp = dSum / iCount;
qDebug() << "Avg " << dTemp;
qDebug() << "Avg " << dTemp << " Thread ID:" << m_iThreadID;
if (dTemp >= iDeviceDepth * 0.99)
{
@ -188,7 +218,7 @@ int CAbstractFSController::PerformAutoExposure()
else if (iDeviceDepth * m_fsInfo.fMaxFactor >= dTemp && dTemp >= iDeviceDepth * m_fsInfo.fMinFactor)
{
qDebug() << "trace bFlagIsAutoExposureOK =1" << iExposureTime;
qDebug() << "trace bFlagIsAutoExposureOK =1 " << iExposureTime << " Thread ID:" << m_iThreadID;
bFlagIsAutoExposureOK = 1;
}
else if (dTemp > iDeviceDepth * m_fsInfo.fMaxFactor)
@ -216,46 +246,88 @@ int CAbstractFSController::PerformAutoExposure()
dFactor = dTemp / (iDeviceDepth * m_fsInfo.fMaxFactor);
iExposureTime = (float)(iExposureTime / dFactor);
}
if (/*fExposureTime > 100 || */iExposureTime < 10)
{
bFlagIsAutoExposureOK = false;
bFlagIsAutoExposureFailed = true;
bFlagIsLowerMinExposureTime = true;
}
}
bIsLastValueOverflow = bIsValueOverflow;
fLastExposureTime = fTempExposureTime;
if (iExposureTime > 120000)
if (/*fExposureTime > 100 || */iExposureTime <= m_daDeviceAttr.iMinIntegrationTimeInMS)
{
bFlagIsAutoExposureOK = false;
bFlagIsAutoExposureFailed = true;
float fPredictedExposureTime = 120000;
iRes = m_pFSCtrl->SetExposureTime(120000);
bFlagIsLowerMinExposureTime = true;
// qDebug() << "Warning:PerformAutoExposure lower than min integration time.Will be limited to " << m_daDeviceAttr.iMinIntegrationTimeInMS - 1 << "MS" << " Thread ID:" << m_iThreadID;
// iRes = m_pFSCtrl->SetExposureTime((int)iExposureTime);
// if (iRes != 0)
// {
// qDebug() << "Err:PerformAutoExposure Failed.Exit Code:4" << " Thread ID:" << m_iThreadID;
// return 3;
// }
// else
// {
// qDebug() << "Success:PerformAutoExposure. Value" << iExposureTime << " Thread ID:" << m_iThreadID;
// }
iRes = m_pFSCtrl->SetExposureTime(m_daDeviceAttr.iMinIntegrationTimeInMS);
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3";
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3" << " Thread ID:" << m_iThreadID;
return 3;
}
else
{
qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to 30sec";
qDebug() << "Warning:PerformAutoExposure lower than min integration time.Will be limited to " << m_daDeviceAttr.iMinIntegrationTimeInMS << "MS" << " Thread ID:" << m_iThreadID;
}
break;
}
if (iExposureTime > m_daDeviceAttr.iMaxIntegrationTimeInMS-1)
{
bFlagIsAutoExposureOK = false;
bFlagIsAutoExposureFailed = true;
bFlagIsOverMaxExposureTime = true;
//float fPredictedExposureTime = m_daDeviceAttr.iMaxIntegrationTimeInMS-1;
//iRes = m_pFSCtrl->SetExposureTime(m_daDeviceAttr.iMaxIntegrationTimeInMS-1);
//if (iRes != 0)
//{
//qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3" << " Thread ID:" << m_iThreadID;
//return 3;
//}
//else
//{
//qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to 30sec";
//}
iRes = m_pFSCtrl->SetExposureTime(m_daDeviceAttr.iMaxIntegrationTimeInMS - 1);
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3" << " Thread ID:" << m_iThreadID;
return 3;
}
else
{
qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to " << m_daDeviceAttr.iMaxIntegrationTimeInMS - 1 << "MS" << " Thread ID:" << m_iThreadID;
}
break;
}
iRes = m_pFSCtrl->SetExposureTime((int)iExposureTime);
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:4";
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:4" << " Thread ID:" << m_iThreadID;
return 3;
}
else
{
qDebug() << "Success:PerformAutoExposure. Value"<< iExposureTime;
qDebug() << "Success:PerformAutoExposure. Value" << iExposureTime << " Thread ID:" << m_iThreadID;
}
}
fPredictedExposureTime = iExposureTime;
qDebug() << "--------------------------Stop PerformAutoExposure" << " Thread ID:" << m_iThreadID;
//emit SignalAcqFinished(m_iThreadID, 1);
@ -288,15 +360,61 @@ int CAbstractFSController::TakeSignalFrame()
DataFrame CAbstractFSController::TakeOneFrame()
{
using namespace ZZ_MISCDEF::IRIS;
//int iExpTime = 0;
DataFrame dfTemp;
// m_pFSCtrl->GetExposureTime(iExpTime);
// dfTemp.usExposureTimeInMS = iExpTime;
// m_pFSCtrl->GetDeviceTemperature(dfTemp.fTemperature);
if (m_fsInfo.ucDeviceModel== DeviceModel::ISIF)
{
float fTemp;
m_pFSCtrl->GetDeviceTemperature(fTemp);
dfTemp.fTemperature = fTemp;
}
else if(m_fsInfo.ucDeviceModel == DeviceModel::IS1)
{
dfTemp.fTemperature = 0;
}
int iRes = m_pFSCtrl->SingleShot(dfTemp);
if (iRes != 0)
{
qDebug() << "Err. SingleShot" << " Thread ID:" << m_iThreadID;
}
if (m_fsInfo.ucDeviceModel == DeviceModel::OSIFAlpha|| m_fsInfo.ucDeviceModel == DeviceModel::OSIFBeta)
{
if (m_vecNonLinearCalP.size() != 8)
{
qDebug() << "Err.Non Linear calibration parameters not fit.Skip..." << " Thread ID:" << m_iThreadID;
return dfTemp;
}
for (int i=0;i<m_daDeviceAttr.iPixels;i++)
{
dfTemp.lData[i] = dfTemp.lData[i] / ( m_vecNonLinearCalP[0] +
m_vecNonLinearCalP[1] * dfTemp.lData[i] +
m_vecNonLinearCalP[2] * pow(dfTemp.lData[i], 2) +
m_vecNonLinearCalP[3] * pow(dfTemp.lData[i], 3) +
m_vecNonLinearCalP[4] * pow(dfTemp.lData[i], 4) +
m_vecNonLinearCalP[5] * pow(dfTemp.lData[i], 5) +
m_vecNonLinearCalP[6] * pow(dfTemp.lData[i], 6) +
m_vecNonLinearCalP[7] * pow(dfTemp.lData[i], 7)
);
}
}
return dfTemp;
// DataFrame dfTemp;
// int iRes = m_pFSCtrl->SingleShot(dfTemp);
// if (iRes != 0)
// {
// qDebug() << "Err. SingleShot" << " Thread ID:" << m_iThreadID;
// }
//
// return dfTemp;
}
int CAbstractFSController::SaveDataFile()
@ -304,19 +422,56 @@ int CAbstractFSController::SaveDataFile()
return 0;
}
int CAbstractFSController::LoadQEProLinearCalibrationFile()
{
m_vecNonLinearCalP.clear();
QDir qdirPath(m_qstrCalFilePath);
if (!qdirPath.exists())
{
qDebug() << "Non-Linear Calibration Folder not exist" << " Thread ID:" << m_iThreadID;
return 1;
}
QString qstrFilePath;
qstrFilePath = m_qstrCalFilePath + QString("/")+QString::fromStdString(m_fsInfo.strSN)+ QString(".NLC");
QFile qfCalFile(qstrFilePath);
bool bRes = qfCalFile.open(QFile::ReadOnly);
if (!bRes)
{
qDebug() << "Non-Linear Calibration File open Failed" << " Thread ID:" << m_iThreadID;
return 2;
}
while (!qfCalFile.atEnd())
{
QByteArray qbData = qfCalFile.readLine();
qbData.remove(qbData.size()-1, 1);
m_vecNonLinearCalP.push_back(qbData.toDouble());
//qDebug() << qbData;
}
qfCalFile.close();
qDebug() <<"Non-Linear Calibration Params:"<< m_vecNonLinearCalP.size() << " Thread ID:" << m_iThreadID;
return 0;
}
int CAbstractFSController::StartAcquisitionSignal()
{
//
qDebug() << "Starting acq Signal" << " Thread ID:" << m_iThreadID;
// DataFrame struDF;
// int iii;
// m_pFSCtrl->SetExposureTime(10000000);
// m_pFSCtrl->GetExposureTime(iii);
// m_pFSCtrl->SingleShot(struDF);
//PerformAutoExposure();
PerformAutoExposure();
TakeSignalFrame();
qDebug() << "Stop acq Signal" << " Thread ID:" << m_iThreadID;

View File

@ -21,12 +21,15 @@ class CAbstractFSController :public QObject
public:
CAbstractFSController(QObject* parent = nullptr);
virtual ~CAbstractFSController();
public:
std::atomic_int iFlagInit{ 0 };
public:
//call first
virtual int SetRunParas(int iThreadID, FSInfo fsInfo);
//create derived class from base class
virtual int InitializeFSControl();
virtual int InitializeFSControl_Self();
//sync info
virtual int GetDeviceAttr(DeviceAttribute &daAttr);
@ -40,6 +43,10 @@ private:
std::vector<DataFrame> m_vecDataFrameDark, m_vecDataFrameSignal;
DeviceAttribute m_daDeviceAttr;
//QE NLC
QString m_qstrCalFilePath;
std::vector<double> m_vecNonLinearCalP;
private:
int PerformAutoExposure();
int TakeDarkFrame();
@ -47,6 +54,8 @@ private:
DataFrame TakeOneFrame();
int SaveDataFile();
//QE NLC
int LoadQEProLinearCalibrationFile();
public slots:
virtual int StartAcquisitionSignal();
virtual int StartAcquisitionDark();
@ -56,6 +65,7 @@ public slots:
signals:
void SignalInit_Self();
void SignalAcqStarted();
void SignalAcqFinished_Signal(int iThreadID, int iFlagStatus);
void SignalAcqFinished_Dark (int iThreadID, int iFlagStatus);

View File

@ -7,6 +7,7 @@ CMainDataGrabber::CMainDataGrabber(QObject* parent /*= nullptr*/)
//m_GrabTimer = new QTimer(this);
m_iFlagIsWorkingTime = 1;
m_iFlagIsCapturing = false;
m_iFlagIsCapturing_Signal = false;
m_iFlagIsCapturing_Dark = false;
@ -81,8 +82,8 @@ void CMainDataGrabber::Init_Normal()
{
InitThreadStatus();
InitializeWorkers();
SetupMsgPipelines();
StartWorkers();
SetupMsgPipelines();
}
int CMainDataGrabber::SetGrabberParams(RunTimeGrabberParams struGrabberRTParams)
@ -122,15 +123,47 @@ int CMainDataGrabber::InitLS()
//SetupMsgPipelines_RunTime();
//StartWorkers();
if (m_struLinearShutterContext.strInterface=="GPIO")
{
qDebug() << "Debugging GPIO Init Started";
PortInfo piTemp;
piTemp.qstrFullPortName = QString::fromStdString(m_struLinearShutterContext.strInterface);
m_ctrlLS.ILMES_InitializeComm(piTemp, m_struLinearShutterContext.ucProtocolType, m_struLinearShutterContext.ucCmdID);
ControllerParams cpTemp;
bool res = m_ctrlLS.ILMES_InitializeParams(cpTemp);
m_vecDSS.clear();
m_ctrlLS.ILMES_SetPosition(m_struAcqPosSetting.iPosition, m_struAcqPosSetting.iTotalPosition);
if (m_struLinearShutterContext.ucProtocolType == 100)
{
DSStatus DSSOne;
QString qstrChannel = QString::number(m_struLinearShutterContext.usCmdID, 10);
if (qstrChannel.size() != 2)
{
qDebug() << "Dual Shutter Channel Parse Err.";
return -1;
}
else
{
DSSOne.strChannelA = qstrChannel.toStdString()[0];
DSSOne.strChannelB = qstrChannel.toStdString()[1];
DSSOne.iChannelA = 1;
DSSOne.iChannelB = 1;
}
m_vecDSS.push_back(DSSOne);
}
}
else
{
PortInfo piTemp;
piTemp.qstrFullPortName = QString::fromStdString(m_struLinearShutterContext.strInterface);
m_ctrlLS.ILMES_InitializeComm(piTemp, m_struLinearShutterContext.ucProtocolType, m_struLinearShutterContext.usCmdID);
ControllerParams cpTemp;
bool res = m_ctrlLS.ILMES_InitializeParams(cpTemp);
m_ctrlLS.ILMES_SetPosition(m_struAcqPosSetting.iPosition, m_struAcqPosSetting.iTotalPosition);
}
//m_ctrlLS.ILMES_MoveToPos(2);
return 0;
}
@ -159,6 +192,16 @@ int CMainDataGrabber::InitThreadStatus()
return 0;
}
int CMainDataGrabber::ResetThreadStatus()
{
for (int i = 0; i < m_iTotalThreads; i++)
{
m_piFlagCaptureThreadStatus_Signal[i] = 0;
m_piFlagCaptureThreadStatus_Dark[i] = 0;
}
return 0;
}
int CMainDataGrabber::InitializeWorkers()
{
for (ZZ_U8 i = 0; i < m_struDeviceContext.ucDeviceNumber; i++)
@ -176,20 +219,20 @@ int CMainDataGrabber::InitializeWorkers()
CAbstractFSController* m_pWorkThread = new CAbstractFSController;
m_pWorkThread->SetRunParas(i, fsInfo);
m_pWorkThread->InitializeFSControl();
DeviceAttribute daAttrTemp;
m_pWorkThread->GetDeviceAttr(daAttrTemp);
m_struDeviceContext.usPixels[i] = (ZZ_U16)daAttrTemp.iPixels;
for (ZZ_U16 j = 0; j < daAttrTemp.iPixels; j++)
{
m_struDeviceContext.fWavelength[i][j] = daAttrTemp.fWaveLengthInNM[j];
}
m_pControlThread.push_back(m_pWorkThread);
// m_pWorkThread->InitializeFSControl();
//
// DeviceAttribute daAttrTemp;
// m_pWorkThread->GetDeviceAttr(daAttrTemp);
// m_struDeviceContext.usPixels[i] = (ZZ_U16)daAttrTemp.iPixels;
// for (ZZ_U16 j = 0; j < daAttrTemp.iPixels; j++)
// {
// m_struDeviceContext.fWavelength[i][j] = daAttrTemp.fWaveLengthInNM[j];
// }
m_pControlThread.push_back(m_pWorkThread);
}
m_struRTGP.fscParams = m_struDeviceContext;
m_pdfpSaver->SetDeviceInfo(m_struDeviceContext);
m_pmduUploader->SetRTGP(m_struRTGP);
// m_struRTGP.fscParams = m_struDeviceContext;
// m_pdfpSaver->SetDeviceInfo(m_struDeviceContext);
// m_pmduUploader->SetRTGP(m_struRTGP);
return 0;
}
@ -202,19 +245,26 @@ int CMainDataGrabber::StartWorkers()
m_pControlThread[i]->moveToThread(pWorkThreadHolder);
pWorkThreadHolder->start();
// m_pControlThread[i]->InitializeFSControl();
// DeviceAttribute daAttrTemp;
// m_pControlThread[i]->GetDeviceAttr(daAttrTemp);
// m_struDeviceContext.usPixels[i] = (ZZ_U16)daAttrTemp.iPixels;
// for (ZZ_U16 j = 0; j < daAttrTemp.iPixels; j++)
// {
// m_struDeviceContext.fWavelength[i][j] = daAttrTemp.fWaveLengthInNM[j];
// }
m_pControlThread[i]->InitializeFSControl_Self();
/// <summary>
while (!m_pControlThread[i]->iFlagInit)
{
Delay_MSec(1000);
}
/// </summary>
/// <returns></returns>
DeviceAttribute daAttrTemp;
m_pControlThread[i]->GetDeviceAttr(daAttrTemp);
m_struDeviceContext.usPixels[i] = (ZZ_U16)daAttrTemp.iPixels;
for (ZZ_U16 j = 0; j < daAttrTemp.iPixels; j++)
{
m_struDeviceContext.fWavelength[i][j] = daAttrTemp.fWaveLengthInNM[j];
}
}
// m_struRTGP.fscParams = m_struDeviceContext;
// m_pdfpSaver->SetDeviceInfo(m_struDeviceContext);
// m_pmduUploader->SetRTGP(m_struRTGP);
m_struRTGP.fscParams = m_struDeviceContext;
m_pdfpSaver->SetDeviceInfo(m_struDeviceContext);
m_pmduUploader->SetRTGP(m_struRTGP);
return 0;
}
@ -234,6 +284,7 @@ int CMainDataGrabber::SetupMsgPipelines()
connect(this, &CMainDataGrabber::SignalGrabOnceFinished, this, &CMainDataGrabber::GrabOnceFinished);
connect(m_psScheduler, &Scheduler::SignalGrabOnce, this, &CMainDataGrabber::OnTimeCounter);
connect(m_psScheduler, &Scheduler::SignalZeroHoldCurrent, this, &CMainDataGrabber::OnZeroHoldCurrent);
connect(this, &CMainDataGrabber::SignalStartGrab, this, &CMainDataGrabber::StartGrabTimer);
connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Signal, this, &CMainDataGrabber::GrabOnceFinished_Signal);
connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Dark, this, &CMainDataGrabber::GrabOnceFinished_Dark);
@ -267,7 +318,7 @@ int CMainDataGrabber::StartGrab()
void CMainDataGrabber::Init_Self()
{
//emit SignalLSInit();
emit SignalLSInit();
return;
}
@ -409,9 +460,14 @@ int CMainDataGrabber::GrabOnceFinished()
int CMainDataGrabber::OnTimeCounter()
{
m_iFlagIsWorkingTime = 1;
bool bRes;
QString qstrCMD_A,qstrCMD_B,qstrCMD_Temp;
if (m_iFlagIsCapturing)
{
qDebug() << "Fatal Thread Err.";
qDebug() << "Fatal Warning.Last capture not finished.New acquisition will not start";
return 1000;
}
m_iFlagIsCapturing = 1;
@ -425,13 +481,86 @@ int CMainDataGrabber::GrabOnceFinished()
m_pControlThread[i]->ClearBuffer();
}
if (m_struLinearShutterContext.strInterface == "GPIO")
{
}
else
{
////hold current
bRes = m_ctrlLS.SetHoldCurrent(0.4f);
if (!bRes)
{
qDebug() << "SetHoldCurrent 0.4 Failed";
}
Delay_MSec(1000);
////
}
for (int i=0;i< m_struAcqPosSetting.iTotalPosition-1;i++)
{
////move to
qDebug()<<"Start ILMES_MoveToPos:"<<i+1;
//m_ctrlLS.ILMES_MoveToPos(i+1);
qDebug() << "Stop ILMES_MoveToPos:" << i + 1;
m_struAcqPosSetting.iPosition[i + 1];
ResetThreadStatus();
////move to start
if (m_struLinearShutterContext.strInterface == "GPIO")
{
if (m_struLinearShutterContext.ucProtocolType == 100)
{
if (/*i==0*/i%2==0)
{
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelA);
qstrCMD_A = "gpio write " + qstrCMD_Temp + " 1";
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelB);
qstrCMD_B = "gpio write " + qstrCMD_Temp + " 0";
system(qstrCMD_A.toLatin1());
system(qstrCMD_B.toLatin1());
qDebug() << qstrCMD_A;
qDebug() << qstrCMD_B;
Delay_MSec(500);
}
else if (/*i==1*/i%2==1)
{
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelA);
qstrCMD_A = "gpio write " + qstrCMD_Temp + " 0";
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelB);
qstrCMD_B = "gpio write " + qstrCMD_Temp + " 1";
system(qstrCMD_A.toLatin1());
system(qstrCMD_B.toLatin1());
qDebug() << qstrCMD_A;
qDebug() << qstrCMD_B;
Delay_MSec(500);
}
}
}
else
{
qDebug() << "Start ILMES_MoveToPos:" << i + 1;
if (i == 0)
{
m_ctrlLS.ILMES_MoveToPos(i + 1);
}
else
{
m_ctrlLS.MoveTo(m_struAcqPosSetting.iPosition[1]);
}
m_ctrlLS.ILMES_MoveToPos(i + 1);
qDebug() << "Stop ILMES_MoveToPos:" << i + 1;
}
////move to end
// m_struAcqPosSetting.iPosition[i + 1];
m_iFlagIsCapturing_Signal = 1;
emit SignalStartGrabOnce_Signal();
while (m_iFlagIsCapturing_Signal)
@ -441,17 +570,52 @@ int CMainDataGrabber::GrabOnceFinished()
////move to
qDebug() << "Start ILMES_MoveToPos:" << 0;
//m_ctrlLS.ILMES_MoveToPos(0);
qDebug() << "Stop ILMES_MoveToPos:" << 0;
m_struAcqPosSetting.iPosition[0];
if (m_struLinearShutterContext.strInterface == "GPIO")
{
if (m_struLinearShutterContext.ucProtocolType == 100)
{
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelA);
qstrCMD_A = "gpio write " + qstrCMD_Temp + " 0";
qstrCMD_Temp = QString::fromStdString(m_vecDSS[0].strChannelB);
qstrCMD_B = "gpio write " + qstrCMD_Temp + " 0";
system(qstrCMD_A.toLatin1());
system(qstrCMD_B.toLatin1());
qDebug() << qstrCMD_A;
qDebug() << qstrCMD_B;
}
}
else
{
qDebug() << "Start ILMES_MoveToPos:" << 0;
m_ctrlLS.ILMES_MoveToPos(0);
qDebug() << "Stop ILMES_MoveToPos:" << 0;
}
//m_struAcqPosSetting.iPosition[0];
m_iFlagIsCapturing_Dark = 1;
emit SignalStartGrabOnce_Dark();
while (m_iFlagIsCapturing_Dark)
{
Delay_MSec(1000);
}
}
if (m_struLinearShutterContext.strInterface == "GPIO")
{
}
else
{
////hold current
bRes = m_ctrlLS.SetHoldCurrent(0);
if (!bRes)
{
qDebug() << "SetHoldCurrent 0 Failed";
}
Delay_MSec(1000);
////
}
std::vector<std::vector<DataFrame>> vecData;
@ -465,13 +629,20 @@ int CMainDataGrabber::GrabOnceFinished()
SubDataFrame(vecSignal[j], vecDark[j], m_struDeviceContext.usPixels[i]);
}
vecData.push_back(vecSignal);
qDebug() << "ucDeviceNumber" << i << " Data Size" << vecSignal.size();
//vecData[i].push_back();
}
//emit SignalPushOneDataFrame(vecData);
m_pmduUploader->SetData(vecData);
// emit SignalPushOneDataFrame();
m_pdfpSaver->SetData(vecData);
m_pdfpSaver->WriteDataFile();
if (m_iFlagIsWorkingTime)
{
//emit SignalPushOneDataFrame(vecData);
m_pmduUploader->SetData(vecData);
emit SignalPushOneDataFrame();
m_pdfpSaver->SetData(vecData);
qDebug() << "Thread Data Server: WriteDataFile Called";
m_pdfpSaver->WriteDataFile();
}
m_iFlagIsCapturing = 0;
// qDebug() << "-------------------------------------------busy" << QTime::currentTime().toString();
@ -514,3 +685,17 @@ int CMainDataGrabber::GrabOnceFinished()
return 0;
}
int CMainDataGrabber::OnZeroHoldCurrent()
{
///
m_iFlagIsWorkingTime = 0;
///
bool bRes = m_ctrlLS.SetHoldCurrent(0);
if (!bRes)
{
qDebug() << "OnZeroHoldCurrent Failed";
}
return 0;
}

View File

@ -17,7 +17,7 @@ class CMainDataGrabber :public QObject
Q_OBJECT
public:
CMainDataGrabber(QObject* parent = nullptr);
~CMainDataGrabber();
~CMainDataGrabber();
private:
vector<CAbstractFSController *> m_pControlThread;
@ -28,6 +28,7 @@ private:
int m_iTotalThreads;
int m_iFlagIsWorkingTime;
int m_iFlagIsCapturing;
int m_iFlagIsCapturing_Signal;
int m_iFlagIsCapturing_Dark;
@ -43,6 +44,9 @@ private:
AcqPosSettings m_struAcqPosSetting;
AcqTimeSettings m_struAcqTime;
RunTimeGrabberParams m_struRTGP;
//20220422 added for dual-shutter system
vector<DSStatus> m_vecDSS;
//QTimer *m_GrabTimer;
private:
@ -56,6 +60,7 @@ private:
int SetUploader(CMainDataUploader &mduUploader/*, RunTimeGrabberParams struGrabberRTParams*/);
int InitThreadStatus();
int ResetThreadStatus();
int InitializeWorkers();
int StartWorkers();
int SetupMsgPipelines();
@ -74,6 +79,7 @@ public slots:
int InitLS();
int StartGrabTimer();
int OnTimeCounter();
int OnZeroHoldCurrent();
int HandleThreadEvent_Signal(int iThreadID, int iFlagStatus);
int HandleThreadEvent_Dark(int iThreadID, int iFlagStatus);

View File

@ -2,6 +2,7 @@
Scheduler::Scheduler(QObject* parent /*= nullptr*/)
{
m_iFlagIsOnRestart = 0;
m_GrabTimer = new QTimer(this);
connect(m_GrabTimer, &QTimer::timeout, this, &Scheduler::OnTimeCounter);
connect(this, &Scheduler::SignalSelfStart, this, &Scheduler::StartAsPlanned);
@ -24,10 +25,11 @@ void Scheduler::SetAcqTimeParams(AcqTimeSettings struAcqTime)
void Scheduler::Preheating()
{
qDebug() << "Start Preheating";
//QThread::msleep(5000);
#ifdef _DEBUG
QThread::msleep(5000);
#else
QThread::msleep(10000);//NEED TO CHANGE BEFOR HAND TO CUSTOM
QThread::msleep(900000);//NEED TO CHANGE BEFOR HAND TO CUSTOMER
#endif
qDebug() << "Preheating Finished";
}
@ -40,10 +42,11 @@ void Scheduler::SelfStart()
void Scheduler::StartAsPlanned()
{
bool bStopWait = false;
QTime qtTime = QTime::currentTime();
while (!bStopWait)
{
QThread::msleep(100);
QThread::msleep(10000);
QTime qtTime = QTime::currentTime();
if (m_struAcqTime.qtStartTime <= qtTime && qtTime < m_struAcqTime.qtStopTime)
{
bStopWait = true;
@ -53,6 +56,12 @@ void Scheduler::StartAsPlanned()
int iIntervalInMS = m_struAcqTime.qtInterval.hour() * 3600 * 1000 + m_struAcqTime.qtInterval.minute() * 60 * 1000 + m_struAcqTime.qtInterval.second() * 1000;
m_GrabTimer->start(iIntervalInMS);
QThread::msleep(5000);
qDebug() << "it's time to start work.";
emit SignalGrabOnce();
//this->OnTimeCounter();
//emit &QTimer::timeout;
}
int Scheduler::OnTimeCounter()
@ -60,13 +69,23 @@ int Scheduler::OnTimeCounter()
QTime qtTime = QTime::currentTime();
if (m_struAcqTime.qtStartTime <= qtTime && qtTime < m_struAcqTime.qtStopTime)
{
if (m_iFlagIsOnRestart)
{
}
qDebug() << "it's time to work...work work.";
emit SignalGrabOnce();
return 0;
}
else
{
system("gpio write 1 0");//<2F><EFBFBD>ϵ<EFBFBD>
if (!m_iFlagIsOnRestart)
{
m_iFlagIsOnRestart = 1;
}
emit SignalZeroHoldCurrent();
system("gpio write 1 0");//<2F><EFBFBD>ϵ<EFBFBD>
qDebug() << "gpio write 1 0......"<<endl;
qDebug() << "Non working time. Idling......";
return 0;

View File

@ -10,6 +10,7 @@ public:
Scheduler(QObject* parent = nullptr);
~Scheduler();
private:
int m_iFlagIsOnRestart;
QTimer *m_GrabTimer;
AcqTimeSettings m_struAcqTime;
private:
@ -21,6 +22,7 @@ public:
public slots:
int OnTimeCounter();
signals:
void SignalZeroHoldCurrent();
void SignalGrabOnce();
void SignalSelfStart();
};

View File

@ -15,7 +15,7 @@ ZZ_ATPControl_Serial_Qt::~ZZ_ATPControl_Serial_Qt()
{
delete m_pSerialPort;
}
}
// int ZZ_ATPControl_Serial_Qt::ReInit()
@ -43,14 +43,16 @@ int ZZ_ATPControl_Serial_Qt::Initialize(bool bIsUSBMode, std::string ucPortNumbe
//connect(this, &ZZ_ATPControl_Serial_Qt::SignalInit_Self, this, &ZZ_ATPControl_Serial_Qt::Init_Self);
//emit SignalInit_Self();
QString qstrPortName = QString::fromStdString(ucPortNumber);
qstrInitPortName = QString::fromStdString(ucPortNumber);
qstrInitDeviceSN = QString::fromStdString(strDeviceName);
m_pSerialPort->setPortName(qstrPortName);
m_pSerialPort->setPortName(qstrInitPortName);
m_pSerialPort->setReadBufferSize(512);
bool bRes = m_pSerialPort->setBaudRate(m_iBaudRate);
if (!bRes)
{
qDebug() << "Err:setBaudRate Failed.Exit Code:1";
qDebug() << "FS Err:setBaudRate Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
//std::cout << "Err.setBaudRate Failed" << std::endl;
return 1;
}
@ -58,17 +60,28 @@ int ZZ_ATPControl_Serial_Qt::Initialize(bool bIsUSBMode, std::string ucPortNumbe
bRes = m_pSerialPort->open(QIODevice::ReadWrite);
if (!bRes)
{
qDebug() << "Err:open Failed.Exit Code:2";
qDebug() << "FS Err:open Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
//std::cout << "Err.open Failed" << std::endl;
return 2;
}
// int testi;
// GetDeviceAttribute(m_daDeviceAttr);
// GetExposureTime(testi);
// SetExposureTime(10000);
// DataFrame test;
// SingleShot(test);
GetDeviceInfo(m_diDeviceInfo);
GetExposureTime_Init();
SetAvgTimes(1);
std::string::size_type szPostion = m_diDeviceInfo.strSN.find(strDeviceName);
if (szPostion==std::string::npos)
if (szPostion == std::string::npos)
{
qDebug() << "Err:FS serial number not match.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
else
@ -93,18 +106,21 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceInfo(DeviceInfo &Info)
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
m_diDeviceInfo.strPN = qbRecv.data();
@ -116,18 +132,21 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceInfo(DeviceInfo &Info)
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceInfo Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
m_diDeviceInfo.strSN = qbRecv.data();
@ -148,18 +167,21 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceAttribute(DeviceAttribute &Attr)
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
m_daDeviceAttr.iMinIntegrationTimeInMS = (ZZ_U8)qbRecv[1] + (ZZ_U8)qbRecv[0] * 256;
@ -171,37 +193,46 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceAttribute(DeviceAttribute &Attr)
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
m_daDeviceAttr.iMaxIntegrationTimeInMS = (ZZ_U8)qbRecv[1] + (ZZ_U8)qbRecv[0] * 256;
///
int iTempExpTime = 0;
GetExposureTime(iTempExpTime);
iRes = SetExposureTime(m_daDeviceAttr.iMinIntegrationTimeInMS);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Call SetExposureTime error.Exit Code:2";
return 2;
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
//return 2;
}
iRes = SingleShot(m_daDeviceAttr.iPixels);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Call SingleShot error.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
SetExposureTime(iTempExpTime);
///
qbSend.clear();
qbRecv.clear();
qbSend.append(GET_WAVELENGTH_CALIBRATION_COEF);
@ -212,26 +243,29 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceAttribute(DeviceAttribute &Attr)
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceAttribute Failed,Communication error.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
float fWaveLengthCoef[4];
memcpy(fWaveLengthCoef, qbRecv.data()+16, 4 * sizeof(float));
for (int i=0;i< m_daDeviceAttr.iPixels;i++)
{
memcpy(fWaveLengthCoef, qbRecv.data() + 16, 4 * sizeof(float));
for (int i = 0; i < m_daDeviceAttr.iPixels; i++)
{
m_daDeviceAttr.fWaveLengthInNM[i] = fWaveLengthCoef[0] * i*i*i + fWaveLengthCoef[1] * i*i + fWaveLengthCoef[2] * i + fWaveLengthCoef[3];
}
}
Attr = m_daDeviceAttr;
@ -243,8 +277,78 @@ int ZZ_ATPControl_Serial_Qt::SetDeviceTemperature(float fTemperature)
return 0;
}
int ZZ_ATPControl_Serial_Qt::SetAvgTimes(int iTimes /*= 1*/)
{
QByteArray qbSend, qbRecv;
qbSend.clear();
qbRecv.clear();
qbSend.append(SET_AVERAGE_NUMBER);
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
int iRes = SendCommand(qbSend);
if (iRes != 0)
{
qDebug() << "Err:SetAvgTimes Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SetAvgTimes Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SetAvgTimes Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
return 0;
}
int ZZ_ATPControl_Serial_Qt::GetExposureTime_Init()
{
QByteArray qbSend, qbRecv;
qbSend.clear();
qbRecv.clear();
qbSend.append(GET_INTEGRATION_TIME);
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
int iRes = SendCommand(qbSend);
if (iRes != 0)
{
qDebug() << "Err:GetExposureTime Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetExposureTime Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetExposureTime Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
m_iExposureTime = (ZZ_U8)qbRecv[1] + (ZZ_U8)qbRecv[0] * 256;
return 0;
}
int ZZ_ATPControl_Serial_Qt::SendCommand(QByteArray qbCommand)
{
m_pSerialPort->clear();
int iSize = qbCommand.size() + 3;
QByteArray qbSend;
qbSend.resize(4);
@ -262,10 +366,11 @@ int ZZ_ATPControl_Serial_Qt::SendCommand(QByteArray qbCommand)
qbSend.append(iSum % 256);
qint64 qi64Write= m_pSerialPort->write(qbSend);
qint64 qi64Write = m_pSerialPort->write(qbSend);
if (qi64Write != qbSend.size())
{
qDebug() << "Err:write Failed.Exit Code:1"<< qi64Write;
qDebug() << "Err:write Failed.Exit Code:1" << qi64Write;
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
@ -274,19 +379,21 @@ int ZZ_ATPControl_Serial_Qt::SendCommand(QByteArray qbCommand)
int ZZ_ATPControl_Serial_Qt::RecvData(QByteArray &qbData)
{
qbData.clear();
qbData = m_pSerialPort->readAll();
int iCounter = 0;
while (qbData.size() < 4)
{
m_pSerialPort->waitForReadyRead(50);
m_pSerialPort->waitForReadyRead(5000);
QByteArray qbTemp = m_pSerialPort->readAll();
qbData.append(qbTemp);
if (iCounter > 10)
if (iCounter > 150)
{
qDebug() << "Err:RecvData Failed,Not Enough Data.Exit Code:1"<< qbData.size();
qDebug() << "Err:RecvData Failed,Not Enough Data.Exit Code:1" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iCounter++;
@ -294,7 +401,8 @@ int ZZ_ATPControl_Serial_Qt::RecvData(QByteArray &qbData)
if ((ZZ_U8)qbData[0] != (ZZ_U8)0xaa || (ZZ_U8)qbData[1] != (ZZ_U8)0x55)
{
qDebug() << "Err:RecvData Failed,Wrong Header.Exit Code:2" << qbData.size();
qDebug() << "Err:RecvData Failed,Wrong Header.Exit Code:2" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
@ -302,12 +410,13 @@ int ZZ_ATPControl_Serial_Qt::RecvData(QByteArray &qbData)
int iLength = qbData[2] * 256 + qbData[3] + 2;
while (qbData.size() < iLength)
{
m_pSerialPort->waitForReadyRead(50);
m_pSerialPort->waitForReadyRead(5000);
qbData.append(m_pSerialPort->readAll());
if (iCounter > 100)
if (iCounter > 200)
{
qDebug() << "Err:RecvData Failed,Incomplete Data.Exit Code:3" << qbData.size();
qDebug() << "Err:RecvData Failed,Incomplete Data.Exit Code:3" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
iCounter++;
@ -321,15 +430,85 @@ int ZZ_ATPControl_Serial_Qt::RecvData(QByteArray &qbData)
ZZ_U16 usCheckSum = 0;
for (int i = 0; i < iCheckSumLength; i++)
{
usCheckSum += qbData[i+2];
usCheckSum += qbData[i + 2];
}
usCheckSum = usCheckSum % 256;
ZZ_U8 ucTemp = qbData[qbData.size() - 1];
if ((ZZ_U8)usCheckSum != ucTemp)
{
qDebug() << "Err:RecvData Failed,Incorrect Check Sum.Exit Code:4" << qbData.size();
qbData.clear();
return 4;
qDebug() << "Err:RecvData Failed,Incorrect Check Sum.Exit Code:4" << "Total Recv:" << qbData.size() << "Check Sum:" << usCheckSum << "Not Equal To" << ucTemp;
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
//qbData.clear();
//return 4;
return 0;
}
return 0;
}
int ZZ_ATPControl_Serial_Qt::RecvData_ShortLag(QByteArray &qbData)
{
qbData.clear();
qbData = m_pSerialPort->readAll();
int iCounter = 0;
while (qbData.size() < 4)
{
m_pSerialPort->waitForReadyRead(100);
QByteArray qbTemp = m_pSerialPort->readAll();
qbData.append(qbTemp);
if (iCounter > 6)
{
qDebug() << "Err:RecvData_ShortLag Failed,Not Enough Data.Exit Code:1" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iCounter++;
}
if ((ZZ_U8)qbData[0] != (ZZ_U8)0xaa || (ZZ_U8)qbData[1] != (ZZ_U8)0x55)
{
qDebug() << "Err:RecvData_ShortLag Failed,Wrong Header.Exit Code:2" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iCounter = 0;
int iLength = qbData[2] * 256 + qbData[3] + 2;
while (qbData.size() < iLength)
{
m_pSerialPort->waitForReadyRead(100);
qbData.append(m_pSerialPort->readAll());
if (iCounter > 6)
{
qDebug() << "Err:RecvData_ShortLag Failed,Incomplete Data.Exit Code:3" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
iCounter++;
}
if (qbData.size() > iLength)
{
qbData.remove(iLength - 1, qbData.size() - iLength);
}
int iCheckSumLength = iLength - 3;
ZZ_U16 usCheckSum = 0;
for (int i = 0; i < iCheckSumLength; i++)
{
usCheckSum += qbData[i + 2];
}
usCheckSum = usCheckSum % 256;
ZZ_U8 ucTemp = qbData[qbData.size() - 1];
if ((ZZ_U8)usCheckSum != ucTemp)
{
qDebug() << "Err:RecvData_ShortLag Failed,Incorrect Check Sum.Exit Code:4" << "Total Recv:" << qbData.size() << "Check Sum:" << usCheckSum << "Not Equal To" << ucTemp;
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
//qbData.clear();
//return 4;
return 0;
}
return 0;
@ -339,7 +518,8 @@ int ZZ_ATPControl_Serial_Qt::ParseData(QByteArray &qbData)
{
if (qbData.size() < 6)
{
qDebug() << "Err:ParseData Failed,Not Enough Data.Exit Code:1" << qbData.size();
qDebug() << "Err:ParseData Failed,Not Enough Data.Exit Code:1" << qbData.size();
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
qbData.remove(0, 5);
@ -372,10 +552,11 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
double fLastExposureTime = 0.1;
int iRepeatCount = 0;
int iRes = SetExposureTime(2000);//need change to load from files
int iRes = SetExposureTime(m_daDeviceAttr.iMinIntegrationTimeInMS);//need change to load from files
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
@ -387,16 +568,21 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
{
bFlagIsAutoExposureFailed = true;
bFlagIsOverTrying = true;
qDebug() << "over 30 Times" << endl;
break;
}
fExposureTime = (float)m_daDeviceAttr.iMinIntegrationTimeInMS;
//fExposureTime = (float)m_daDeviceAttr.iMinIntegrationTimeInMS;
int fTemp;
GetExposureTime(fTemp);
fExposureTime = fTemp;
fTempExposureTime = fExposureTime;
iRes = SingleShot(dfTemp);
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
@ -452,11 +638,13 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
dFactor = dTemp / (iDeviceDepth * fMaxScaleFactor);
fExposureTime = (float)(fExposureTime / dFactor);
}
if (/*fExposureTime > 100 || */fExposureTime < 10)
if (fExposureTime < m_daDeviceAttr.iMinIntegrationTimeInMS)
{
bFlagIsAutoExposureOK = false;
bFlagIsAutoExposureFailed = true;
bFlagIsLowerMinExposureTime = true;
qDebug() << "lower than minimum" << endl;
}
}
bIsLastValueOverflow = bIsValueOverflow;
@ -471,6 +659,7 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
bFlagIsOverMaxExposureTime = true;
@ -481,6 +670,7 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
if (iRes != 0)
{
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:4";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
}
@ -498,20 +688,44 @@ int ZZ_ATPControl_Serial_Qt::PerformAutoExposure(float fMinScaleFactor, float fM
int ZZ_ATPControl_Serial_Qt::SetExposureTime(int iExposureTimeInMS)
{
QByteArray qbExposureTime,qbRecv;
qbExposureTime.append(SET_INTEGRATION_TIME);
m_iExposureTime = iExposureTimeInMS;
QByteArray qbExposureTime, qbRecv;
//qbExposureTime.append(SET_INTEGRATION_TIME);
qbExposureTime.resize(3);
qbExposureTime[0] = SET_INTEGRATION_TIME;
qbExposureTime[1] = iExposureTimeInMS >> 8;
qbExposureTime[2] = iExposureTimeInMS & 0xFF;
SendCommand(qbExposureTime);
RecvData(qbRecv);
ParseData(qbRecv);
int iRes = SendCommand(qbExposureTime);
if (iRes != 0)
{
qDebug() << "Err:SetExposureTime Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SetExposureTime Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SetExposureTime Failed.Exit Code:4";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 4;
}
if ((ZZ_U8)qbRecv[0] != 0)
{
qDebug() << "Err:SetExposureTime Failed.Exit Code:1" ;
return 1;
qDebug() << "Err:SetExposureTime Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
/*m_pSerialPort->waitForReadyRead(5000);
m_pSerialPort->clear();*/
//return 1;
}
return 0;
@ -519,16 +733,34 @@ int ZZ_ATPControl_Serial_Qt::SetExposureTime(int iExposureTimeInMS)
int ZZ_ATPControl_Serial_Qt::GetExposureTime(int &iExposureTimeInMS)
{
QByteArray qbSend, qbRecv;
qbSend.clear();
qbRecv.clear();
qbSend.append(GET_INTEGRATION_TIME);
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
SendCommand(qbSend);
RecvData(qbRecv);
ParseData(qbRecv);
// QByteArray qbSend, qbRecv;
// qbSend.clear();
// qbRecv.clear();
// qbSend.append(GET_INTEGRATION_TIME);
// qbSend.resize(3);
// qbSend[1] = 0x00;
// qbSend[2] = 0x01;
// int iRes = SendCommand(qbSend);
// if (iRes != 0)
// {
// qDebug() << "Err:GetExposureTime Failed.Exit Code:1";
// return 1;
// }
// iRes = RecvData(qbRecv);
// if (iRes != 0)
// {
// qDebug() << "Err:GetExposureTime Failed.Exit Code:2";
// return 2;
// }
// iRes = ParseData(qbRecv);
// if (iRes != 0)
// {
// qDebug() << "Err:GetExposureTime Failed.Exit Code:3";
// return 3;
// }
//
// iExposureTimeInMS = (ZZ_U8)qbRecv[1] + (ZZ_U8)qbRecv[0] * 256;
iExposureTimeInMS = m_iExposureTime;
return 0;
}
@ -540,17 +772,38 @@ int ZZ_ATPControl_Serial_Qt::SingleShot(DataFrame &dfData)
qbRecv.clear();
qbSend.append(SYNC_GET_DATA);
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
SendCommand(qbSend);
RecvData(qbRecv);
ParseData(qbRecv);
// qbSend[1] = 0x00;
// qbSend[2] = 0x01;
qbSend[1] = m_iExposureTime >> 8;;
qbSend[2] = m_iExposureTime & 0xFF;
int iRes = SendCommand(qbSend);
if (iRes != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
ZZ_U16 usData[4096] = {0};
ZZ_U16 usData[4096] = { 0 };
if ((ZZ_U8)qbRecv[0] != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
else
@ -558,12 +811,22 @@ int ZZ_ATPControl_Serial_Qt::SingleShot(DataFrame &dfData)
//int aaa = qbRecv.size();
int iDataSizeInPixel = (qbRecv.size() - 1) / 2;
memcpy(usData, qbRecv.data() + 1, iDataSizeInPixel * 2);
for (int i=0;i< iDataSizeInPixel;i++)
for (size_t i = 0; i < iDataSizeInPixel; i++)
{
dfData.lData[i] = usData[i];
dfData.lData[i] = qToBigEndian(usData[i]);
}
// for (int i = 0; i < iDataSizeInPixel; i++)
// {
// dfData.lData[i] = usData[i];
// }
}
dfData.usExposureTimeInMS = m_iExposureTime;
return 0;
}
@ -576,14 +839,33 @@ int ZZ_ATPControl_Serial_Qt::SingleShot(int &iPixels)
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
SendCommand(qbSend);
RecvData(qbRecv);
ParseData(qbRecv);
int iRes = SendCommand(qbSend);
if (iRes != 0)
{
qDebug() << "Err:SingleShotP Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SingleShotP Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
if ((ZZ_U8)qbRecv[0] != 0)
{
qDebug() << "Err:SingleShot Failed.Exit Code:1";
return 1;
qDebug() << "Err:SingleShotP Failed.Exit Code:4";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 4;
}
else
{
@ -602,6 +884,8 @@ int ZZ_ATPControl_Serial_Qt::SingleShot(int &iPixels)
int ZZ_ATPControl_Serial_Qt::GetDeviceTemperature(float &fTemperature)
{
fTemperature = 0;
QByteArray qbSend, qbRecv;
qbSend.clear();
qbRecv.clear();
@ -609,9 +893,31 @@ int ZZ_ATPControl_Serial_Qt::GetDeviceTemperature(float &fTemperature)
qbSend.resize(3);
qbSend[1] = 0x00;
qbSend[2] = 0x01;
SendCommand(qbSend);
RecvData(qbRecv);
ParseData(qbRecv);
int iRes = SendCommand(qbSend);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceTemperature Failed.Exit Code:1";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 1;
}
iRes = RecvData_ShortLag(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceTemperature Failed.Exit Code:2";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 2;
}
iRes = ParseData(qbRecv);
if (iRes != 0)
{
qDebug() << "Err:GetDeviceTemperature Failed.Exit Code:3";
qDebug() << "FS Init Port:" << qstrInitPortName << "FS Init Dev SN :" << qstrInitDeviceSN;
return 3;
}
QString qstrTemp = qbRecv.data();
fTemperature = qstrTemp.toFloat();
return 0;
}

View File

@ -62,12 +62,16 @@ public:
//<2F>Զ<EFBFBD><D4B6>ع<EFBFBD>
int PerformAutoExposure(float fMinScaleFactor, float fMaxScaleFactor, float &fPredictedExposureTime);
private:
int SetAvgTimes(int iTimes = 1);
#ifdef _DEBUG
public:
#else //
private:
#endif
//init
QString qstrInitPortName,qstrInitDeviceSN;
//port
int m_iBaudRate;
QSerialPort *m_pSerialPort;
@ -76,11 +80,15 @@ private:
DeviceInfo m_diDeviceInfo;
DeviceAttribute m_daDeviceAttr;
//Attr
int m_iExposureTime;
//////////////////////////////////////////////////////////////////////////shutter control stub code s
//int SetExtShutter(int iShutterUP0, int iShutterDOWN1,int iShutterDOWN2,int iShutterDOWN3); //0:close 1:open
//////////////////////////////////////////////////////////////////////////shutter control stub code e
int GetExposureTime_Init();
int SendCommand(QByteArray qbCommand);
int RecvData(QByteArray &qbData);
int RecvData_ShortLag(QByteArray &qbData);
int ParseData(QByteArray &qbData);
public slots:
int Init_Self();

View File

@ -37,9 +37,16 @@ void DataFileProcessor::SetData(std::vector<std::vector<DataFrame>> vecData)
bool DataFileProcessor::WriteDataFile()
{
//qDebug() << "start Thread Data Server GenerateFilePath";
GenerateFilePath();
//qDebug() << "start Thread Data Server WriteEnvironmentInfo";
WriteEnvironmentInfo();
//qDebug() << "start Thread Data Server WriteDeviceInfo";
WriteDeviceInfo();
//qDebug() << "start Thread Data Server WriteData";
WriteData();
return 1;
}
@ -63,7 +70,7 @@ void DataFileProcessor::GenerateFilePath()
QDir qdirPath(qstrTemp);
if (!qdirPath.exists())
{
bool bRes = qdirPath.mkdir(qstrTemp);
bool bRes = qdirPath.mkpath(qstrTemp);//20220812 mkdir change to mkpath
if (!bRes)
{
qDebug() << "DataFileProcessor mkdir Failed.";
@ -231,7 +238,7 @@ bool DataFileProcessor::WriteData()
qstrTemp = QString("_P%1").arg(j + 1);
qfData.write(qstrTemp.toLatin1());
qfData.write(",");
if ((m_vecData[i][j].fTemperature < 5) && (m_vecData[i][j].fTemperature> -5))
if ((m_vecData[i][j].fTemperature < 5) /*&& (m_vecData[i][j].fTemperature> -5)*/)
{
qfData.write("valid");
}

View File

@ -465,7 +465,7 @@ int OceanOptics_lib::GetDeviceAttribute(DeviceAttribute &Attr)
long minimum_time;
minimum_time = seabreeze_get_min_integration_time_microsec(m_iSpectralmeterHandle, &error);
Attr.iMinIntegrationTimeInMS = minimum_time;
Attr.iMinIntegrationTimeInMS = (int)((double)minimum_time / (double)1000);
Attr.iMaxIntegrationTimeInMS = 60000;
if (spec_length > 0) {

View File

@ -12,8 +12,8 @@ namespace ZZ_MISCDEF
{
typedef unsigned char ZZ_U8;
typedef unsigned short int ZZ_U16;
typedef unsigned long int ZZ_U32;
typedef long int ZZ_S32;
typedef unsigned int ZZ_U32;
typedef long int ZZ_S32;
namespace IRIS
@ -23,8 +23,8 @@ namespace ZZ_MISCDEF
{
typedef struct tagDataFrame
{
ZZ_U32 usExposureTimeInMS;
ZZ_S32 lData[4096];
ZZ_U32 usExposureTimeInMS = 0;
ZZ_S32 lData[4096] = {0};
float fTemperature = 0;
double dTimes = 0;
}DataFrame;
@ -200,11 +200,21 @@ namespace ZZ_MISCDEF
float fWavelength[MAX_DEVICENUMBER_FS][4096];
}FSContext;
typedef struct tagDualShutterStatus
{
std::string strChannelA;
std::string strChannelB;
int iChannelA = 0;
int iChannelB = 0;
}DSStatus;
typedef struct tagLinearShutterContext
{
std::string strInterface;
ZZ_U8 ucProtocolType;
ZZ_U8 ucCmdID;
ZZ_U16 usCmdID;
}LSContext;
typedef struct tagAcquisitionTimeSettings

View File

@ -222,7 +222,7 @@ bool CVSMD12XControl::InitController()
bool CVSMD12XControl::GetStatus(MSInfo &stuMotorParam)
{
std::string strCMD = "cts\n";
std::string strCMD = "sts\n";
if (m_iProtocolType)
{
@ -1432,7 +1432,7 @@ bool CVSMD12XControl::IsMotionFinished()
QThread::msleep(200);
//Delay_MSec(200);
GetStatus(m_stuMSInfo);
ZZ_U8 ucFlag = m_stuMSInfo.uiFlags & 0x000000FF;
ZZ_U8 ucFlag = m_stuMSInfo.uiFlags & 0x00FFFFFF;
ucFlag = ucFlag & 0x10;
if (m_stuMSInfo.fVelocity == 0)
{
@ -1445,15 +1445,21 @@ bool CVSMD12XControl::IsMotionFinished()
}
if (iCountStopped>=50)
{
QString str = QString("%1").arg(m_stuMSInfo.uiFlags, 30, 2, QChar('0'));
qDebug() <<"Warning.Motion Err,should be stopped already.checking register and retry...";
qDebug() <<"motion status:"<<ucFlag<<"all status:"<<QString::number(m_stuMSInfo.uiFlags,2);
qDebug() << "velocity:" << m_stuMSInfo.fVelocity;
qDebug() << "position:" << m_stuMSInfo.iPosition;
qDebug() << "motion status:" << ucFlag << "all status:" << str;
bFlagIsStopped = true;
return false;
}
if (iCountTotal>1000)
{
qDebug() << "Err.Motor Hardware Err,should be stopped already";
qDebug() << "motion status:" << ucFlag << "all status:" << QString::number(m_stuMSInfo.uiFlags, 2);
QString str = QString("%1").arg(m_stuMSInfo.uiFlags, 30, 2, QChar('0'));
qDebug() << "Warning.Motion Err,should be stopped already.checking register and retry...";
qDebug() << "velocity:" << m_stuMSInfo.fVelocity;
qDebug() << "position:" << m_stuMSInfo.iPosition;
qDebug() << "motion status:" << ucFlag << "all status:" << str;
bFlagIsStopped = true;
return false;
}

View File

@ -0,0 +1,21 @@
#include "VSMD12XMovementTest.h"
MovementTest::MovementTest()
{
}
MovementTest::~MovementTest()
{
}
void MovementTest::TestAsLinearShutter()
{
PortInfo piTemp;
piTemp.qstrFullPortName = QString::fromStdString("");
m_ctrlLS.ILMES_InitializeComm(piTemp, 1, 1);
ControllerParams cpTemp;
bool res = m_ctrlLS.ILMES_InitializeParams(cpTemp);
//m_ctrlLS.ILMES_SetPosition(m_struAcqPosSetting.iPosition, m_struAcqPosSetting.iTotalPosition);
}

View File

@ -0,0 +1,11 @@
#include "VSMD12XControl.h"
class MovementTest
{
public:
MovementTest();
~MovementTest();
private:
CVSMD12XControl m_ctrlLS;
public:
void TestAsLinearShutter();
};

View File

@ -73,7 +73,7 @@ void CZZ_SeiralPort_QT::Close()
std::string CZZ_SeiralPort_QT::ReadAll()
{
m_pSerialPort->waitForReadyRead();
m_pSerialPort->waitForReadyRead(5000);
qbaRecv.clear();
qbaRecv = m_pSerialPort->readAll();
std::string strRet(qbaRecv.constData(), qbaRecv.length());

View File

@ -78,7 +78,7 @@
}
m_struLSContext.ucCmdID = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/DCID")).toInt();
m_struLSContext.usCmdID = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/DCID")).toInt();
m_struLSContext.ucProtocolType = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Type")).toInt();
m_struLSContext.strInterface = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Port")).toString().toStdString();
@ -193,7 +193,21 @@
return 1;
}
#else
m_struAcqTime.qtInterval = QTime::fromString(m_qjoJObj.value("IntervalTime").toString(), "mm");
QString qstrTemp;
int iTemp = m_qjoJObj.value("IntervalTime").toInt();
if (iTemp < 10)
{
qstrTemp = m_qjoJObj.value("IntervalTime").toString();
if (qstrTemp.size() == 1)
{
qstrTemp = "0" + qstrTemp;
}
m_struAcqTime.qtInterval = QTime::fromString(qstrTemp, "mm");
}
else
{
m_struAcqTime.qtInterval = QTime::fromString(m_qjoJObj.value("IntervalTime").toString(), "mm");
}
if (!m_struAcqTime.qtInterval.isValid())
{
qDebug() << "Invalid IntervalTime";
@ -227,6 +241,7 @@
m_struMEC.qstrPhoneNumberOfMaintenanceStaff = m_qjoJObj.value("PhoneNumberOfMaintenanceStaff").toString();
m_struMEC.qstrDownloadUserID = m_qjoJObj.value("DownloadUserID").toString();
m_struMEC.qstrDownlaodAddress = m_qjoJObj.value("DownlaodAddress").toString();
m_struMEC.qstrHTTPServer = m_qjoJObj.value("HTTPServer").toString();

View File

@ -51,13 +51,13 @@ int ZZ_HttpTransfer::SendData()
qstrSend += /*"ExpTime:" +*/ QString("%1").arg(m_vecCalcedData[i][j].usExposureTimeInMS) + "##";
qstrSend += /*"Bands:" +*/ QString("%1").arg(m_vecCalcedData[i][j].iPixels) + "##";
qstrSend += /*"temp:" +*/ QString("%1").arg(m_vecCalcedData[i][j].fTemperature) + "##";
//send
qbSend.clear();
qbSend.append(qstrSend.toLatin1());
qbSend.append((char*)m_vecCalcedData[i][j].fData, sizeof(float)*m_vecCalcedData[i][j].iPixels);
m_pNetworkManagerThread->post(qnRequest, qbSend);
qDebug() << "Network Sending: Data";
m_iFlagIsReplied = 0;
int iCount = 0;
while (!m_iFlagIsReplied)
@ -68,6 +68,7 @@ int ZZ_HttpTransfer::SendData()
{
m_iFlagIsReplied = 1;
qDebug() << "Reply Timeout:Upload Data ";
qDebug() << "UpLoadAddr:" << qstrURL;
}
}
}
@ -100,7 +101,7 @@ int ZZ_HttpTransfer::SendInfo()
m_iFlagIsReplied = false;
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
{
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
qstrSend += "DEV_SN:" + QString("%1").arg(m_struEC.qstrDEV_SN) + "####";
qstrSend += "FS_SN:" + QString::fromLocal8Bit(m_struGrabberRTParams.fscParams.strSN[i].c_str()) + "####";
qstrSend += "GPS_Longtitude:" + QString("%1").arg(m_struEC.qstrGPS_Longtitude) + "####";
@ -113,6 +114,9 @@ int ZZ_HttpTransfer::SendInfo()
qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####";
qstrSend += "Positions:" + QString("%1").arg(m_struGrabberRTParams.apsParams.iTotalPosition-1) + "####";
qstrSend += "WaveLength:";
qDebug() << m_struEC.qstrDEV_SN;
for (int j=0;j< m_struGrabberRTParams.fscParams.usPixels[i];j++)
{
qstrWaveLength = QString("%1").arg(m_struGrabberRTParams.fscParams.fWavelength[i][j]);
@ -129,6 +133,7 @@ int ZZ_HttpTransfer::SendInfo()
qbSend = qstrSend.toLatin1();
m_pNetworkManager->post(qnRequest, qbSend);
qDebug() << "Network Sending:Dev Info ";
m_iFlagIsReplied = 0;
int iCount = 0;
while (!m_iFlagIsReplied)
@ -139,6 +144,7 @@ int ZZ_HttpTransfer::SendInfo()
{
m_iFlagIsReplied = 1;
qDebug() << "Reply Timeout:Upload Info ";
qDebug() << "UpLoadAddr:" << qstrURL;
}
}
}
@ -199,6 +205,7 @@ int ZZ_HttpTransfer::SendErr()
qbSend = qstrSend.toLatin1();
m_pNetworkManager->post(qnRequest, qbSend);
qDebug() << "Network Sending:Warning Info ";
m_iFlagIsReplied = 0;
int iCount = 0;
while (!m_iFlagIsReplied)
@ -209,6 +216,7 @@ int ZZ_HttpTransfer::SendErr()
{
m_iFlagIsReplied = 1;
qDebug() << "Reply Timeout:Upload Info ";
qDebug() << "UpLoadAddr:" << qstrURL;
}
}
return 0;
@ -248,12 +256,17 @@ void ZZ_HttpTransfer::Delay_MSec(ZZ_U16 usMS)
int ZZ_HttpTransfer::SlotReplyFinished(QNetworkReply* qnReply)
{
QString qstrURL = qnReply->url().toString();
QByteArray qbData = qnReply->readAll();
QString qstrURL = qnReply->url().toString();
QByteArray qbData = qnReply->readAll();
if (qnReply->error()== QNetworkReply::NoError)
{
qDebug() << "Reply NoError:" << "Server:" << qstrURL;
m_iFlagIsReplied = 1;
}
else
{
qDebug() << "Reply Error:" << qnReply->error() << "Server:" << qstrURL;
}
qnReply->abort();
qnReply->close();
qnReply->deleteLater();
@ -269,8 +282,13 @@ int ZZ_HttpTransfer::SlotReplyFinishedThread(QNetworkReply* qnReply)
QByteArray qbData = qnReply->readAll();
if (qnReply->error() == QNetworkReply::NoError)
{
qDebug() << "Reply NoError:" << "Server:"<<qstrURL;
m_iFlagIsReplied = 1;
}
else
{
qDebug() << "Reply Error:" << qnReply->error()<< "Server:"<<qstrURL;
}
qnReply->abort();
qnReply->close();
qnReply->deleteLater();

View File

@ -52,7 +52,6 @@ void CMainDataUploader::Calibration()
{
int iScanPoints = m_struGrabberRTParams.apsParams.iTotalPosition - 1;
int iDevices = m_struGrabberRTParams.fscParams.ucDeviceNumber;
m_vecCalcedData.clear();
m_vecCalcedData.resize(iDevices);
for (int i=0;i< iDevices;i++)
@ -72,6 +71,7 @@ void CMainDataUploader::Calibration()
{
m_vecCalcedData[j][i].fData[k] = (float)(m_vecData[j][i].lData[k]* m_vecCalData[j][i].dCal_Gain[k]* m_vecCalData[j][i].uiExposureTimeInMS/m_vecData[j][i].usExposureTimeInMS);
}
}
}
}

View File

@ -17,6 +17,8 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
/////param
int iScanPoints = struGrabberRTParams.apsParams.iTotalPosition - 1;
int iDevices = struGrabberRTParams.fscParams.ucDeviceNumber;
//int iScanPoints = 4;
//int iDevices = 1;
/////check dir
QDir qdirPath(m_qstrCalFilePath);
if (!qdirPath.exists())
@ -29,7 +31,7 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
qslFilter << "*.dat";
qdirPath.setNameFilters(qslFilter);
QFileInfoList qfiInfo = qdirPath.entryInfoList(qslFilter);
if (qfiInfo.size()!= iScanPoints * iDevices)
if (qfiInfo.size()<iScanPoints * iDevices)
{
qDebug() << "Calibration Files quantities not match";
return -2;
@ -56,11 +58,6 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
qfCalFile.read((char*)OneFile.dCal_Gain, sizeof(double)*OneFile.iPixels);
qfCalFile.read((char*)OneFile.dCal_Offset, sizeof(double)*OneFile.iPixels);
/////check attribute
// if ()
// {
// }
vecOneDev.push_back(OneFile);
}
struAllCalFrame.push_back(vecOneDev);
@ -70,3 +67,9 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
return 0;
}
// int RadConverter::LoadQEProLinearParams(RunTimeGrabberParams struGrabberRTParams, vector<vector<double>>& vecQEPLP)
// {
// int iQEPDevices = 0;
// return 0;
// }

View File

@ -15,6 +15,7 @@ public:
public:
public:
int LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams, vector<vector<CalFrame>> &struAllCalFrame);
//int LoadQEProLinearParams(RunTimeGrabberParams struGrabberRTParams, vector<vector<double>>& vecQEPLP);
private:
QString m_qstrCalFilePath;
private:

View File

@ -10,6 +10,7 @@
#include <QDir>
#include <QObject>
#include <QMetaType>
#include <QtEndian>
////////////////////////////Thread
#include <QThread>
#include <QMutex>