All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add pos_measure and enc_measure to the Axis class
- Return same int type for fpos method
- icepapctl crashes when master version is not a float, the master is corrupted it returns ??.??
- Show not alive axes if the option "axes" is " all"
- icepapctl sendall allowed only one parameter and is not protected when the character ':' is used.
- Shows PCB value for controller and drivers and IO value for drivers
- Sendall responses are tabulated
- Change default "axes" option to "alive", not all commands are valid if the axes is not "alive".
- Add method for getting linked axes at IcePAPController class
- Add axis list track command
- Return empty string when hardware does not have serial number.
- Add find_racks method to get activate racks on the system.
- Add host and port public properties for the IcepapController.
- Refactor icepapctl application and add a REPL.
- Allow to identify multilines answers
- Remove from the REPL Toolbar the mode and the port
- Movement command does not accept negative values (Issue #77).
- Update icepapctl animation.
- Bug on repl when the mode is not the same for all axes.
- Communication error with multilines answers
- Fix typo
- Return names with spaces
- Fix bug when hardware does not have serial number
- Add fver property to read only the driver and the system version instead of reading all modules versions.
- Allow to use IcePAPAxis object as parameter of IcePAPController commands.
- Remove axis name size protection, if the size is bigger than the allowed the icepap saves up to the maximum size without errors.
- Change TCP class logger name to use logging filtering on IcepapCMS
- Remove deprecated array.tostring() and use array.tobytes()
- Fix socket connection on Windows.
- Add CLI application
- Implemented readline method used on the TCP class introduced on 3.4.1
- Add axis property to IcepapAxis class
- Allow to get more than one IcePAPAxis objects from the IcePAPController at the same time
- Allow to create a IcePAPController from a URL
- TCP communication problems:
- Handle asynchronous exception (ex: Keyboard Interrupt)
- Masked errors: Some OSError and even a BaseException is being masked to RuntimeError
- Add firmware file as sprog parameter
- Script to do update and backups features. All of them are moved to IcepapCMS
- Allow to force the posicion/encoder register on the autofix script from the backup file.
- Allow to skip register by the user on the autofix script.
- Allow to do not pass polarity for commands: infoX, outpos, outpaux, syncpos and syncaux
- Migrate to python 3.5: Methods will return 'int' instead of 'long'
- Rename module to "icepap".
- Add IcePAPController and IcePAPCommunication classes.
- Allow to use the controller without axes created by default.
- Add more test cases.
- Configure travis to run the test cases.
- Add requirements to build the documentation
- Remove serial communication and support only ethernet communication.
- Remove EthIcePAPController and EthIcePAPCommunication classes.
- Remove deprecated method.
- Remove legacy module (API 1.X).
- Remove ipython script.
- Return a string instead of list on Mode property.
- Fix mistake on the name of 'verserr' axis method.
- Fix error on get_indexer_str.
- Fix documentation.
- Fix installation requirements.
- Optimize EthIcePAPController to do not create unused axes.
- Allow to create axes on execution time.
- Allow to use the controller without axes created.
- Add testing scripts.
- Remove version checking on the update script.
- Add axes and drivers as controller properties.
- Remove to iterate over the controller and take the IcePAPAxis object as value, it breaks the heritage theory. It was a wrong feature introduced.
- Add search methods.
- Add protection when reading the axis name on the starting.
- Add protection when reading the config.
- Add status_register as property of the State class.
- Bug on getting the home registers: position and encoder
- Implement disconnection method used on IcepapCMS
- Remove the legacy module from the PEP8 verification.
- Allow to read the driver PCB version as property of firmware version class.
- Fix errors on configuration commands when using a parameter.
2.3.7 - 2018-08-28
- Allow to change the data format of the parameter, slope and motor position tables.
- Use ordered dictionaries on the configuration data.
- Correct the return value of the get_parametric_table method.
- Protect connection to one IcePAP OFF.
- Change autofix method used on pyIcePAP update command to do not restore the encoders and positions registers.
- Add protection on the firmware version reading.
- Show deprecation warnings only one time.
- Add more descriptive filenames for configuration backups and logs.
2.2.0 - 2018-04-05
For a full log of commits between versions run (in your git repo):
git log 2.0.0..2.2.0
- Create new application command autofix: applies automatic conflict solutions after a firmware update.
- pyIcePAP application retrieves library version on request.
- Remove unnecessary imports and reduce configparser as dependency at the application level.
- Correct parsing when axis name requestes is sn empty string.
- Add link to documentation.
- Correct README file.
- New configuration for bumpversion.
- Protect exception on version request.
- Correct bare Exception statatement.
2.0.0 - 2018-03-28
- New library implementation API v2.0. Splits the base classes in three new modules:
communication
,controller
andaxis
. - Support for
Electronic CAM
(ECAM) configuration. - Support for programming mode (firmware management).
- Support to
parametric
andtracking
trajectories (PMUX, SYNCRES and TRACK commands). - Support to
auxiliar configuration line
(SYNCAUX). - Library and application loggers based on logging module.
- New
firmware update
application. - New
icepap backup
application. - ESRF data vector library.
- Distribution based on setuptools.
- Automatic documentation based on sphinx.
- GPL+v3 license.
flake8
configuration file.travis
configuration file.
- Old API implementation moved to legacy module.
- Support for ipython profile.
1.22.0 - 2015-05-29
Last release of pyIcePAP library (old API).