Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

jaeger

Package Overview
Dependencies
Maintainers
2
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jaeger

Controllers for the SDSS-V FPS

pipPyPI
Version
1.11.0
Maintainers
2

jaeger

Versions Documentation Status Tests Status codecov

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())

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts