Skip to content

Commit

Permalink
Release/v1.2.1 (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
pzhu-flexiv authored Dec 9, 2024
1 parent 33485f9 commit 787883c
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 60 deletions.
63 changes: 8 additions & 55 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,64 +13,17 @@ env:

jobs:
build-ubuntu-22:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
# GitHub-hosted Ubuntu 22.04 runner
runs-on: ubuntu-22.04

# Use shared steps
steps:
- uses: actions/checkout@v2

- name: Build and install dependencies
# Build and install all dependencies to flexiv_tdk installation directory.
run: |
cd ${{github.workspace}}
cd thirdparty
bash build_and_install_dependencies.sh ~/tdk_install
- name: Build and install library
# Configure CMake, then build and install the flexiv_tdk INTERFACE library to TDK installation directory.
run: |
cd ${{github.workspace}}
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
make install
- name: Build examples
# Find and link to the flexiv_tdk INTERFACE library, then build all examples.
run: |
cd ${{github.workspace}}/example
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
make -j$(nproc)
- uses: actions/checkout@v3
- uses: ./.github/workflows/shared_steps

build-ubuntu-20:
# Use GitHub-hosted Ubuntu 20.04 runner
# GitHub-hosted Ubuntu 20.04 runner
runs-on: ubuntu-20.04

# Use shared steps
steps:
- uses: actions/checkout@v2

- name: Build and install dependencies
# Build and install all dependencies to TDK installation directory.
run: |
cd ${{github.workspace}}
cd thirdparty
bash build_and_install_dependencies.sh ~/tdk_install $(nproc)
- name: Build and install library
# Configure CMake, then build and install the flexiv_tdk INTERFACE library to TDK installation directory.
run: |
cd ${{github.workspace}}
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
make install
- name: Build examples
# Find and link to the flexiv_tdk INTERFACE library, then build all examples.
run: |
cd ${{github.workspace}}/example
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
make -j$(nproc)
- uses: actions/checkout@v3
- uses: ./.github/workflows/shared_steps
31 changes: 31 additions & 0 deletions .github/workflows/shared_steps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "Shared Build Steps"
runs:
using: "composite"
# Note: working directory will be reset to the repo root for each new step
steps:
# Build and install all dependencies to TDK installation directory.
- name: Build and install dependencies
shell: bash
run: |
pwd
cd thirdparty
bash build_and_install_dependencies.sh ~/tdk_install 4
# Configure CMake, then build and install flexiv_tdk library to TDK installation directory.
- name: Build and install library
shell: bash
run: |
pwd
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
cmake --build . --target install --config Release
# Find and link to flexiv_tdk library, then build all example programs.
- name: Build examples
shell: bash
run: |
pwd
cd example
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/tdk_install
cmake --build . --config Release -j 4
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.16.3)
# ===================================================================
# PROJECT SETUP
# ===================================================================
project(flexiv_tdk VERSION 1.2.0)
project(flexiv_tdk VERSION 1.2.1)

# Configure build type
if(NOT CMAKE_BUILD_TYPE)
Expand Down
2 changes: 1 addition & 1 deletion doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "Flexiv TDK APIs"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 1.2
PROJECT_NUMBER = 1.2.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
7 changes: 6 additions & 1 deletion include/flexiv/tdk/cartesian_teleop_lan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ class CartesianTeleopLAN
* in the vector represents a pair of bilaterally teleoperated robots. For example, provide 2
* pairs of robot serial numbers to start a dual-arm teleoperation that involves 2 pairs of
* robots. The accepted formats are: "Rizon 4s-123456" and "Rizon4s-123456".
* @param[in] network_interface_whitelist Limit the network interface(s) that can be used to try
* to establish connection with the specified robot. The whitelisted network interface is
* defined by its associated IPv4 address. For example, {"10.42.0.1", "192.168.2.102"}. If left
* empty, all available network interfaces will be tried when searching for the specified robot.
* @throw std::invalid_argument if the format of any element in [robot_pairs_sn] is invalid.
* @throw std::runtime_error if error occurred during construction.
* @throw std::logic_error if one of the connected robots does not have a valid TDK license; or
Expand All @@ -33,7 +37,8 @@ class CartesianTeleopLAN
* @warning This constructor blocks until the initialization sequence is successfully finished
* and connection with all robots is established.
*/
CartesianTeleopLAN(const std::vector<std::pair<std::string, std::string>>& robot_pairs_sn);
CartesianTeleopLAN(const std::vector<std::pair<std::string, std::string>>& robot_pairs_sn,
const std::vector<std::string>& network_interface_whitelist = {});
virtual ~CartesianTeleopLAN();

