[[!meta title="slow_bend"]] In the course of my [[research|Thesis]], I've spend a good deal of time developing clean, Python interfaces to much of our lab equipment. I also tend to have strong opinions on the One True Way® to solve a problem. This means that I occasionaly end up writing script to run other people's experiment, especially when they don't take all that much time to write. I wrote `slow_bend` for Liming Zhao, who was a postdoc in our lab from 2008 to 2010. Liming coated one side of an AFM cantilever with a film of cellulose and used [[slow_bend.py]] (version 0.2) to monitor the cantilever deflection as he flushed in different buffers ([paper]). Unfortunately, the paper claims the data aquisition was carried out in LabView. `slow_bend` is not a complicated program; it polls analog input channels using [[pycomedi]] (and optionally reads temperatures using backends from [[pypid]]). The polling continues until `slow_bend` recieves a [KeyboardInterrupt][]. $ slow_bend.py --version 0.4 $ slow_bend.py 0 3 #time (second) chan 0 (bit) chan 0 (volt) chan 3 (bit) chan 3 (volt) 1.81198e-05 34727 0.598001 39679 2.10925 4.00409 34956 0.667887 38033 1.60693 8.00408 35074 0.703899 36780 1.22454 12.0041 35041 0.693828 35814 0.929732 16.0041 34917 0.655985 35044 0.694743 ^C [paper]: http://dx.doi.org/10.1002/bit.22754 [KeyboardInterrupt]: http://docs.python.org/library/exceptions.html#exceptions.KeyboardInterrupt [[!tag tags/code]] [[!tag tags/python]]