diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1d54a1d1..c18138110 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,9 @@ jobs: - ROBOT_MODEL: 'ur20' URSIM_VERSION: 'latest' PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' + - ROBOT_MODEL: 'ur5e' + URSIM_VERSION: '10.7.0' + PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/polyscopex' steps: - uses: actions/checkout@v4 @@ -68,7 +71,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} flags: ${{ matrix.env.ROBOT_MODEL }}-${{ matrix.env.URSIM_VERSION }} - name: Generate URSim log files - if: always() + if: always() && matrix.env.URSIM_VERSION != '10.7.0' run: | nc -q 1 192.168.56.101 29999 < #include +#include #include +#include #include +#include "ur_client_library/comm/pipeline.h" +#include "ur_client_library/primary/primary_client.h" using namespace urcl; @@ -55,6 +59,18 @@ int main(int argc, char* argv[]) robot_ip = std::string(argv[1]); } + urcl::comm::INotifier notifier; + urcl::primary_interface::PrimaryClient primary_client(robot_ip, notifier); + primary_client.start(); + auto version_information = primary_client.getRobotVersion(); + if (version_information->major >= 10) + { + std::stringstream ss; + ss << "Robot has version " << *version_information << ". This example is not compatible with PolyScope X"; + URCL_LOG_ERROR(ss.str().c_str()); + return 0; + } + // Connect to the robot Dashboard Server auto my_dashboard = std::make_unique(robot_ip); if (!my_dashboard->connect())