Browse Source

update

master
zhaohe 1 year ago
parent
commit
6f3e46f8e2
  1. 10
      include/ixsync.hpp
  2. 4
      include/xsync_v2.hpp
  3. 20
      src/xsync_v2.cpp

10
include/ixsync.hpp

@ -25,6 +25,12 @@ typedef struct {
bool placeholder;
} xsync_config_t;
typedef struct {
uint32_t main;
uint32_t sub;
uint32_t fix;
} version_t;
class IXsync {
public:
virtual ~IXsync() {}
@ -76,6 +82,10 @@ class IXsync {
virtual xs_error_code_t readMac(string &mac) = 0;
virtual xs_error_code_t storageConfig() = 0;
virtual xs_error_code_t readSDKVersion(version_t &version) = 0;
virtual xs_error_code_t readARMSoftwareVersion(version_t &version) = 0;
virtual xs_error_code_t readFPGASoftwareVersion(version_t &version) = 0;
// virtual xs_error_code_t changeNetworkConfig(string ip, string mask, string gateway) = 0;
public:

4
include/xsync_v2.hpp

@ -9,12 +9,14 @@
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include <thread>
#include <vector>
//
#include "i_xsync_udp.hpp"
#include "ixsync.hpp"
#define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0)
#define PC_VERSION VERSION(3, 1, 0)
namespace xsync {
using namespace std;

20
src/xsync_v2.cpp

@ -268,6 +268,26 @@ class Xsync : public IXsync {
return kxs_ec_success;
}
virtual xs_error_code_t readSDKVersion(version_t &version) {
version.main = PC_VERSION >> 16;
version.sub = (PC_VERSION >> 8) & 0xff;
version.fix = PC_VERSION & 0xff;
}
virtual xs_error_code_t readARMSoftwareVersion(version_t &version) {
uint32_t version_u32;
DO_XSYNC(reg_read(reg::ksoftware_version, version_u32, 10));
version.main = version_u32 >> 16;
version.sub = (version_u32 >> 8) & 0xff;
version.fix = version_u32 & 0xff;
}
virtual xs_error_code_t readFPGASoftwareVersion(version_t &version) {
uint32_t version_u32;
DO_XSYNC(reg_read(reg::kfpga_info_reg0, version_u32, 10));
version.main = version_u32 >> 16;
version.sub = (version_u32 >> 8) & 0xff;
version.fix = version_u32 & 0xff;
}
virtual void registerOnTimecodeMsgCallback(xsync_on_timecode_msg_t cb) override { m_on_timecode_msg_cb = cb; }
virtual void registerOnCameraSyncMsgCallback(xsync_on_camera_sync_msg_t cb) override { m_on_camera_sync_msg_cb = cb; }
virtual void registerOnRecordSigChangeMsgCallback(xsync_on_record_sig_change_msg_t cb) override { m_on_record_sig_change_msg_cb = cb; }

Loading…
Cancel
Save