11 changed files with 885 additions and 45 deletions
-
3.vscode/settings.json
-
2CMakeLists.txt
-
20README.md
-
73mainwindow.cpp
-
2mainwindow.h
-
200mainwindow.ui
-
314src/camera_light_src_timing_controller/clst_controler.cpp
-
86src/camera_light_src_timing_controller/clst_controler.hpp
-
57src/camera_light_src_timing_controller/clst_controler_sig_type.cpp
-
169src/camera_light_src_timing_controller/clst_controler_sig_type.hpp
-
2zaf_protocol
@ -1,17 +1,7 @@ |
|||||
``` |
``` |
||||
Timecode测试 |
|
||||
端口:19903 |
|
||||
协议:UDP |
|
||||
消息 :01 00 00 00 05 02 08 00 |
|
||||
解析结果:08:25:00:01 |
|
||||
|
|
||||
xync测试 |
|
||||
端口:13014 |
|
||||
协议:UDP |
|
||||
消息 : |
|
||||
F0 00 20 00 00 00 00 FF 00 00 F0 42 17 00 00 00 E1 FF FF FF 01 00 00 00 78 00 00 00 00 00 00 00 E6 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
TODO: |
||||
|
1. 显示FPGA版本号 |
||||
|
2. 显示STM32版本号 |
||||
|
3. 显示PC软件版本号 |
||||
|
4. 修改窗口名称 |
||||
``` |
``` |
@ -0,0 +1,57 @@ |
|||||
|
#include "clst_controler_sig_type.hpp"
|
||||
|
|
||||
|
using namespace iflytop; |
||||
|
using namespace clst; |
||||
|
|
||||
|
map<string, ExtTriggerSrcType::EnumType_t> ExtTriggerSrcType::emap = { |
||||
|
{"OPTOCOUPLER_INPUT", OPTOCOUPLER_INPUT}, //
|
||||
|
{"DIFF_INPUT", DIFF_INPUT}, //
|
||||
|
}; |
||||
|
|
||||
|
map<string, TriggerEdge::EnumType_t> TriggerEdge::emap = { |
||||
|
{"RISING", RISING}, //
|
||||
|
{"FALLING", FALLING}, //
|
||||
|
{"BOTH", BOTH} //
|
||||
|
}; |
||||
|
|
||||
|
map<string, SigProcessMode::EnumType_t> SigProcessMode::emap = { |
||||
|
{"TRIGGER_MODE", TRIGGER_MODE}, //
|
||||
|
{"TRANSPARENT_MODE", TRANSPARENT_MODE}, //
|
||||
|
{"BIND_MODE", BIND_MODE} //
|
||||
|
|
||||
|
}; |
||||
|
|
||||
|
map<string, InternalSig::EnumType_t> InternalSig::emap = { |
||||
|
{"LOGIC0", LOGIC0}, //
|
||||
|
{"LOGIC1", LOGIC1}, //
|
||||
|
|
||||
|
{"INTERNAL_TRIGGER", INTERNAL_TRIGGER}, //
|
||||
|
{"INTERNAL_TRIGGER_I1", INTERNAL_TRIGGER_I1}, //
|
||||
|
{"INTERNAL_TRIGGER_I2", INTERNAL_TRIGGER_I2}, //
|
||||
|
{"INTERNAL_TRIGGER_I3", INTERNAL_TRIGGER_I3}, //
|
||||
|
{"INTERNAL_TRIGGER_I4", INTERNAL_TRIGGER_I4}, //
|
||||
|
|
||||
|
{"EXT_TRIGGER_1", EXT_TRIGGER_1}, //
|
||||
|
{"EXT_TRIGGER_1_I1", EXT_TRIGGER_1_I1}, //
|
||||
|
{"EXT_TRIGGER_1_I2", EXT_TRIGGER_1_I2}, //
|
||||
|
{"EXT_TRIGGER_1_I3", EXT_TRIGGER_1_I3}, //
|
||||
|
{"EXT_TRIGGER_1_I4", EXT_TRIGGER_1_I4}, //
|
||||
|
|
||||
|
{"EXT_TRIGGER_2", EXT_TRIGGER_2}, //
|
||||
|
{"EXT_TRIGGER_2_I1", EXT_TRIGGER_2_I1}, //
|
||||
|
{"EXT_TRIGGER_2_I2", EXT_TRIGGER_2_I2}, //
|
||||
|
{"EXT_TRIGGER_2_I3", EXT_TRIGGER_2_I3}, //
|
||||
|
{"EXT_TRIGGER_2_I4", EXT_TRIGGER_2_I4}, //
|
||||
|
|
||||
|
{"EXT_TRIGGER_3", EXT_TRIGGER_3}, //
|
||||
|
{"EXT_TRIGGER_3_I1", EXT_TRIGGER_3_I1}, //
|
||||
|
{"EXT_TRIGGER_3_I2", EXT_TRIGGER_3_I2}, //
|
||||
|
{"EXT_TRIGGER_3_I3", EXT_TRIGGER_3_I3}, //
|
||||
|
{"EXT_TRIGGER_3_I4", EXT_TRIGGER_3_I4}, //
|
||||
|
|
||||
|
{"EXT_TRIGGER_4", EXT_TRIGGER_4}, //
|
||||
|
{"EXT_TRIGGER_4_I1", EXT_TRIGGER_4_I1}, //
|
||||
|
{"EXT_TRIGGER_4_I2", EXT_TRIGGER_4_I2}, //
|
||||
|
{"EXT_TRIGGER_4_I3", EXT_TRIGGER_4_I3}, //
|
||||
|
{"EXT_TRIGGER_4_I4", EXT_TRIGGER_4_I4}, //
|
||||
|
}; |
@ -0,0 +1,169 @@ |
|||||
|
#pragma once
|
||||
|
#include <fstream>
|
||||
|
#include <functional>
|
||||
|
#include <iostream>
|
||||
|
#include <list>
|
||||
|
#include <map>
|
||||
|
#include <memory>
|
||||
|
#include <mutex>
|
||||
|
#include <set>
|
||||
|
#include <sstream>
|
||||
|
#include <string>
|
||||
|
#include <thread>
|
||||
|
#include <vector>
|
||||
|
|
||||
|
#include "zaf_protocol/zaf_protocol.h"
|
||||
|
|
||||
|
namespace iflytop { |
||||
|
namespace clst { |
||||
|
using namespace std; |
||||
|
|
||||
|
class ExtTriggerSrcType { |
||||
|
public: |
||||
|
typedef enum { |
||||
|
OPTOCOUPLER_INPUT = 0, // 光耦输入
|
||||
|
DIFF_INPUT = 1, // 差分输入
|
||||
|
} EnumType_t; |
||||
|
|
||||
|
private: |
||||
|
static map<string, EnumType_t> emap; |
||||
|
|
||||
|
public: |
||||
|
EnumType_t val; |
||||
|
|
||||
|
ExtTriggerSrcType() { val = OPTOCOUPLER_INPUT; } |
||||
|
ExtTriggerSrcType(EnumType_t e) { val = e; } |
||||
|
ExtTriggerSrcType(uint32_t e) { val = (EnumType_t)e; } |
||||
|
ExtTriggerSrcType(string string) { emap.find(string) != emap.end() ? val = emap[string] : val = OPTOCOUPLER_INPUT; } |
||||
|
string toString() { return toString(val); } |
||||
|
string toString(EnumType_t ein) { |
||||
|
for (auto &item : emap) { |
||||
|
if (item.second == ein) return item.first; |
||||
|
} |
||||
|
return "unkown"; |
||||
|
} |
||||
|
uint32_t getVal() { return val; } |
||||
|
operator uint32_t() { return val; } |
||||
|
}; |
||||
|
|
||||
|
class TriggerEdge { |
||||
|
public: |
||||
|
typedef enum { |
||||
|
RISING = 0, // 上升沿触发
|
||||
|
FALLING = 1, // 下降沿触发
|
||||
|
BOTH = 2, // 上升沿和下降沿触发
|
||||
|
} EnumType_t; |
||||
|
|
||||
|
private: |
||||
|
static map<string, EnumType_t> emap; |
||||
|
|
||||
|
public: |
||||
|
EnumType_t val; |
||||
|
|
||||
|
TriggerEdge() { val = RISING; } |
||||
|
TriggerEdge(EnumType_t e) { val = e; } |
||||
|
TriggerEdge(uint32_t e) { val = (EnumType_t)e; } |
||||
|
TriggerEdge(string string) { emap.find(string) != emap.end() ? val = emap[string] : val = RISING; } |
||||
|
string toString() { return toString(val); } |
||||
|
string toString(EnumType_t ein) { |
||||
|
for (auto &item : emap) { |
||||
|
if (item.second == ein) return item.first; |
||||
|
} |
||||
|
return "unkown"; |
||||
|
} |
||||
|
uint32_t getVal() { return val; } |
||||
|
operator uint32_t() { return val; } |
||||
|
}; |
||||
|
|
||||
|
class SigProcessMode { |
||||
|
public: |
||||
|
typedef enum { |
||||
|
TRIGGER_MODE = 0, // 触发模式
|
||||
|
TRANSPARENT_MODE = 1, // 透传模式
|
||||
|
BIND_MODE = 2 // 绑定模式
|
||||
|
} EnumType_t; |
||||
|
|
||||
|
private: |
||||
|
static map<string, EnumType_t> emap; |
||||
|
|
||||
|
public: |
||||
|
EnumType_t val; |
||||
|
|
||||
|
SigProcessMode() { val = TRIGGER_MODE; } |
||||
|
SigProcessMode(EnumType_t e) { val = e; } |
||||
|
SigProcessMode(uint32_t e) { val = (EnumType_t)e; } |
||||
|
SigProcessMode(string string) { emap.find(string) != emap.end() ? val = emap[string] : val = TRIGGER_MODE; } |
||||
|
string toString() { return toString(val); } |
||||
|
string toString(EnumType_t ein) { |
||||
|
for (auto &item : emap) { |
||||
|
if (item.second == ein) return item.first; |
||||
|
} |
||||
|
return "unkown"; |
||||
|
} |
||||
|
uint32_t getVal() { return val; } |
||||
|
operator uint32_t() { return val; } |
||||
|
}; |
||||
|
|
||||
|
class InternalSig { |
||||
|
public: |
||||
|
typedef enum { |
||||
|
|
||||
|
LOGIC0 = 0, |
||||
|
LOGIC1 = 1, |
||||
|
|
||||
|
INTERNAL_TRIGGER = 2, |
||||
|
INTERNAL_TRIGGER_I1 = 3, |
||||
|
INTERNAL_TRIGGER_I2 = 4, |
||||
|
INTERNAL_TRIGGER_I3 = 5, |
||||
|
INTERNAL_TRIGGER_I4 = 6, |
||||
|
|
||||
|
EXT_TRIGGER_1 = 7, |
||||
|
EXT_TRIGGER_1_I1 = 8, |
||||
|
EXT_TRIGGER_1_I2 = 9, |
||||
|
EXT_TRIGGER_1_I3 = 10, |
||||
|
EXT_TRIGGER_1_I4 = 11, |
||||
|
|
||||
|
EXT_TRIGGER_2 = 12, |
||||
|
EXT_TRIGGER_2_I1 = 13, |
||||
|
EXT_TRIGGER_2_I2 = 14, |
||||
|
EXT_TRIGGER_2_I3 = 15, |
||||
|
EXT_TRIGGER_2_I4 = 16, |
||||
|
|
||||
|
EXT_TRIGGER_3 = 17, |
||||
|
EXT_TRIGGER_3_I1 = 18, |
||||
|
EXT_TRIGGER_3_I2 = 19, |
||||
|
EXT_TRIGGER_3_I3 = 20, |
||||
|
EXT_TRIGGER_3_I4 = 21, |
||||
|
|
||||
|
EXT_TRIGGER_4 = 22, |
||||
|
EXT_TRIGGER_4_I1 = 23, |
||||
|
EXT_TRIGGER_4_I2 = 24, |
||||
|
EXT_TRIGGER_4_I3 = 25, |
||||
|
EXT_TRIGGER_4_I4 = 26, |
||||
|
|
||||
|
} EnumType_t; |
||||
|
|
||||
|
private: |
||||
|
static map<string, EnumType_t> emap; |
||||
|
|
||||
|
public: |
||||
|
EnumType_t val; |
||||
|
|
||||
|
InternalSig() { val = LOGIC0; } |
||||
|
InternalSig(EnumType_t e) { val = e; } |
||||
|
InternalSig(uint32_t e) { val = (EnumType_t)e; } |
||||
|
InternalSig(string string) { emap.find(string) != emap.end() ? val = emap[string] : val = LOGIC0; } |
||||
|
string toString() { return toString(val); } |
||||
|
string toString(EnumType_t ein) { |
||||
|
for (auto &item : emap) { |
||||
|
if (item.second == ein) return item.first; |
||||
|
} |
||||
|
return "unkown"; |
||||
|
} |
||||
|
|
||||
|
uint32_t getVal() { return val; } |
||||
|
operator uint32_t() { return val; } |
||||
|
}; |
||||
|
|
||||
|
} // namespace clst
|
||||
|
} // namespace iflytop
|
@ -1 +1 @@ |
|||||
Subproject commit 19d549a123f6dcf6e1a47b012a64bf659740638d |
|
||||
|
Subproject commit d29b00371520aea2566aa09cba2384e3e937a908 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue