The latest untagged master branch can be obtained at https://github.com/DiamondLightSource/pmac.
Tagged source code releases from 2-0 onward can be obtained at https://github.com/DiamondLightSource/pmac/releases (earlier versions are not recommended)
The versions of EPICS base, asyn, and motor modules used for each release can be obtained from configure/RELEASE.local. The file configure/RELEASE.linux-x86_64.Common should be modified to reflect site location of dependencies.
- Fix velocity calculation from Velocity mode - PR #124
- Fix CS feedrate truncation - PR #121
- Fix motor offset updating CS - PR #123
- Replaced dls-controls with DiamondLightSource - PR #128
- Improve CPU load calculation - PR #105
- Add Busy dependency to Pmac - PR #120
- Revert PR #116 due to an introduced bug, that causes Segmentation Fault during the initialization.
- Fix AbortAll and KillAll for PowerPMAC - PR #112
- Update motor to 7-0dls9-1 in RELEASE.local - PR #115
- Motor offset update cs axes position value - PR #116
- Abstract Global status bits - PR #114
- Fix AbortAll and KillAll for PowerPMAC - PR #112
- Update motor to 7-0dls9-1 in RELEASE.local - PR #115
- Motor offset update cs axes position value - PR #116
- Abstract Global status bits - PR #114
- Remove harcoded PVs for symetrie heaxapod summary screen - PR #100
- Enhanced PVT trajectories scan to add capabilitiy to receive the velocities, and moved velocities calculation from motion program to driver - PR #102
- Fix low-level SSH driver for ARM PowerPMACs - PR #103
- Add support for CPU load reading for PowerPMACs
- Fix bug in geobrickette_motion_stop
- Remove round function dependency
- A fix in 2-5-10 caused the .REP field to just show the following error when the encoder is on the same
axis (versus another channel). Previous behaviour has now been restored for this type of axis:
- .RMP is reported position plus following error
- .REP is reported position without following error
- This allows the following error and max following error records to work again.
- Soft limit behaviour has been changed in pmacController. When setting soft limits which result in either ix13 or ix14 being zero (i.e. not both) the soft limit is now set to 1 count to avoid disabling it. To disable soft limits you can set DHLM=DLLM=0, which is consistent with the motor record behaviour.
- pmacAxis: increase setting resolution and offset precision to 12 d.p. to fully fix loss of precision introduced in 2-5
- add pmacVariableRead screens
- pmacAxis: increase setting resolution and offset precision to 9 d.p. to partially fix loss of precision introduced in 2-5
- add CSS screens for aperture slits
- make simple-power-pmac non DLS dependent
- add builder support for open loop encoder axis (Jira BC-1427)
- stop adding pmacVariableWrite screens when using symetrie_hexapod_CS screen
- add pmac_autohome.opi screen
- remove amplifier enabled and axis status power flags from check used to reset CS demand values
- Fix iocbuilder support for RunPlc when used for single digit PLC numbers
- Fix servo interrupt frequency for Power PMAC
- Add motion stop template
- Updated trajectory scan PMC to use latest demand Q variables for motor starting points
- Various fixes for symetrie hexapod template (#89)
- add template and EDM/CSS screens for running commands on a pmac
- fix power pmac trajectory scan prog 1 script
- now includes changes applied to tpmac prog
- add etc/bootstrap with details of how to setup the system test hardware
- make build compatible with EPICS base 7.0.5
- this involved minor changes in the configure folder
- Added back one of the original velocity modes as mode 4.
- The full set of velocity modes are now:
- 0: Velocity = Average Prev -> Next
- 1: Velocity = Real Prev -> Current
- 2: Velocity = Average Prev -> Current
- 3: Velocity = 0
- 4: Velocity = Average Current -> Next
- Implemented trajectory scan offset and resolution for virtual motors
- Improved the direct motion interface
- Add template for enabling a PLC on a pmac controller
- Add template for reading just the encoder position of an axis
- Add CSS screens for dls-pmac-control.py and pmac status
- Copy style of EDM screens
- Trajectory, CS, Axes and Debugging screens included
- Updated asyn to 4-39
- Updated motor to 7-0dls5
- Updated busy to 1-7-2dls3
- Updates to support VME pmac devices
- Avoid long at startup pause waiting to list kinematics on Power Pmac
- Fix incorrect NAXES column in xeb
- New PROG1.pmc with "Average Previous to Current" velocity mode 2
- This supports changes in Malcolm (post version 4-2b5) to avoid accumulation of errors in long sparse trajectories
- Stop manual axes CS defs clearing previously defined groups
- Improved connection logic for PMAC controllers
- Driver can now start in disconnected state
- Driver can connect when hardware is available
- Driver can disconnect and reconnect
- Fixed missing colon in motor record name
- Fixed CS bug, was looping over raw axis total instead of CS total
- Improved trajectory scan error reporting
- Updated motor builder object PORT field description
- restore continuous integration (new synapps dependencies)
- Fix seg fault on startup with no brick connected
- clean up compiler warnings
- Add Power Pmac IDE project as example configuration
- Get all system tests working against PPmac
- except trajectory scan tests - not yet supported
- Fix coordinate system control features for ppmac
- Added $(PMAC):PollAllNow PV -
- put value 1 with callback
- synchronizes the current brick status
- fix issues with feedrate check (now compatible with PPMAC)
- fix example IOC to build outside of Diamond
- fixes to issues with Coordinate System motors demand and read-back inconsistency
- fixes to any issues with race conditions due to a lack of parameter library locking
- now works with clipper
- supports 'direct demands'
- for avoiding the pitfalls of the motor record (particularly with deferred moves)
- implements coordinated deferred moves:
- a set of motors can be commanded to start and complete motion at the same time.
- updated edm GUI
- simplified templates and builder support
- stop now always works
- stop a trajectory scan or coordinate system motor by clicking stop on one of the real motors
- full suite of system tests using py.test
Note that I'm now making dls-master and master the SAME. To make this friendly to external users I have:-
- I have fixed the etc/Makefile so that it skips the folder if builder is not available
- I have commented the required configure files to say they need changes for each site
- I have added a non-builder example IOC (with edm GUI)