Skip to content

Releases: pyControl/code

v2.1.1

02 Dec 18:47

Choose a tag to compare

Version 2.1.1 (2025-12-02)

Tools:

  • Improved Rsync_aligner

Devices:

  • Simplified UART_handler device; now requires MicroPython >= 1.26

v2.1

11 Nov 20:56

Choose a tag to compare

Version 2.1 (2025-11-11)

GUI:

  • Various bug fixes & UI improvements.

Framework:

  • Analog_input and Rotary_encoder now support multiple thresholds for generating framework events.
  • Rsync pulses can now be output on multiple pins.
  • Fixed bug where stepped and pulsed sounds started after a short delay.

Devices:

  • Added GridMaze device class.
  • Added UART_handler device to generate framework events when UART message received.

v2.0.2

12 Jan 17:43

Choose a tag to compare

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

21 Feb 11:10

Choose a tag to compare

Version 1.8.1 2023-02-21

Framework:

  • Fixed bug where audio output and rotary encoder could not be used together.

v1.8

08 Nov 20:50

Choose a tag to compare

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 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.

  • 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 and experiment_dataframe for generating a pandas dataframe from an experiment data folder.

v1.8rc1

07 Oct 13:25

Choose a tag to compare

v1.8rc1 Pre-release
Pre-release

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

30 Jun 19:31

Choose a tag to compare

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

20 Apr 09:41

Choose a tag to compare

pyControl v1.7

Change log:

  • Bug fix and improvements in custom variables dialog editor.

v1.7

06 Apr 20:23

Choose a tag to compare

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

23 Dec 18:54

Choose a tag to compare

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.