useless client of a simulated device with PLICO
Project description
TIPICO: Test Inutile per Provare Inutilmente pliCO
tipico is a useless application to test the plico environment.
Installation
On the client
pip install tipico
On the server
pip install tipico-server
The tipico-server package installs also the client package.
Config files
The server requires to be configured
The application uses appdirs
to locate configurations, calibrations
and log folders: the path varies as it is OS specific.
Typical paths for config files are:
- On OS X
$HOME/Library/Application Support/inaf.arcetri.ao.tipico_server/tipico_server.conf
- On Ubuntu
$HOME/.config/inaf.arcetri.ao.tipico_server/tipico_server.conf
The configuration files are copied when the application is first used from their original location in the python package to the final destination, where they are supposed to be modified by the user. The application never touches an installed file (no delete, no overwriting)
The easiest way of checking which config file is used by the server is to start it (see below) and check for the config file name written in the standard output.
Another way of querying the system for config file location is to run python on the server and type:
import tipico_server
tipico_server.defaultConfigFilePath
The user can specify customized conf/calib/log file path for both servers and client (how? ask!)
Usage
Starting Servers
Starts the 2 servers that control one device each.
tipico_start
Using client
In a Python / IPython shell:
Create a client of the device (suppose the server is running on localhost on port 60010)
In [1]: import tipico
In [2]: instr= tipico.instrument('localhost', 60010)
Get position and move actuator
In [3]: instr.getPosition()
Out[3]: 0
In [6]: instr.moveTo(np.array([42, 3.14]))
In [7]: instr.getPosition()
Out[7]: array([42. , 3.14])
Get position and move actuator
In [8]: status=instr.getStatus()
In [9]: status.actuatorCommands()
Out[9]: array([42. , 3.14])
In [10]: status.commandCounter()
Out[10]: 1
In [11]: instr.moveTo(np.array([1, 2]))
In [12]: status=instr.getStatus()
In [13]: status.commandCounter()
Out[13]: 2
In [14]: status.actuatorCommands()
Out[14]: array([1, 2])
In [15]: instr.getPosition()
Out[15]: array([1, 2])
In [16]: instr.getSnapshot('tux')
Out[16]: {'tux.COMMAND_COUNTER': 2, 'tux.SERIAL_NUMBER': '1', 'tux.STEP_COUNTER': 17065}
In [17]: instr.getSnapshot('tux')
Out[17]: {'tux.COMMAND_COUNTER': 2, 'tux.SERIAL_NUMBER': '1', 'tux.STEP_COUNTER': 21225}
Stopping Tipico
To kill the servers run
tipico_stop
More hard:
tipico_kill_all
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tipico-0.16.0.tar.gz
.
File metadata
- Download URL: tipico-0.16.0.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7b76dc05cb43920aacab638454856f9db0f05b6c20bbc11fad53efa68f0d940 |
|
MD5 | cdeff886f472c7724d4af646b8bf4ad8 |
|
BLAKE2b-256 | 574ff487c7633a06a37bb81f73fa7d7813b623bcaab4fde6932f50ebb86afadc |
File details
Details for the file tipico-0.16.0-py2.py3-none-any.whl
.
File metadata
- Download URL: tipico-0.16.0-py2.py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22f782c2d9d20010401f5bcff5772d5a419960542ce9f2525d469c8f1e467511 |
|
MD5 | 0b70a55adf9a66e173382b4e87b79ca0 |
|
BLAKE2b-256 | c05fa811c1e8886dc042b1f87229bacd94a14173d84c6a13cc2200f866cab93e |