/**
Expand Down
7 changes: 6 additions & 1 deletion include/flexiv/tdk/joint_teleop_lan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ class JointTeleopLAN
* in the vector represents a pair of bilaterally teleoperated robots. For example, provide 2
* pairs of robot serial numbers to start a dual-arm teleoperation that involves 2 pairs of
* robots. The accepted formats are: "Rizon 4s-123456" and "Rizon4s-123456".
* @param[in] network_interface_whitelist Limit the network interface(s) that can be used to try
* to establish connection with the specified robot. The whitelisted network interface is
* defined by its associated IPv4 address. For example, {"10.42.0.1", "192.168.2.102"}. If left
* empty, all available network interfaces will be tried when searching for the specified robot.
* @throw std::invalid_argument if the format of any element in [robot_pairs_sn] is invalid.
* @throw std::runtime_error if error occurred during construction.
* @throw std::logic_error if one of the connected robots does not have a valid TDK license; or
Expand All @@ -33,7 +37,8 @@ class JointTeleopLAN
* @warning This constructor blocks until the initialization sequence is successfully finished
* and connection with all robots is established.
*/
JointTeleopLAN(const std::vector<std::pair<std::string, std::string>>& robot_pairs_sn);
JointTeleopLAN(const std::vector<std::pair<std::string, std::string>>& robot_pairs_sn,
const std::vector<std::string>& network_interface_whitelist = {});
virtual ~JointTeleopLAN();

/**
Expand Down
12 changes: 11 additions & 1 deletion include/flexiv/tdk/joint_teleop_wan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ class JointTeleopWAN
* teleoperation need to set the same address.
* @param[in] listening_port Number of the port configured with TCP port forwarding. Both sides
* of the teleoperation need to set the same listening port.
* @param[in] lan_interface_whitelist Limit the network interface(s) that can be used to try
* to establish connection with the local robot. The whitelisted network interface is
* defined by its associated IPv4 address. For example, {"10.42.0.1", "192.168.2.102"}. If left
* empty, all available network interfaces will be tried when searching for the local robot.
* @param[in] wan_interface_whitelist Limit the network interface(s) that can be used to try
* to establish connection with the remote robot. The whitelisted network interface is
* defined by its associated IPv4 address. For example, {"10.42.0.1", "192.168.2.102"}. If left
* empty, all available network interfaces will be tried when searching for the remote robot.
* @throw std::invalid_argument if the format of [robot_sn] is invalid.
* @throw std::runtime_error if error occurred during construction.
* @throw std::logic_error if the local robot does not have a valid TDK license; or this TDK
Expand All @@ -64,7 +72,9 @@ class JointTeleopWAN
* to be established.
*/
JointTeleopWAN(const std::string& robot_sn, bool is_tcp_server,
const std::string& public_ipv4_address, unsigned int listening_port);
const std::string& public_ipv4_address, unsigned int listening_port,
const std::vector<std::string>& lan_interface_whitelist = {},
const std::vector<std::string>& wan_interface_whitelist = {});
virtual ~JointTeleopWAN();

/**
Expand Down
Binary file modified lib/libflexiv_tdk.x86_64-linux-gnu.a
Binary file not shown.

0 comments on commit 787883c

Please sign in to comment.