Skip to content

Releases: Pioreactor/pioreactor

24.1.23rc0

23 Jan 18:21
Compare
Choose a tag to compare
24.1.23rc0 Pre-release
Pre-release

Upcoming

Conditions and expressions in experiment profiles!

  • adding if directives to experiment_profiles, with dynamic expressions. See full docs here

...
stirring:
actions:
...
- type: update
hours_elapsed: 12.0
if: pio1:od_reading:od1.od > 2.0
options:
- target_rpm: 600

- adding dynamic options via expressions, see full docs [here](https://docs.pioreactor.com/user-guide/create-edit-experiment-profiles#expressions-in-options)

```yaml
...
stirring:
  actions:
    ...
    - type: update
      hours_elapsed: 12.0
      options:
        - target_rpm: ${{ pio1:stirring:target_rpm * 1.1 }}

Breaking changes

  • removing ODReadings.latest_od_reading and it's replaced by ODReadings.ods.
  • removed the topic pioreactor/{unit}/.../od_readings/od/{channel}. Use pioreactor/{unit}/.../od_readings/od1 or pioreactor/{unit}/.../od_readings/od2. This change was made to fit more and more published data into the same format (and it makes od1 and od2 published settings on ODReader)

Enhancements

  • ods, od1, od2 now a published settings of ODReadings.
  • when a worker is first turned on, and pre-connected to a cluster, the LED is turned on to give some feedback to the user.
  • using the 2023-12-11 RPi base image

Bug fixes

24.1.12

12 Jan 21:25
Compare
Choose a tag to compare

24.1.12

Enhancements

  • optimized performance and memory consumption of experiment profiles.

Bug fixes

  • fix initial state of boolean switches in UI.
  • fix Raspberry Pi 5 not addressing PWMs correctly.

24.1.9

09 Jan 22:41
Compare
Choose a tag to compare

24.1.9

Enhancements

  • Initial support for RPi5! To use an RPi5, we recommend not upgrading the software, but using a fresh image install. Under the hood:
    • we are using a new route to load the firmware on the HATs RP2040 (using linuxgpio)
    • the hardware PWMs on the RPi5 use a different chip location. This required a new rpi_hardware_pwm release.
  • new ENV variable, HAT_PRESENT=1, can be set to skip is_HAT_present checks.
  • added the RPis unique MAC addresses to the Manage -> System tab on the Pioreactors page.
  • added table ir_led_intensities to be able to be exported on the Exports page.
  • added a new smoothing_penalizer config option to [od_config]. This parameter, which has default value 700, controls how much smoothing to apply to optical density measurements. This smoothing has always been applied, but now it's a config option.
  • Cleaned up some UI interactions

Breaking changes

  • PWM class is no longer initialized with a duty_cycle, instead:
  • PWM class must be started with start(initial_duty_cyle)
  • moved get_rpi_machine to pioreactor.version

Bug fixes

24.1.9rc1

09 Jan 19:20
Compare
Choose a tag to compare
24.1.9rc1 Pre-release
Pre-release

Upcoming

Enhancements

  • Initial support for RPi5! To use an RPi5, we recommend not upgrading the software, but using a fresh install. Under the hood:
  • we are using a new route to load the firmware on the HATs RP2040 (using linuxgpio)
  • the hardware PWMs on the RPi5 use a different chip location. This required a new rpi_hardware_pwm release.
  • new ENV variable, HAT_PRESENT=1, can be set to skip is_HAT_present checks.
  • added the RPis unique MAC addresses to the Manage -> System tab on the Pioreactors page.
  • added table ir_led_intensities to be able to be exported on the Exports page.
  • added a new smoothing_penalizer config option to [od_config]. This parameter, which has default value 700, controls how much smoothing to apply to optical density measurements. This smoothing has always been applied, but now it's a config option.
  • Cleaned up some UI interactions

Bug fixes

24.1.9rc0

09 Jan 17:28
Compare
Choose a tag to compare
24.1.9rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • Initial support for RPi5! To use an RPi5, we recommend not upgrading the software, but using a fresh install. Under the hood:
  • we are using a new route to load the firmware on the HATs RP2040 (using linuxgpio)
  • the hardware PWMs on the RPi5 use a different chip location. This required a new rpi_hardware_pwm release.
  • new ENV variable, HAT_PRESENT=1, can be set to skip is_HAT_present checks.
  • added the RPis unique MAC addresses to the Manage -> System tab on the Pioreactors page.
  • added table ir_led_intensities to be able to be exported on the Exports page.
  • added a new smoothing_penalizer config option to [od_config]. This parameter, which has default value 700, controls how much smoothing to apply to optical density measurements. This smoothing has always been applied, but now it's a config option.
  • Cleaned up some UI interactions

Bug fixes

24.1.8rc0

08 Jan 22:22
Compare
Choose a tag to compare
24.1.8rc0 Pre-release
Pre-release

Enhancements

  • Initial support for RPi5! To use an RPi5, we recommend not upgrading the software, but using a fresh install. Under the hood:
  • we are using a new route to load the firmware on the HATs RP2040 (using linuxgpio)
  • the hardware PWMs on the RPi5 use a different chip location. This required a new rpi_hardware_pwm release.
  • new ENV variable, HAT_PRESENT=1, can be set to skip is_HAT_present checks.
  • added the RPis unique MAC addresses to the Manage -> System tab on the Pioreactors page.
  • added table ir_led_intensities to be able to be exported on the Exports page.
  • added a new smoothing_penalizer config option to [od_config]. This parameter, which has default value 700, controls how much smoothing to apply to optical density measurements. This smoothing has always been applied, but now it's a config option.
  • Cleaned up some UI interactions

Bug fixes

23.12.11

12 Dec 03:25
Compare
Choose a tag to compare

23.12.11

Improvements

  • Improvements to OD calibration and pump calibrations. Both now have a -f option to provide a json file with calibration data, to skip rerunning data-gathering routines. For example: pio run pump_calibration -f pump_data.json.
  • Ability to update via our release_archives (available on the Github release page) via the UI. To turn this feature off (which is a recommended practice when you expose your UI publically), add an empty file called DISALLOW_UI_UPLOADS to the ~/.pioreactor directory.
  • A new config option to change the max volume to dose when a larger dose volume is split. For example, if your chemostat asks to dose 1.6ml, our internal algorithm will dose 0.75, 0.75 and 0.1 (this is to avoid overflow). The 0.75 was previously hardcoded, but is now a config max_subdose under section [dosing_automation.config] (default is still 0.75ml).
  • Changes to types.DosingProgram, now it requires an MQTT client. Usually this is automation.pub_client. This is to avoid a memory leak!

Bug fixes

  • Fixed an problem where an automation would not successfully end due to it being "blocked" by a while loop in the execute.
  • Fixed a memory leak in dosing control when the automation would pump many many times.

Fixed an issue in update.sh that was causing an error like:

error occurred: RAN: /usr/bin/ssh leader20231130.local 'pio update app' STDOUT: STDERR: �[36m2023-12-12T18:42:58-0500 DEBUG [update-app] sudo pip3 install "pioreactor @ https://github.com/Pioreactor/pioreactor/releases/download/23.12.11/pioreactor-23.12.11-py3-none-any.whl"�[0m �[36m2023-12-12T18:43:09-0500 DEBUG [update-app] Collecting pioreactor@ https://github.com/Pioreactor/pioreactor/releases/download/23.12.11/pioreactor-23.12.11-py3-none-any.whl Downloading https://github.com/Pioreactor/pioreactor/releases/download/23.12.11/pioreactor-23.12.11-py3-none-any.whl (195 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 195.6/195.6 kB 1.0 MB/s eta 0:00:00 Requirement already satisfied: click==8.1.7 in /usr/local/lib/python3.11/dist-packages (from ... (3229 more, please see e.stderr). See logs for more.

23.12.11rc0

12 Dec 02:18
Compare
Choose a tag to compare
23.12.11rc0 Pre-release
Pre-release

Upcoming

Improvements

  • Improvements to OD calibration and pump calibrations. Both now have a -f option to provide a json file with calibration data, to skip rerunning data-gathering routines. For example: pio run pump_calibration -f pump_data.json.
  • Ability to update via our release_archives (available on the Github release page) via the UI. To turn this feature off (which is a recommended practice when you expose your UI publically), add an empty file called DISALLOW_UI_UPLOADS to the ~/.pioreactor directory.
  • A new config option to change the max volume to dose when a larger dose volume is split. For example, if your chemostat asks to dose 1.6ml, our internal algorithm will dose 0.75, 0.75 and 0.1 (this is to avoid overflow). The 0.75 was previously hardcoded, but is now a config max_subdose under section [dosing_automation.config] (default is still 0.75ml).
  • Changes to types.DosingProgram, now it requires an MQTT client. Usually this is automation.pub_client. This is to avoid a memory leak!

Bug fixes

  • Fixed an problem where an automation would not successfully end due to it being "blocked" by a while loop in the execute.
  • Fixed a memory leak in dosing control when the automation would pump many many times.

23.12.10rc0

10 Dec 20:47
Compare
Choose a tag to compare
23.12.10rc0 Pre-release
Pre-release

Upcoming

  • Improvements to OD calibration and pump calibrations. Both now have a -f option to provide a json file with calibration data, to skip rerunning data-gathering routines. For example: pio run pump_calibration -f pump_data.json.
  • Ability to update via our release_archives (available on the github release page) via the UI. To turn this feature off (which is a recommended practice when you expose your UI publically), add an empty file called DISALLOW_UI_UPLOADS to the ~/.pioreactor directory.
  • A new config option to change the max volume to dose when a larger dose volume is split. For example, if your chemostat asks to dose 1.6ml, our internal algorithm will dose 0.75, 0.75 and 0.1 (this is to avoid overflow). The 0.75 was previously hardcoded, but is now a config max_subdose under section [dosing_automation.config] (default is still 0.75ml).
  • Fixed a memory leak in dosing control when the automation would pump many many times.
  • Change to types.DosingProgram, now it requires an MQTT client. Usually this is automation.pub_client. This is to avoid a memory leak!

23.12.4rc2

04 Dec 20:21
Compare
Choose a tag to compare
23.12.4rc2 Pre-release
Pre-release

23.12.4rc2