:orphan:

NGX
===

**From:** `Rohde Schwarz <https://www.rohde-schwarz.com/de/produkte/messtechnik/dc-netzgeraete_64067.html>`_

**Class:** :py:class:`herosdevices.hardware.rohde_schwarz.ngx.NGX`


**Driver Quality Index:** beta


Driver for Rohde Schwarz NGX Power Supplies using the VISA interface.

The desired channels have to configured using the channel index (starting from 1) and a
user-friendly channel name.
For each channel, the HERO gains properties `channel_name_` `current`, `voltage`, `power` and `status`.
In addition, current and voltage can be set using the property.

Querying can also occur for the configured number of channels simultaneously by using the
class-level properties.

All properties are provided as observable data.

.. tab-set:: 


   .. tab-item:: Arguments
   
   
      Bold arguments are mandatory. For more information on the listed arguments refer to the class             documentation: :py:class:`herosdevices.hardware.rohde_schwarz.ngx.NGX` If parameters appear in this             list but not in the class definition, please recursively check the linked base classes for the             definition of the parameter.
      
      
      .. list-table:: 
         :widths: 50 50 50 100
         :header-rows: 1
      
         * - Argument
           - Type
           - Default Value
           - Description
         * - **resource**
           - **<class 'str'>**
           - 
           - VISA resource identifier e.g. `TCPIP::my_device_address::INSTR`.
         * - channels
           - tuple[tuple[int, str], ...]
           - ((1, 'ch1'),)
           - List of tuples of channel index and channel name.
         * - keep_alive
           - <class 'bool'>
           - True
           - Keep VISA connection open.
      

   .. tab-item:: Example JSON for BOSS
   
      The following JSON strings can be used to start a HERO device representation of             :py:class:`NGX <herosdevices.hardware.rohde_schwarz.ngx.NGX>` using             `BOSS <https://boss-eb4966.gitlab.io/>`_.
      
      .. code-block:: json
      
         {
             "_id": "ngp804",
             "classname": "herosdevices.hardware.rohde_schwarz.NGX",
             "arguments": {
                 "resource": "TCPIP::my_device_address::INSTR",
                 "channels": [
                     [
                         1,
                         "ch1"
                     ],
                     [
                         2,
                         "ch2"
                     ],
                     [
                         3,
                         "ch3"
                     ],
                     [
                         4,
                         "ch4"
                     ]
                 ]
             },
             "datasource": {
                 "async": false,
                 "interval": 15
             }
         }
      
      :sup:`from examples/rohde_schwarz/ngp804.json` 
      
      
      .. code-block:: json
      
         {
             "_id": "my_NGX",
             "classname": "herosdevices.hardware.rohde_schwarz.ngx.NGX",
             "arguments": {
                 "resource": "<class 'str'>",
                 "channels": [
                     [
                         1,
                         "ch1"
                     ]
                 ],
                 "keep_alive": true
             }
         }
      
      :sup:`generated from signature`
   .. tab-item:: Inheritance
   
   
      .. inheritance-diagram:: herosdevices.hardware.rohde_schwarz.ngx.NGX
      
