You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#include <fstream>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <mutex>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include "xsync_errcode.hpp"
#include "xsync_v2_sig_type.hpp"
namespace xsync { using namespace std;
typedef function<void(XsyncTimecode_t *timecode_msg)> xsync_on_timecode_msg_t; typedef function<void(uint32_t recordSig, XsyncTimecode_t *timecode_msg)> xsync_on_record_sig_change_msg_t; typedef function<void(xysnc_camera_sync_data_t *timecode_msg)> xsync_on_camera_sync_msg_t;
class IXsync { public: virtual ~IXsync() {}
public: /***********************************************************************************************
* 设备基本操作 * ***********************************************************************************************/
virtual xs_error_code_t changeXsyncIp(string xsync_ip) = 0; virtual bool ping() = 0;
virtual void registerOnTimecodeMsgCallback(xsync_on_timecode_msg_t cb) = 0; virtual void registerOnCameraSyncMsgCallback(xsync_on_camera_sync_msg_t cb) = 0; virtual void registerOnRecordSigChangeMsgCallback(xsync_on_record_sig_change_msg_t cb) = 0;
virtual xs_error_code_t generatorNewMac() = 0; virtual xs_error_code_t factoryReset() = 0; virtual xs_error_code_t reboot() = 0; virtual xs_error_code_t changeNetworkConfig(string ip, string mask, string gateway) = 0; virtual xs_error_code_t readSn(string &sn) = 0; virtual xs_error_code_t readMac(string &mac) = 0;
public: virtual xs_error_code_t reg_write(uint32_t regadd, uint32_t regvalue, uint32_t ®backvalue, int32_t overtime_ms = 100) = 0; virtual xs_error_code_t reg_read(uint32_t regadd, uint32_t ®value, int32_t overtime_ms = 100) = 0;
public: /***********************************************************************************************
* 输入组件 * ***********************************************************************************************/
virtual xs_error_code_t ExternalTimecode_setSource(InputInterface_t src) = 0; virtual xs_error_code_t ExternalTimecode_getSource(InputInterface_t &timecode_select) = 0; virtual xs_error_code_t ExternalTimecode_setFormat(TimecodeFormat_t format) = 0; virtual xs_error_code_t ExternalTimecode_getFormat(TimecodeFormat_t &format) = 0; virtual xs_error_code_t ExternalTimecode_readCode(XsyncTimecode_t &timecode) = 0;
virtual xs_error_code_t TTLInputModule1_detectFreq(uint32_t &freq) = 0; virtual xs_error_code_t TTLInputModule2_detectFreq(uint32_t &freq) = 0; virtual xs_error_code_t TTLInputModule3_detectFreq(uint32_t &freq) = 0; virtual xs_error_code_t TTLInputModule4_detectFreq(uint32_t &freq) = 0;
virtual xs_error_code_t ExternalGenlock_detectFreq(float &freq) = 0;
/***********************************************************************************************
* 内部组件 * ***********************************************************************************************/
virtual xs_error_code_t InternalTimecode_setFormat(TimecodeFormat_t format) = 0; virtual xs_error_code_t InternalTimecode_getFormat(TimecodeFormat_t &format) = 0; virtual xs_error_code_t InternalTimecode_setCode(XsyncTimecode_t timecode) = 0; virtual xs_error_code_t InternalTimecode_getCode(XsyncTimecode_t &timecode) = 0;
virtual xs_error_code_t InternalGenlock_setFormat(GenlockFormat_t format) = 0; virtual xs_error_code_t InternalGenlock_getFormat(GenlockFormat_t &format) = 0;
virtual xs_error_code_t InternalClock_setFreq(float freq) = 0; virtual xs_error_code_t InternalClock_getFreq(float &freq) = 0;
virtual xs_error_code_t SysTimecode_setSource(uint32_t sig) = 0; virtual xs_error_code_t SysTimecode_getSource(uint32_t &sig) = 0; virtual xs_error_code_t SysTimecode_readFormat(TimecodeFormat_t &format) = 0; virtual xs_error_code_t SysTimecode_readCode(XsyncTimecode_t &timecode) = 0;
virtual xs_error_code_t SysGenlock_setSrc(uint32_t source) = 0; virtual xs_error_code_t SysGenlock_getSrc(uint32_t &source) = 0; virtual xs_error_code_t SysGenlock_readFreq(float &freq) = 0;
virtual xs_error_code_t SysClock_setSrc(SignalType_t sig) = 0; virtual xs_error_code_t SysClock_getSrc(SignalType_t &sig) = 0; virtual xs_error_code_t SysClock_setTriggerEdge(TriggerEdge_t edge) = 0; virtual xs_error_code_t SysClock_getTriggerEdge(TriggerEdge_t &edge) = 0; virtual xs_error_code_t SysClock_setFreqDivision(uint32_t div) = 0; virtual xs_error_code_t SysClock_geFreqtDivision(uint32_t &div) = 0; virtual xs_error_code_t SysClock_setFreqMultiplication(uint32_t muti) = 0; virtual xs_error_code_t SysClock_getFreqMultiplication(uint32_t &muti) = 0; virtual xs_error_code_t SysClock_readOutSigFreq(float &freq) = 0; virtual xs_error_code_t SysClock_readInSigFreq(float &freq) = 0;
virtual xs_error_code_t RecordSigGenerator_setContrlMode(ControlMode_t mode) = 0; virtual xs_error_code_t RecordSigGenerator_getContrlMode(ControlMode_t &mode) = 0; virtual xs_error_code_t RecordSigGenerator_manualStart() = 0; virtual xs_error_code_t RecordSigGenerator_manualStop() = 0; virtual xs_error_code_t RecordSigGenerator_setAutoStartTimecode(XsyncTimecode_t timecode) = 0; virtual xs_error_code_t RecordSigGenerator_setAutoStopTimecode(XsyncTimecode_t timecode) = 0; virtual xs_error_code_t RecordSigGenerator_getAutoStartTimecode(XsyncTimecode_t &timecode) = 0; virtual xs_error_code_t RecordSigGenerator_getAutoStopTimecode(XsyncTimecode_t &timecode) = 0; virtual xs_error_code_t RecordSigGenerator_setTimecodeCtrlFlag(uint32_t autoStart, uint32_t autoStop) = 0; virtual xs_error_code_t RecordSigGenerator_getTimecodeCtrlFlag(uint32_t &autoStart, uint32_t &autoStop) = 0; virtual xs_error_code_t RecordSigGenerator_setExternalTTLTriggerSrc(InputInterface_t ttlPortNum) = 0; virtual xs_error_code_t RecordSigGenerator_getExternalTTLTriggerSrc(InputInterface_t &ttlPortNum) = 0; virtual xs_error_code_t RecordSigGenerator_setExternalTTLTriggerPolarity(uint32_t polarity) = 0; virtual xs_error_code_t RecordSigGenerator_getExternalTTLTriggerPolarity(uint32_t &polarity) = 0; virtual xs_error_code_t RecordSigGenerator_setRecordExposureTime(uint32_t us) = 0; virtual xs_error_code_t RecordSigGenerator_getRecordExposureTime(uint32_t &us) = 0; virtual xs_error_code_t RecordSigGenerator_setRecordExposureOffsetTime(uint32_t us) = 0; virtual xs_error_code_t RecordSigGenerator_getRecordExposureOffsetTime(uint32_t &us) = 0; virtual xs_error_code_t RecordSigGenerator_getRecordState(uint32_t &state) = 0; virtual xs_error_code_t RecordSigGenerator_readTimecodeSnapshot(XsyncTimecode_t &timecode) = 0;
/***********************************************************************************************
* 输出组件 * ***********************************************************************************************/
virtual xs_error_code_t TimecodeOutputModule_setBncOutputLevel(int level) = 0; virtual xs_error_code_t TimecodeOutputModule_getBncOutputLevel(int &level) = 0; virtual xs_error_code_t TimecodeOutputModule_setHeadphoneOutputLevel(int level) = 0; virtual xs_error_code_t TimecodeOutputModule_getHeadphoneOutputLevel(int &level) = 0;
virtual xs_error_code_t TTLOutputModule1_setSrcSigType(SignalType_t source) = 0; virtual xs_error_code_t TTLOutputModule1_getSrcSigType(SignalType_t &source) = 0; virtual xs_error_code_t TTLOutputModule1_setFreqDivision(uint32_t div) = 0; virtual xs_error_code_t TTLOutputModule1_getFreqDivision(uint32_t &div) = 0; virtual xs_error_code_t TTLOutputModule1_setFreqMultiplication(uint32_t multi) = 0; virtual xs_error_code_t TTLOutputModule1_getFreqMultiplication(uint32_t &multi) = 0; virtual xs_error_code_t TTLOutputModule1_readInFreq(float &freq) = 0; virtual xs_error_code_t TTLOutputModule1_readOutFreq(float &freq) = 0;
virtual xs_error_code_t TTLOutputModule2_setSrcSigType(SignalType_t source) = 0; virtual xs_error_code_t TTLOutputModule2_getSrcSigType(SignalType_t &source) = 0; virtual xs_error_code_t TTLOutputModule2_setFreqDivision(uint32_t div) = 0; virtual xs_error_code_t TTLOutputModule2_getFreqDivision(uint32_t &div) = 0; virtual xs_error_code_t TTLOutputModule2_setFreqMultiplication(uint32_t multi) = 0; virtual xs_error_code_t TTLOutputModule2_getFreqMultiplication(uint32_t &multi) = 0; virtual xs_error_code_t TTLOutputModule2_readInFreq(float &freq) = 0; virtual xs_error_code_t TTLOutputModule2_readOutFreq(float &freq) = 0;
virtual xs_error_code_t TTLOutputModule3_setSrcSigType(SignalType_t source) = 0; virtual xs_error_code_t TTLOutputModule3_getSrcSigType(SignalType_t &source) = 0; virtual xs_error_code_t TTLOutputModule3_setFreqDivision(uint32_t div) = 0; virtual xs_error_code_t TTLOutputModule3_getFreqDivision(uint32_t &div) = 0; virtual xs_error_code_t TTLOutputModule3_setFreqMultiplication(uint32_t multi) = 0; virtual xs_error_code_t TTLOutputModule3_getFreqMultiplication(uint32_t &multi) = 0; virtual xs_error_code_t TTLOutputModule3_readInFreq(float &freq) = 0; virtual xs_error_code_t TTLOutputModule3_readOutFreq(float &freq) = 0;
virtual xs_error_code_t TTLOutputModule4_setSrcSigType(SignalType_t source) = 0; virtual xs_error_code_t TTLOutputModule4_getSrcSigType(SignalType_t &source) = 0; virtual xs_error_code_t TTLOutputModule4_setFreqDivision(uint32_t div) = 0; virtual xs_error_code_t TTLOutputModule4_getFreqDivision(uint32_t &div) = 0; virtual xs_error_code_t TTLOutputModule4_setFreqMultiplication(uint32_t multi) = 0; virtual xs_error_code_t TTLOutputModule4_getFreqMultiplication(uint32_t &multi) = 0; virtual xs_error_code_t TTLOutputModule4_readInFreq(float &freq) = 0; virtual xs_error_code_t TTLOutputModule4_readOutFreq(float &freq) = 0; };
} // namespace xsync
|