Skip to main content

Python QSYS QRC Wrapper

  • Control QSC QSYS Core devices with python

ToDo

  • Flaskify...
  • Document, document, document

Use

  • For each QSC Core on the network instantiate a "Core" class
  • When adding control objects they will "cast" themselves to the parent core class
    • The parent Core class instance is required as keyword arg "parent" when creating control objects
#!/usr/bin/python3
import time
from qsys.classes import Core,Control,ChangeGroup

#returns epoch time
from qsys.helpers import epoch

def main():
    #See qsys.py for parameters in Core class
    #The initiail EngineStatus response parameters from the device will get added to Core.__dict__
    #You can pass "port" as well, but it defaults to 1710
    myCore = Core(Name='myCore',User='',Password='',ip='192.168.61.2')

    #Open the socket,creates "listen" and "keepalive" threads
    myCore.start()

    #ValueType can be a list of potential value types [int,float] or a single type "str" etc
    #This object is assumed to be a "gain" control object, so we can pass [int,float]
    gainControlObject = Control(parent=myCore,Name='namedControlInQsysDesigner',ValueType=[int,float])

    #To constantly monitor the state of your object use a ChangeGroup
    #You need to a ChangeGroup instance to add control objects and set polling rates
    #Parameters that are capitalize are that way because of the QRC parameter protocol
    #Id in this case is just the name of the ChangeGroup
    myChangeGroup = ChangeGroup(parent=myCore,Id='myChangeGroup')
    myChangeGroup.AddControl(gainControlObject)

    #Allow the socket time to connect and parse the initial responses
    time.sleep(2)

    #Set the change group auto poll rate
    #This rate is fast, your mileage may vary
    myChangeGroup.AutoPoll(Rate=0.1)

    #Value = value to set object to
    #TransId = QRC id parameter for transaction ID
    gainControlObject.set(Value=10,TransId=epoch())

    while True:
        print(gainControlObject.state)
        time.sleep(1)

if __name__ == '__main__':
    main()

Notes

  • In development, versions will change rapidly. This version doesn't do much yet.. stand by

References

Metadata

Release files for qsys 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qsys 0.0.4
File Size Uploaded
qsys-0.0.4.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qsys 0.0.4
File Interpreter ABI Platform
qsys-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 12.1 kB

Release files / qsys-0.0.4.tar.gz

Download URL qsys-0.0.4.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ad188b65aa64c4bee7e3ba1794116c3d6cc72fd255871962e516a9a13999731f
BLAKE2b-256 checksum
How to use checksums
0a7106e8f2cd28391cbde3672727185e033090f7317d2fe95922c7b82ecf0e30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Release files / qsys-0.0.4-py3-none-any.whl

Download URL qsys-0.0.4-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
acd647f9144e0b22e92f2adfcf04a3c09b774560c1faff755d9e0cbb97e65494
BLAKE2b-256 checksum
How to use checksums
b0c91a233a83b2749675f7130c899de6754735b72b43f933df6390b97a44d36f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page