Releases: pyControl/code
v2.0.2
Version 2.0
GUI:
-
New and improved data file format.
-
Framework events can now be triggered from the GUI 'Controls' dialog.
-
Notes can be written to data log from GUI 'Controls' dialog.
-
New API allows pyControl tasks to interact with Python code running on computer.
-
New functionality to set variable values for individual hardware setups,
which can be used across different tasks and experiments. -
Setups Tab now does operations on multiple boards in parallel rather than serially.
-
Experiments can now be organised into subfolders within the experiments folder,
to create a nested experiment select menu in the GUI. -
UI improvements.
Framework:
- Added Frame_logger device to provide low overhead method of recording times
of events that do not otherwise need to be processed.
Data_import:
- Rsync_aligner can now extrapolate times before first and after last sync pulse
when converting times between reference frames.
Version 2.0.1
- Fixed bug where variables data output could overwrite data row generated immediately before.
Version 2.0.2
GUI:
-
Various bug fixes.
-
Specified UTF-8 encoding of data files to allow for non ASCII characters in variable names.
Devices:
- Added load cell class.
v1.8.1
Version 1.8.1 2023-02-21
Framework:
- Fixed bug where audio output and rotary encoder could not be used together.
v1.8
GUI:
-
GUI is now compatible with PyQt6 and Python 3.10.
-
New GUI settings dialog.
-
Required device driver files are now automatically transferred to the pyboard when a task or hardware definition is uploaded.
-
Pyboards can how be hidden so they do not show up in board select GUI menus by naming them _hidden_ in the setups tab.
-
Hardware definition files are now stored in a hardware_definitions folder not the generic config folder.
-
Various small improvements and bug fixes.
Framework:
-
Major refactoring of framework code to make it simpler and more readable.
-
Analog inputs now stream data to the computer continously while the framework is running rather than having
record
andstop
methods to start and stop data streaming. -
Events triggered by timers are now output to the data log by default.
-
Removed decimate argument from digital input as it was not used in practice.
-
Added
Frame_trigger
device class for triggering camera frames as a specified frequency and recording the frame times to an analog data file. -
Added uRFID device class for controlling Priority 1 Designs RFID module.
-
Added
print_variables
function for printing variable values to the data log as a json formatted string.
Data import:
- Added
session_dataframe
function for generating a pandas dataframe from a pyControl data file andexperiment_dataframe
for generating a pandas dataframe from an experiment data folder.
v1.8rc1
This is a release candidate for pyControl version 1.8. It has not been extensively tested yet but is being released now as recent changes to Python and/or pyqtgraph have broken compatiblity with earlier versions of pyControl. The updated docs for this version can be viewed on the dev version of the documentation here.
v1.8 change log:
GUI:
-
GUI is now compatible with PyQt 6 and Python 3.10.
-
New GUI settings dialog.
-
Required device driver files are now automatically transferred to the pyboard when a task or hardware definition is uploaded.
-
Various small improvements and bug fixes.
Framework:
-
Major refactoring of framework code to make it simpler and more readable.
-
Analog inputs now automatically stream data to the computer continously while the framework is running rather than having record() and stop() methods to start and stop data streaming.
-
Events triggered by timers are now output to the data log by default.
-
Removed decimate argument from digital input as it was not used in practice.
-
Added Frame_trigger device class for triggering camera frames as a specified frequency and recording the frame times to an analog data file.
-
Added uRFID device class for controlling Priority 1 Designs RFID module.
Data import:
- Added session_dataframe function for generating a pandas dataframe from a pyControl data file.
v1.7.2
GUI:
-
Python terminal window no longer opens when GUI is run. Any error messages generated by the GUI are written to an 'ErrorLog.txt' file rather than being printed in the python terminal.
-
GUI window now has pyControl taskbar icon rather than generic python icon.
-
Fixed bug where experiments tab variables table did not recognise variables if named imports were used in the task file.
v1.7.1
pyControl v1.7
Change log:
- Bug fix and improvements in custom variables dialog editor.
v1.7
pyControl v1.7
Change log:
-
Added functionality for users to create custom dialogs for setting task
variables. -
Modified Rsyn_aligner code to remove the need for users to manually specify
the units pulse times are measured in.
v1.6.2
pyControl version 1.6.1
NOTE: You will need to reload the framework onto your pyboards (using the board config menu) after updating the GUI to this release, due to changes in the communication protocol between the board and the GUI.
Changelog:
-
All pyControl specific functions are now imported by the user into the task file from the pyControl.utility module, rather than some functions being patched onto the task file after it has been imported by the framework.
-
The button example task has been modified to match the example task in the pyControl manuscript. An additional version of the button task using named rather than * imports has been added for comparison of the two import methods.
v1.6.1
pyControl version 1.6.1
NOTE: You will need to reload the framework onto your pyboards (using the board config menu) after updating the GUI to this release, due to changes in the communication protocol between the board and the GUI.
Changelog:
-
Run task tab now displays current state, most recent event and print line.
-
GUI style unified across platforms.
-
GUI font sizes now configurable in gui_settings.py.
-
Fixed bug which prevented events from plotting in Pyqtgraph version > 0.11.0.
-
Made communication from pyboard to computer during framework run more robust
to unexpected output from pyboard. -
Various minor bug fixes.