Skip to content

Releases: Pioreactor/pioreactor

22.6.0

05 Jun 16:09
Compare
Choose a tag to compare

22.6.0

  • You can now edit the config.ini without having to boot a Pioreactor. By adding a file called config.ini to the boot folder when the SD card is interested in a computer, the /boot/config.ini will be merged with the Pioreactor's config.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 of inventory 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 and od_blanks tables in the db.

22.4.3

29 Apr 17:24
Compare
Choose a tag to compare

22.4.3

  • table led_events is renamed to led_change_events
  • automation events returned from execute are published to MQTT under the published setting latest_event
  • new tables led_automation_events, dosing_automation_events, temperature_automation_events
  • pioreactor.automation.events.Event renamed to pioreactor.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

19 Apr 19:46
Compare
Choose a tag to compare

22.4.2

  • Added ability to add callbacks to ODReader. See add_pre_read_callback and add_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

11 Apr 21:04
Compare
Choose a tag to compare

22.4.1

  • Fix bug associated with user changes.

22.4.0

11 Apr 15:11
f8fb4d7
Compare
Choose a tag to compare

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 now pioreactor. Any coded paths like /home/pi/ should be updated to home/pioreactor/.
  • new image metadata file added to home/pioreactor/.pioreactor/.image_metadata

22.3.0

15 Mar 18:14
Compare
Choose a tag to compare

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 to set_* methods.
  • Internally, the repo uses the msgspec library for complex MQTT message validation. This also introduces the pioreactor.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

02 Feb 14:13
Compare
Choose a tag to compare

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_names 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 to pioreactor.hardware
  • New is_HAT_present and is_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

03 Jan 14:27
Compare
Choose a tag to compare
  • 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 in od_readings_raw table in database is now an integer.

21.12.1

10 Dec 22:18
Compare
Choose a tag to compare
21.12.1 Pre-release
Pre-release

What's Changed

Full Changelog: 21.12.0...21.12.1

21.12.0

03 Dec 16:39
Compare
Choose a tag to compare

21.12.0

  • pid_stable automation renamed to stable
  • 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 general change_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 to pio_processes_running