Skip to content

Releases: sdss/jaeger

jaeger 0.5.2

01 Aug 01:43
Compare
Choose a tag to compare
  • Adapt actor system to use CLU>=0.3.0.

jaeger 0.5.1

30 Jul 01:50
Compare
Choose a tag to compare
  • #86: Allow to pass a custom configuration file in the CLI using the flag -c/--config.
  • Add actor command info to report the configuration file and version.

jaeger 0.5.0

20 Jul 19:02
Compare
Choose a tag to compare
  • #62: Add a new Trajectory class as a low-level method to send trajectories.
  • #67: Improve initialisation time by making sure all commands after the initial GET_FIRMWARE_VERSION know how many positioners are connected and don't time out.
  • #68: Use sdsstools instead of core utilities. Some clean-up of the packaging files.
  • Adapt to using CLU>=0.2.0.
  • Retrieve configuration from $SDSSCORE_DIR/configuration/actors/jaeger.yaml or from ~/.config/sdss/jaeger.yml.
  • #51: Set up an asyncio exception handler and make the Poller use it if there is a problem with the callback.
  • #64: Fixed WAGO disconnects by increasing the timeout of the hardware.
  • #61: Stop the positioners before existing if CLI receives a SIGINT, SIGTERM, or SIGHUP.
  • #72, #73: Fix UIDs not being returned to the pool in some cases, which emptied it after a while.
  • Rename cli.py to __main__.py.
  • #76: Implement calibration commands and routines.
  • #75: Implement trajectories using SYNC line.
  • #21: (and several associated issues) Remove WAGO and use external drift library.
  • #70: Better documentation for firmware update.
  • #83: Use GitHub workflows.

jaeger 0.4.2

19 Jul 07:36
4f785a2
Compare
Choose a tag to compare
  • #59: Add an engineering_mode flag to .FPS (can be toggled using the jaeger --danger) flag to override most safety warnings for debugging.
  • Unless immediate=True is passed to Poller.set_delay, waits for the current task to finish.
  • Fix call to Positioner.goto from CLI.

jaeger 0.4.1

21 Nov 19:41
d3659ba
Compare
Choose a tag to compare
  • Support versions 04.00.XX and 04.01.XX of Tendo with PositionerStatusV4_0 and PositionerStatusV4_1 maskbits.
  • Significant clean-up of how pollers are used.
  • ~jaeger.commands.send_trajectory now raises exceptions on error.
  • #57: Added FPS.moving and Positioner.moving attributes to determine whether it is save to move the FPS.
  • #56: Move time for go to moves is calculated and reported.
  • Very significant rewrite of how messages and replies are matched. Now there is a pool of unique identifiers. Each message gets assigned a UID from the pool corresponding to its command_id and positioner_id. When a reply is received, it is matched based on command_id, positioner_id, and UID. At that point the UID is returned to the pool. Broadcast messages always receive the reserved UID=0. This means that two broadcast of the same command should not be running at the same time or replies could be misassigned.
  • Recognise and deal with CAN@net devices already in use.

jaeger 0.4.0

19 Nov 09:18
d1e9ed1
Compare
Choose a tag to compare
  • #46 Implement a QA database for moves.
  • #13 Abort trajectory and lock the FPS if either a collided status is detected in a positioner or if command 18 is received from the CAN network.
  • #49 Positioner status and position polling is now done from the FPS instead of from each positioner.
  • #54 Add firmware upgrade command to actor.
  • 🐛 #53 Fix issues dealing with positioners that in the layout but not connected.
  • #52 Add limits to Positioner.goto.
  • Add SetCurrent command to actor.
  • Fix bug due to use of unsigned integers when passing a negative position.

jaeger 0.3.0

13 Nov 18:29
d5dc6a4
Compare
Choose a tag to compare
  • Change file layout to include a positioner ID.
  • Add command SetCurrent.
  • Modify jaeger CLI command to use async def and await.
  • Add is_bootloader to output of status command.
  • #24 (with #28) Initial implementation of WAGO PLCs and associated actor commands.
  • #12 Initial but fully functional implementation of TCP/IP actor.
  • 🐛 #39 Use loop.create_task instead of asyncio.create_task in Poller, which seems to fix using jaeger in IPython.
  • #40 Allow to instantiate an FPS without a WAGO connection.
  • #37 Support power cycling a PLC.
  • ♻️ #22 Moved some configuration parameters under positioner.
  • #29 Output WAGO status on a timer.

jaeger 0.2.1

29 Jun 18:00
Compare
Choose a tag to compare
  • Fix MANIFEST.in not including requirement files.

jaeger 0.2.0

29 Jun 17:52
Compare
Choose a tag to compare
  • Added home command to jaeger CLI.
  • Fixed bug in which the positions for SetActualPosition were being sent in degrees instead of in steps.
  • Fixed bug that would raise an exception during initialisation if no positioner had replied to GET_STATUS.
  • First complete pass at the documentation.
  • #3 Add skip-error option to jaeger demo.
  • 🐛 #2 Fix double setting of status when command times out.
  • #1 Added .FPS.abort method to cancel all trajectories.
  • Expose Positioner.set_position as a public method.
  • Load layout when FPS is instantiated.
  • Improved logging system.
  • Added initial actor features.
  • #9 Initial implementation of the CAN@net bus.
  • Renamed interfaces -> profiles in configuration.
  • 🐛 #11 Fix endianess of firmware version.
  • #7 Poll CAN@net device for status.

jaeger 0.1.0

11 Oct 02:20
Compare
Choose a tag to compare
  • Basic framework.
  • Added FPS, JaegerCAN, and Positioner classes.
  • Implemented Command class and subclasses for all available commands.
  • Added maskbits based on the IntFlag enumeration.
  • Added several helpers (AsyncQueue, Poller, StatusMixIn)
  • Added utilities to convert from bytes to int and vice versa, and to build and parse identifiers.
  • Added convenience function to upgrade firmware.
  • Added CLI interface.
  • Initial documentation.