Skip to main content
Ctrl+K
Tango Controls documentation - Home Tango Controls documentation - Home
  • Explanation
    • Overview of Tango Controls
    • Device
    • Command
    • Attribute
    • Property
    • Events
    • Device polling
    • Tango object naming (device, attribute and property)
    • Tango Data Model
    • Tango Database
    • Attribute alarms
    • Archiving
      • HDB++
      • SNAP
    • Pipe
    • Threading
    • Communication paradigms
    • The Tango device server model
    • Long Term Support
    • History
  • Tutorials
    • Getting started
      • Coffee Crisis!
      • First steps
      • State and Status
      • Init and Delete Device
      • About and version info
      • Commands
      • Attributes
      • Device properties
      • Running a Tango Database
      • Adding a new server to the Tango Database
    • Example deployment of a Tango Controls System
    • ATKPanel
    • Developing clients with the TangoATK
    • Guidelines for developing a Tango Device Server
    • Developing a Tango device server
  • How-Tos
    • Installation
      • Conda Packages
      • Debian
      • Red Hat based
      • Windows
      • macOS
      • Virtual Machine
      • TangoBox 9.3
      • SNAPshot (Archiving) installation and configuration
    • Getting Started
      • How to try Tango Controls
      • Use the end-user applications
      • Start a device server
      • Configure properties on a new device
    • Deployment
      • Transfer events using the multicast protocol
      • Use multiple database servers within a Tango control system
      • Use the property file
      • Use the Starter device
      • Run a device server with the File Database
      • Starting a Tango control system
      • Run a device server without a database
      • Use the Tango controlled access system
      • Import multiple device classes to the Catalogue
      • Use Tango with systemd integration
      • Run a device server with an active Windows firewall
    • Development
      • Create your first Device class
      • Write your first Tango client
      • Generate events in a device server
      • Tune polling from inside device classes
      • Telemetry with Tango
      • Transfer images
      • Get started with cppTango
        • Quick start: create and start a device
        • Write your first C++ TANGO device class
        • Device server with user defined event loop
        • How to create inheritance link between Tango classes
        • Use C++ std::vector to set attributes
        • How to add dynamic attributes to a device class
        • Handle Tango string attributes in C++
        • How to reconnect to the Tango HOST at device server startup time
        • How to use an enumerated attribute
        • How to use a forwarded attribute
        • How to use a memorized attribute
        • How to work with device and attribute aliases
        • Writing a TANGO client using TANGO C++ APIs
      • Getting started with JTango (Java implementation of Tango-Controls)
        • Developing your first Java TANGO client
        • Developing your first Java TANGO device class
        • Integrate Java Tango servers with Astor
      • Getting started with PyTango (Python implementation of Tango-Controls)
        • Developing Python TANGO device class
        • How to PyTango
        • PyTangoArchiving Recipes
    • Debugging and Testing
      • Using Tango docker containers
      • JUNIT helper classes for device server testing
    • Contributing
      • Tango IDL
      • cppTango
      • PyTango
      • JTango
      • Tango Documentation
      • How to add a subproject to the readthedocs tango-controls documentation
  • Tools
    • Developer’s Toolkit
    • Tango Application Toolkit “ATK”
    • Astor
    • Jive
    • Starter
    • LogViewer
      • LogViewer
    • Tango Admin utility
    • JDraw
    • ITango
    • Taurus (Python GUI library)
    • PANIC Alarm System
    • POGO
    • Bensikin User Manual
    • Taranta
    • Tango REST API
  • Reference
    • RFC
    • Ecosystem
    • Tango Core: C++
    • Tango Core: Python
    • Tango Core: Java
    • Bindings
      • C Language
      • Igor Pro
      • LabVIEW
      • Matlab & Octave
      • REST API
    • ATK Java documentation
    • Glossary
    • Reference part
    • CORBA
    • HDB++ Design and implementation
    • Legacy HDB tables structure
    • schema CQL source (Cassandra)
    • Configuration Manager interface
    • Event Subscriber interface
    • schema SQL source (MySQL)
    • schema SQL source (TimescaleDb)
    • Old Presentations
      • Scada introduction with TANGO examples
      • General TANGO training for C++
      • General TANGO training for Python
  • Authors
  • Show source
  • Suggest edit
  • .md

Get started with cppTango

Get started with cppTango#

audience:developers lang:c++

cppTango is the C++ implementation of Tango Controls. Below you will find some useful instructions on how to get start developing in C++.

Note that this chapter assumes that you have already installed Tango in your local computer or in your network. If you need to install Tango, please reference to the documentation.

How to:

  • Quick start: create and start a device
  • Write your first C++ TANGO device class
  • Device server with user defined event loop
  • How to create inheritance link between Tango classes
  • Use C++ std::vector to set attributes
  • How to add dynamic attributes to a device class
  • Handle Tango string attributes in C++
  • How to reconnect to the Tango HOST at device server startup time
  • How to use an enumerated attribute
  • How to use a forwarded attribute
  • How to use a memorized attribute
  • How to work with device and attribute aliases
  • Writing a TANGO client using TANGO C++ APIs

previous

Transfer images

next

Quick start: create and start a device

© Copyright 2017-2025, Tango Controls Community, under Creative Commons Attribution 4.0 International (CC BY 4.0), except where otherwise noted.