Controllers for the SDSS-V FPS
- 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.
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.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())
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size jaeger-0.6.0-py3-none-any.whl (77.9 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size jaeger-0.6.0.tar.gz (63.3 kB)||File type Source||Python version None||Upload date||Hashes View|