Releases: Pioreactor/pioreactor
Releases · Pioreactor/pioreactor
24.1.23rc0
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 byODReadings.ods
. - removed the topic
pioreactor/{unit}/.../od_readings/od/{channel}
. Usepioreactor/{unit}/.../od_readings/od1
orpioreactor/{unit}/.../od_readings/od2
. This change was made to fit more and more published data into the same format (and it makesod1
andod2
published settings onODReader
)
Enhancements
ods
,od1
,od2
now a published settings ofODReadings
.- 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
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
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.
- we are using a new route to load the firmware on the HATs RP2040 (using
- new ENV variable,
HAT_PRESENT=1
, can be set to skipis_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 aduty_cycle
, instead:PWM
class must be started withstart(initial_duty_cyle)
- moved
get_rpi_machine
topioreactor.version
Bug fixes
- Ack! I reintroduced a UI export bug. Fix is present going forward. For existing users, try the following: https://forum.pioreactor.com/t/new-pioreactor-release-23-11-18/179/2
- fixed a bug where stirring DC would jump up too high when RPM measured 0.
24.1.9rc1
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 skipis_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
- Ack! I reintroduced a UI export bug. Fix is present going forward. For existing users, try the following: https://forum.pioreactor.com/t/new-pioreactor-release-23-11-18/179/2
- fixed a bug where stirring DC would jump up too high when RPM measured 0.
24.1.9rc0
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 skipis_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
- Ack! I reintroduced a UI export bug. Fix is present going forward. For existing users, try the following: https://forum.pioreactor.com/t/new-pioreactor-release-23-11-18/179/2
- fixed a bug where stirring DC would jump up too high when RPM measured 0.
24.1.8rc0
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 skipis_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
- Ack! I reintroduced a UI export bug. Fix is present going forward. For existing users, try the following: https://forum.pioreactor.com/t/new-pioreactor-release-23-11-18/179/2
- fixed a bug where stirring DC would jump up too high when RPM measured 0.
23.12.11
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 isautomation.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 theexecute
. - 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
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 isautomation.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 theexecute
. - Fixed a memory leak in dosing control when the automation would pump many many times.
23.12.10rc0
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 isautomation.pub_client
. This is to avoid a memory leak!
23.12.4rc2
23.12.4rc2