diff options
author | Matt Strapp <matt@mattstrapp.net> | 2022-02-18 12:41:51 -0600 |
---|---|---|
committer | Matt Strapp <matt@mattstrapp.net> | 2022-02-18 12:41:51 -0600 |
commit | 1337de59b712c30c447b2b45de9ec54ecd6d8ea4 (patch) | |
tree | 6c0fc73eeee869bd01392a849fc547a2552cb919 /System/Tests | |
parent | Change git repo to organization repos (diff) | |
download | ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar.gz ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar.bz2 ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar.lz ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar.xz ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.tar.zst ee4511w-1337de59b712c30c447b2b45de9ec54ecd6d8ea4.zip |
Hopefully get the system able to be packaged
Signed-off-by: Matt Strapp <matt@mattstrapp.net>
Diffstat (limited to 'System/Tests')
-rw-r--r-- | System/Tests/donovanTestScript.py | 81 | ||||
-rw-r--r-- | System/Tests/samTestScript.py | 42 | ||||
-rw-r--r-- | System/Tests/test_Encoder.py | 23 | ||||
-rw-r--r-- | System/Tests/test_Motor.py | 29 | ||||
-rw-r--r-- | System/Tests/test_Return_Home.py | 19 | ||||
-rw-r--r-- | System/Tests/test_System.py | 13 |
6 files changed, 207 insertions, 0 deletions
diff --git a/System/Tests/donovanTestScript.py b/System/Tests/donovanTestScript.py new file mode 100644 index 0000000..4a51f08 --- /dev/null +++ b/System/Tests/donovanTestScript.py @@ -0,0 +1,81 @@ + + + + + +import sys +sys.path.insert(0, '/home/pi/pendulum/System') +from System.system import System +import time +from sys import exit +#import pandas + + +### +sys.path.insert(0, '/home/pi/pendulum/System') +from encoder import Encoder +import RPi.GPIO as GPIO + + +clk_pin = 3 +cs_pin = 23 +data_pin = 2 + +e = Encoder(clk_pin, cs_pin, data_pin) +e.set_zero() +### + + + + +sys = System(angular_units = 'Radians') + +for x in range(4,20): + linear = 0 + + print("beginning of test with speed " + str(x)) + + while linear > -7: + sys.adjust(-5) + angle, linear = sys.measure() + print("Angle: " + str(angle) + ", Linear: " + str(linear)) + time.sleep(0.1) + sys.adjust(0) + time.sleep(3) + sys.add_log("this is a test with speed " + str(x)) + + while linear < 7: + sys.adjust(x) + angle, linear = sys.measure() + print("Angle: " + str(angle) + ", Linear: " + str(linear)) + sys.add_results(e.read_position('Degrees'), linear, x) + time.sleep(0.1) + sys.adjust(0) + print("end of test with speed " + str(x)) + time.sleep(3) + + +exit() + + + + + + + + +#class test(): +# def __init__(self, x, theta): +# self.x = 0 +# self.theta = 0 +# +# def getINFO(self, theta): +# #theta, x = self.System.measure() +# theta, x = self.sys.measure() +# +#while(1): +# test.getINFO() +# print("t") +# #print("theta",test.theta) +# #print("x",test.x) +# diff --git a/System/Tests/samTestScript.py b/System/Tests/samTestScript.py new file mode 100644 index 0000000..5f9312f --- /dev/null +++ b/System/Tests/samTestScript.py @@ -0,0 +1,42 @@ + +import sys +sys.path.insert(0, '/home/pi/pendulum/System') +from System.system import System +import time +from sys import exit +#import pandas + + +sys = System(angular_units = 'Radians') + +for x in range(0,10): + angle, linear = sys.measure() + print("Angle: " + str(angle) + ", Linear: " + str(linear)) + sys.add_results(linear, angle, angle) + time.sleep(0.2) + + +exit() + + + + + + + + +#class test(): +# def __init__(self, x, theta): +# self.x = 0 +# self.theta = 0 +# +# def getINFO(self, theta): +# #theta, x = self.System.measure() +# theta, x = self.sys.measure() +# +#while(1): +# test.getINFO() +# print("t") +# #print("theta",test.theta) +# #print("x",test.x) +#
\ No newline at end of file diff --git a/System/Tests/test_Encoder.py b/System/Tests/test_Encoder.py new file mode 100644 index 0000000..bb6e3e4 --- /dev/null +++ b/System/Tests/test_Encoder.py @@ -0,0 +1,23 @@ +from encoder import Encoder +import time +import RPi.GPIO as GPIO + +# Decide which pins to hook up to on the Pi before running +clk_pin = 3 +cs_pin = 23 +data_pin = 2 + +e = Encoder(clk_pin, cs_pin, data_pin) +e.set_zero() + +try: + while(1): + print(e.read_position('Degrees')) + time.sleep(0.001) +except: + print("Program killed by Ctrl-C") +finally: + # Perform GPIO cleanup. Things may get weird otherwise... + GPIO.cleanup() + + diff --git a/System/Tests/test_Motor.py b/System/Tests/test_Motor.py new file mode 100644 index 0000000..f48b6ee --- /dev/null +++ b/System/Tests/test_Motor.py @@ -0,0 +1,29 @@ +from motor import Motor
+import time
+import RPi.GPIO as GPIO
+
+# Decide which pins to hook up to on the Pi before running
+speed_pin = 17
+forward_pin = 27
+reverse_pin = 22
+
+m = Motor(speed_pin, forward_pin, reverse_pin)
+
+dir = 'ascending'
+speed = 0.0
+try:
+ while 1:
+ if speed >= 15.0:
+ dir = 'descending'
+ elif speed <= -15.0:
+ dir = 'ascending'
+ if dir == 'ascending':
+ speed = speed + 2.0
+ else:
+ speed = speed - 2.0
+ m.move(speed)
+ time.sleep(0.1)
+except:
+ print("Program killed by Ctrl-C")
+finally:
+ GPIO.cleanup()
\ No newline at end of file diff --git a/System/Tests/test_Return_Home.py b/System/Tests/test_Return_Home.py new file mode 100644 index 0000000..04e19cb --- /dev/null +++ b/System/Tests/test_Return_Home.py @@ -0,0 +1,19 @@ +from system import System
+from time import sleep
+
+# Main program
+#print("before system()call")
+sys = System()
+#print("after system() call")
+sys.initialize()
+#print("after sys.inintalize called")
+
+ang,lin = sys.measure()
+print("Starting position before moving: " + str(lin))
+sys.adjust(4)
+ang,lin = sys.measure()
+sleep(0.01)
+while lin < 10:
+ ang,lin = sys.measure()
+ sleep(0.01)
+sys.return_home()
diff --git a/System/Tests/test_System.py b/System/Tests/test_System.py new file mode 100644 index 0000000..c05affc --- /dev/null +++ b/System/Tests/test_System.py @@ -0,0 +1,13 @@ +# This test file implements a super simple control-type function for testing the System library.
+# DO NOT TEST ON ASSEMBLED PHYSICAL SYSTEM! It will probably break it.
+import time
+
+from System.system import System
+
+# Main program
+sys = System(angular_units = 'Radians')
+while 1:
+ angle, linear = sys.measure()
+ print("Angle: " + str(angle) + ", Linear: " + str(linear))
+ time.sleep(0.2)
+
|