NSUKit 1.4.0
板卡级统一交互接口
载入中...
搜索中...
未找到
hardware_sync.cpp
浏览该文件的文档.
1
2// Copyright (c) 2024. Naishu
3// NSUKit is licensed under Mulan PSL v2.
4// You can use this software according to the terms and conditions of the Mulan PSL v2.
5// You may obtain a copy of Mulan PSL v2 at:
6// http://license.coscl.org.cn/MulanPSL2
7// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9// MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10// See the Mulan PSL v2 for more details.
12
13//
14// Created by jilianyi<jilianyi@naishu.tech> on 2024/4/12.
15//
16
17#include <iostream>
18#include "NSUKit.h"
20
21
23
24
25int main(int argc, char *argv[]) {
26 if (argc < 3) {
27 std::cout << "不受支持的传参方法" << std::endl;
28 std::cout << argv[0] << " {master_IP} {slave1_IP} {slave2_IP} ..." << std::endl;
29 return -1;
30 }
31
32 SocType master{};
33 nsukit::BaseKit* slaves[argc-2];
34 nsuInitParam_t master_param;
35 nsuInitParam_t slaves_param[argc-2];
36
37 master_param.cmd_ip = argv[1];
38 auto res = master.link_cmd(&master_param);
39 for(int i=2;i<argc;i++) {
40 auto s_kit = new SocType;
41 slaves_param[i-2].cmd_ip = argv[i];
42 std::cout << slaves_param[i-2].cmd_ip << std::endl;
43 res |= s_kit->link_cmd(&(slaves_param[i-2]));
44 slaves[i-2] = s_kit;
45 }
46
48 std::cout << "建立连接:" << nsukit::status2_string(res) << std::endl;
49 }
50
51 char cmd_fmt[] = "hsync_s1\nhsync_s2\nhsync_s3\nhsync_s4\nhsync_s5\nhsync_s6";
52 res |= nsukit::hl_hsync_sync(&master, slaves, argc-2, cmd_fmt);
54 std::cout << "多板同步:" << nsukit::status2_string(res) << std::endl;
55 } else {
56 std::cout << "Hardware Synchronization Succeeded" << std::endl;
57 }
58
59 for(int i=2;i<argc;i++) {
60 delete slaves[i-2];
61 }
62
63 return 0;
64}
nsukit::NSUSoc< nsukit::TCPCmdUItf, nsukit::TCPCmdUItf, nsukit::SimStreamUItf > SocType
std::string NSU_DLLEXPORT status2_string(nsukitStatus_t status)
Definition: config.cpp:15
DLLEXTERN nsukitStatus_t NSU_DLLEXPORT hl_hsync_sync(nsukit::BaseKit *master, nsukit::BaseKit **slaves, int slave_num, char *cmd_str=nullptr)
std::string cmd_ip
Definition: type.h:98