Coder Social home page Coder Social logo

scottluo0716 / iotg_tsn_ref_sw Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/iotg_tsn_ref_sw

0.0 0.0 0.0 81.69 MB

IOTG Time-Sensitive Networking Reference Software

License: BSD 3-Clause "New" or "Revised" License

Shell 31.47% Python 3.57% C 37.17% Assembly 24.50% Gnuplot 1.81% Makefile 0.19% M4 0.12% SWIG 1.19%

iotg_tsn_ref_sw's Introduction

IOTG TSN Reference Software for Linux

Overview

This project is a set of C-applications and scripts used to showcase different Ethernet-TSN features in Linux on specific Intel IOTG platform/software.

These serve as a practical example for those interested in developing TSN-capable software.

This project introduces three applications, each with their own set of examples:

  • TSQ - Time Synchronization Quality Measurement

    • tsq1 showcases the nanosecond-precision time synchronization between platforms using pulse-per-second (PPS) output & auxiliary timestamping (AUX_TS) input pins.
  • TXRX-TSN - AF_PACKET & AF_XDP socket-based application

    • vs1 showcases the bounded low-latency transmission/reception achievable via AF_PACKET & AF_XDP standard linux socket interfaces, while leveraging various device-specific Ethernet-TSN features.
  • OPCUA-SERVER - AF_PACKET & AF_XDP OPCUA-based application

    • opcua-pkt1 showcases the bounded low-latency transmission/reception achievable via AF_PACKET over libopen62541 (an OPC-UA-based library) APIs, while leveraging various device-specific Ethernet-TSN features over a single-ethernet connection. This application uses JSON files as an input.
    • opcua-pkt2 & opcua-xdp2 showcases the bounded low-latency transmission/reception achievable via AF_PACKET & AF_XDP over libopen62541 (an OPC-UA-based library) APIs, while leveraging various device-specific Ethernet-TSN features over two ethernet connection. This application uses JSON files as an input and require platforms with at least 2 Ethernet-TSN ports (e.g. EHL).
    • opcua-pkt3 & opcua-xdp3 is the same as opcua-*2 but with iperf3 background traffic.

Compatibility

Currently supported hardwares are:

  • Intel Atom XXX (formerly Elkhart Lake) with its integrated Ethernet controller
  • Intel Core XXX (formerly Tiger Lake UP3) with its integrated Ethernet controller

This project is optimized to run on the supported hardware list and their respective bundled softwares (IFWI, BSP, preempt-rt kernel) which has been optimized for each platform's capabilities.

Dependencies

List of dependencies in DEPENDENCIES.md

Build

To build tsn ref sw, we are currently providing a single script that will build all binaries (tsq, txrx-tsn and opcua-server).

```sh
cd <tsn_ref_sw_directory>
./build.sh
```

For further configuration details, check out README_config.md and ShellConfig

Documentation

Contents

Disclaimer

  • This project only serves to demonstrate TSN functionality and its usage on supported platforms and their environments.

  • This project is not for intended for production use.

  • This project is intended to be used with specific platforms and bsp, other hardware/software combinations YMMV

  • Users are responsible for their own products' functionality and performance.

Report Issues

If you see an issue, include these details in your issue submission:

  • Hardware setup (Platform, Ethernet controller/NIC)
  • Dependency version, refer to DEPENDENCIES.md
  • OS or Linux distribution
  • Linux kernel version
  • Problem statement
  • Steps to reproduce
  • Images/Screenshots

Contribute

Refer to CONTRIBUTING.md

License

Refer to LICENSE.md

FAQ

For tips on how to run tsn ref sw, please refer to README_faq.md It contains example of certain frequently seen run-time error.

iotg_tsn_ref_sw's People

Contributors

azuratarmiziintel avatar vincentxw avatar ws-intel avatar zulkifl3 avatar yoongsiang2 avatar abdulari avatar leosartaj avatar jyong2 avatar ganyifang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.