Skip to content

Releases: cbosoft/syringepump

Alpha v0.8

10 Feb 10:03
Compare
Choose a tag to compare
Alpha v0.8 Pre-release
Pre-release

Changes

  • Faster Arduino communication
  • PID in passive control mode
  • Composition-adaptive controller tuning

TODO

  • Tune stress controller (maybe I'll get around to this someday)

Alpha v 0.7

23 Jan 08:52
Compare
Choose a tag to compare
Alpha v 0.7 Pre-release
Pre-release

Changes

  • Python module!
  • Logging optical encoder data!
  • Bug fixes! (log control settings properly, log units)
  • Passive "control"! (Measure controlled value for a time, then just leave it to vary)

TODO

  • Tune stress controller (still)

Alpha v0.6

25 Nov 14:00
Compare
Choose a tag to compare
Alpha v0.6 Pre-release
Pre-release

Ch-ch-ch-changes

  • Separated out setter and controller: setpoint for control is set by a constant or time varying function.
  • PID controller tuning is hidden in a dialog to de-clutter GUI
  • Added log output options: user can decide what information (final values, or raw intermediate values) they want in the output file.
  • Reworked how GUI elements are interfaced from the code (more modular, fewer references are held).

TODO

  • Tune (stress) controller
  • Improve speed/accuracy of controller on Arduino
  • Model process to better tune controller

Alpha Release 4

15 Oct 13:42
Compare
Choose a tag to compare
Alpha Release 4 Pre-release
Pre-release

New features:

  • stress control
  • puts header information within the csv, instead of in the file name (cleaner).

TODO

  • Tune stress control

Alpha release 3

16 Sep 07:48
Compare
Choose a tag to compare
Alpha release 3 Pre-release
Pre-release

Fixed:

  • Progress bar wobbles less. Noise in linear pot reading made the progress "wobbly". It no longer updates to a smaller value, so there is no more wobble.
  • Errors now actually show up on errno 11. Errors are shown and if errno is set, the associated description is shown. Errrno 11 (resource temporarily unavailable) keeps popping up for a reason I haven't figured out yet, so I wanted to hide the extended description on errno 11, however I ended up hiding the whole error message. Oops. Fixed now though.
  • Added setting "stop buffer length". The syringe takes up some room at the end of the pump, so the pump cannot push it fully to the end. The "stop buffer" setting is a distance from the end at which the pump considers itself "done".
  • Added setting "inner diameter". Previously the inner diameter of the syringe was hardcoded; now it is a user definable setting.

Alpha release 2

09 Aug 11:19
Compare
Choose a tag to compare
Alpha release 2 Pre-release
Pre-release

Changes:

  • fixed bug where control parameters were not correctly passed to arduino
  • fixed some of the occasional crashing
  • calibrated sensors and changed units in control
  • speed (mm/s) -> flowrate (ml/s)
  • load (unitless) -> force (N)
  • position (unitless) -> position (mm)
  • added integral control (PI, one letter to go!)

Alpha release

31 Jul 12:43
Compare
Choose a tag to compare
Alpha release Pre-release
Pre-release

Alpha release

I think I've got most of the bugs ironed out, but there may be some I haven't yet found.

Things that work

  • controls speed of pump (to a set point of mm/s) (proportional only control, for now)
  • control can be turned off if a constant is desired
  • logs data taken from Arduino to file
  • automatically generate log file names, depending on run parameters, user defined tag, and number of files
  • progress bar
  • cancel and stop safely (cancelled logs are not deleted, they are saved)
  • if the program crashes, logs will be similarly safe.

Things that do not work

  • crashes on startup occasionally (seg fault) I am finding it difficult to recreate this, and valgrind is happy with everything so I can't figure out what's wrong.
  • only P control (not PID)
  • log names only reflect PID control scheme, not constant value control (nor is it set up for possible future control schemes).