Releases: Pioreactor/pioreactor
Releases · Pioreactor/pioreactor
22.6.0
22.6.0
- You can now edit the config.ini without having to boot a Pioreactor. By adding a file called
config.ini
to theboot
folder when the SD card is interested in a computer, the/boot/config.ini
will be merged with the Pioreactor'sconfig.ini
. This is useful for changing settings before ever starting up your Pioreactor for the first time. See below. config.ini
is now the place where the local-access-point's SSID and passphrase are stored.- new
pio
command on leader:pio discover-workers
returns a list of workers on the network (may be a superset ofinventory
in the config.ini) - new
pios
command on leader:pios reboot
. Reboots all active workers in the cluster. - self-test tests run in parallel
- Adding
NOTICE
log level, which will appear in the UI. - New schemas for
kalman_filter_outputs
andod_blanks
tables in the db.
22.4.3
22.4.3
- table
led_events
is renamed toled_change_events
- automation events returned from
execute
are published to MQTT under the published settinglatest_event
- new tables
led_automation_events
,dosing_automation_events
,temperature_automation_events
pioreactor.automation.events.Event
renamed topioreactor.automation.events.AutomationEvent
. The have a second kwarg that accepts a dict of data (must be json-serializable).- new leader command
pios reboot
: reboot RPis on the network, optionally specific ones with--unit
flag. - new CLI tool:
pio log -m <message>
which will post a message to the pioreactors logs (everywhere). Example: this is used internally after systemd finish to log to our system.
22.4.2
22.4.2
- Added ability to add callbacks to ODReader. See
add_pre_read_callback
andadd_post_read_callback
. - Fix bug associated with user changes.
pio logs
no longer uses MQTT. Also, it now prints their entire log file.- BETA: testing shipping with access-point capabilities. See docs.
22.4.1
22.4.1
- Fix bug associated with user changes.
22.4.0
22.4.0
- store more experiment metadata, like strain and media, in the database.
- adding temporary labels of Pioreactors into the database in
pioreactor_unit_labels
table - renaming some tables,
alt_media_fraction
->alt_media_fractions
,ir_led_intensity
->ir_led_intensities
- pumps now throw a
CalibrationError
exception if their calibration is not defined. - default user is no longer
pi
. It is nowpioreactor
. Any coded paths like/home/pi/
should be updated tohome/pioreactor/
. - new image metadata file added to
home/pioreactor/.pioreactor/.image_metadata
22.3.0
22.3.0
- fixed memory leak in MQTT connections
- better clean up after a job disconnects
- If the temperature of the heating PCB gets too high, the automation switches to Silent (previously it did not switch at all.)
- "datatype" field in
published_settings
is now used to cast before being given toset_*
methods. - Internally, the repo uses the
msgspec
library for complex MQTT message validation. This also introduces thepioreactor.structs
module which details the structure of the messages. - Name change:
DosingAutomation
->DosingAutomationJob
,TemperatureAutomation
->TemperatureAutomationJob
,LEDAutomation
->LEDAutomationJob
. - New json-encoded datatype for changing automations over MQTT: see
pioreactor.struct.Automation
pio run led_intensity
has new API: use the flags, ex:--A 10.0
, to set the intensities on different channels.pioreactor.actions.led_intensity
has a new API that accepts the desired state as a dict.- pump actions are now under
pioreactor.actions.pump
instead of their own files.
22.2.0
22.2.0
- Added more error codes for the ADC, network issues, and high temperature
- Reduce chance of running multiple growth_rate_calculating jobs
- Custom exceptions thrown in the Python software.
- New checks for HAT being present, and Heating PCB being present, before a job is run (if required in the job).
- QOL improvements to stirring calibration
- Calibrations now store the data locally, alongside the calibration results, in the local storage.
- New API in
DosingController
to add custom pumps - Some
job_name
s are disallowed to avoid MQTT conflicts - ADCReader now will estimate the local AC hertz to get a better OD reading signal.
- Custom Python exceptions were introduced.
pioreactor.hardware_mappings
is renamed topioreactor.hardware
- New
is_HAT_present
andis_heating_pcb_present
functions - ErrorCodes is gone - use global variables in error_codes
- Adding logic for 180° sensor to growth_rate_calculating
- Pumps now have a state broadcast to MQTT, and thus can be "disconnected" over MQTT.
- Improved the response time of stopping pumps from the web UI.
22.1.0
- improved temperature-recording frequency (10m to 4m)
- removed the PWM's DC maximum on the heating output.
- New
pioreactor.version.hardware_verion
which reads from the HAT's EEPROM which version
of board is being used. - removed PD channels 3 & 4.
angle
column inod_readings_raw
table in database is now an integer.
21.12.1
What's Changed
- better error handling when no signal is being produced (case when no … by @CamDavidsonPilon in #221
- Regression based temperature inference by @CamDavidsonPilon in #219
- Test out better handling of SSH disconnects by @CamDavidsonPilon in #223
- Hardware version by @CamDavidsonPilon in #226
Full Changelog: 21.12.0...21.12.1
21.12.0
21.12.0
pid_stable
automation renamed tostable
- jobs can now publish to
pioreactor/<unit>/+/monitor/flicker_led_with_error_code/<error code>
to have the LED flash a specific error code. - fixed errors raised when not able to connect to leader's MQTT
- improvements to error handling in monitor job.
- replaced
turn_off_leds_temporarily
with the more useful and more generalchange_leds_intensities_temporarily
- UX improvements to the
pump_calibration
action - improving *-Controller jobs:
automation
is now a dict attribute (json in MQTT)automation_name
is a new published_setting, with string. This is what is read from the UI.- CLI has a slightly changed API to pick the automation
pio_jobs_running
renamed topio_processes_running