Controllers for the SDSS-V FPS
Project description
jaeger
jaeger provides high level control for the SDSS-V Focal Plane System. Some of the features that jaeger provide are:
- Wraps the low level CAN commands for simpler use.
- Provides a framework that is independent of the CAN interface used (by using the python-can library).
- Interfaces with kaiju to provide anticollision path planning for trajectories.
- Implements status and position update loops.
- Provides implementations for commonly used tasks (e.g., go to position, send trajectory).
- Interfaces with the Instrument Electronics Box modbus PLC controller.
- Provides a TCP/IP interface to send commands and output keywords using the SDSS-standard formatting.
The code for jaeger is developed in GitHub and can be installed using sdss_install or by running
pip install --upgrade sdss-jaeger
To check out the development version do
git clone https://github.com/sdss/jaeger.git
jaeger is developed as an asyncio library and a certain familiarity with asynchronous programming is required. The actor functionality (TCP/IP connection, command parser, inter-actor communication) is built on top of CLU.
A simple jaeger program
import asyncio
from jaeger import FPS, log
async def main():
# Set logging level to DEBUG
log.set_level(0)
# Initialise the FPS instance.
fps = FPS()
await fps.initialise()
# Print the status of positioner 4
print(fps[4].status)
# Send positioner 4 to alpha=90, beta=45
await pos.goto(alpha=90, beta=45)
# Cleanly finish all pending tasks and exit
await fps.shutdown()
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jaeger-1.8.0.tar.gz
(157.3 kB
view details)
Built Distribution
jaeger-1.8.0-py3-none-any.whl
(200.9 kB
view details)
File details
Details for the file jaeger-1.8.0.tar.gz
.
File metadata
- Download URL: jaeger-1.8.0.tar.gz
- Upload date:
- Size: 157.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5740089bba78981ffe9f035a62d49435e47323c6317dec0abdd739bc4ddde1e2 |
|
MD5 | 45ab909389b0774703be5cc70d76c5db |
|
BLAKE2b-256 | df50ed528e7e49184452ce92b15475cfc6147dd8672154e0404c4efac9ffdf79 |
File details
Details for the file jaeger-1.8.0-py3-none-any.whl
.
File metadata
- Download URL: jaeger-1.8.0-py3-none-any.whl
- Upload date:
- Size: 200.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1175d485047e2335de601461592f50795679140886ab46fb267a1f4508b39fa4 |
|
MD5 | 63e2bf3b1da1a3893196b4773d82d69b |
|
BLAKE2b-256 | 7107c1e196ea0a36cd132b1536b84d0386326554b44dc82ca6c558c98509bd04 |