Releases: sdss/jaeger
Releases · sdss/jaeger
jaeger 0.5.2
- Adapt actor system to use
CLU>=0.3.0
.
jaeger 0.5.1
- #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
- #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
, orSIGHUP
. - #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
- #59: Add an
engineering_mode
flag to.FPS
(can be toggled using thejaeger --danger
) flag to override most safety warnings for debugging. - Unless
immediate=True
is passed toPoller.set_delay
, waits for the current task to finish. - Fix call to
Positioner.goto
from CLI.
jaeger 0.4.1
- Support versions
04.00.XX
and04.01.XX
of Tendo withPositionerStatusV4_0
andPositionerStatusV4_1
maskbits. - Significant clean-up of how pollers are used.
~jaeger.commands.send_trajectory
now raises exceptions on error.- ✨ #57: Added
FPS.moving
andPositioner.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
andpositioner_id
. When a reply is received, it is matched based oncommand_id
,positioner_id
, andUID
. At that point the UID is returned to the pool. Broadcast messages always receive the reservedUID=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
- ✨ #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
- Change file layout to include a positioner ID.
- Add command
SetCurrent
. - Modify
jaeger
CLI command to useasync def
andawait
. - Add
is_bootloader
to output ofstatus
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 ofasyncio.create_task
inPoller
, 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
- Fix
MANIFEST.in
not including requirement files.
jaeger 0.2.0
- Added
home
command tojaeger
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 tojaeger 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
- 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.