aboutsummaryrefslogtreecommitdiffstats
path: root/System_Python/system.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* A few more minor tweaks to initialization. Added public variables for linear ↵Raspberry Pi2019-11-141-7/+16
| | | | extent. Tested initialization on functioning system - it works!
* Update initialize to not use wait_for_event for detecting limit switches. ↵Raspberry Pi2019-11-141-17/+26
| | | | Update linear encoder to reduce noisy behavior and properly keep track of position. NOTE: Linear encoder direction seems to be backwards relative to the system (the motor currently also moves in this direction). Not a big deal as long as the motor and linear encoder work together properly, but ideally positive would be to the right.
* Got limit switches working properly and tested. Got result file printout ↵Raspberry Pi2019-10-291-7/+9
| | | | working properly. Other minor issues from merge conflict.
* Resolved merge conflicts.Raspberry Pi2019-10-291-2/+127
|\
| * Add better limit handling to system: when a limit is triggered, return to ↵damic0142019-10-291-0/+47
| | | | | | | | | | | | | | | | | | | | the linear-zero position. Add an initialize function for startup: use the limit switches to find the track extent and then go to zero. With the above two additions, we should be able to assume that new tests will always start at the zero position. Also add an initialize file which just calls sys.initialize to find the zero position. This should only be run on power-up (eventually, we should configure the Pi to run this on OS startup).
| * Add interrupts for HW limit switches.damic0142019-10-171-4/+85
| | | | | | | | | | Add ability to add SW limits (challenge mode). Add result file reporting (currently using date-time for the test, which we can assume will be unique per test).
* | Measured linear movement from physical system. Slightly modified test_Motor ↵Raspberry Pi2019-10-151-6/+4
|/ | | | to test on physical system.
* Updated encoder for proper zero setting and offset behavior. Tested system ↵Raspberry Pi2019-10-151-68/+69
| | | | library and successfully got the encoder position controlling the motor speed.
* Add a linear encoder class for abstracting the angular-to-linear encoding, ↵damic0142019-10-151-4/+37
| | | | which will be based on the specs of the system. This is the basic implementation we've talked about, but there might be some issues still because the position is only read when we tell it, so keeping track of number of rotations might not be very accurate - will need to test and possibly brainstorm alternate ideas.
* Add System library and system test file. Still need to finalize some ↵damic0142019-10-131-0/+68
implementation details (linear encoder, motor orientation, etc.). Need to compile and test on RPi still. Convert naming in other libraries to follow Python naming scheme.