/cppTango

TANGO kernel c++ implementation

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

logo

TangoControls CLion

Build Status Build status

release

License

SonarCloud.io

Quality gate

Maintainability Reliability Security

Bugs Code smells Vulnerabilities Tech debt

Lines of code Lines of code

TANGO distributed control system - shared library

TANGO is an object-oriented distributed control system. In TANGO all objects are representations of devices, which can be on the same computer or distributed over a network. Communication between devices can be synchronous, asynchronous or event driven.

The object model in TANGO supports methods, attributes and properties. TANGO provides an API which hides all the details of network access and provides object browsing, discovery, and security features.

For more information please visit www.tango-controls.org.

Important branches

  • tango-9-lts: Tango 9 Long Term Support (LTS) development
  • 9.3-backports: Tango 9.3 binary compatible LTS version development
  • master: Future Tango version without CORBA (not yet functional)

Documentation

On readthedocs: tango-controls.readthedocs.io

API reference: tango-controls.github.io/cppTango-docs

Old Manuals: tango-controls.org/documentation/kernel

How to build and install

See INSTALL file.

How to contribute

See corresponding wiki page

Pull request acceptance and merging

You have created a change to cppTango. 🎉

And now you want to get these changes merged? Very nice!

In order to give you the best possible experience here are a few hints for the path forward:

  • All CI tests have to pass. If you have changed the behaviour of the code, you should add new tests as well. You don't need to execute the tests locally, CI is the reference anyway. So just create a PR and let CI handle that.
  • Make your PR easy to review. This starts with explaining what it wants to achieve and ends with splitting the changes into logical commits where each commit describes why it is changing the code.
  • Follow the coding style. This is at the moment messy at best, but still we don't want to get worse.
  • Your PR needs two review approvals, including one from the code owners listed here.
  • Be prepared to adapt your pull request to the review responses. Code review is done for ensuring higher code quality and communicating implementations details to newcomers and not for annoying anyone or slowing down development.

Links

Tango Controls web page