added custom test code
This commit is contained in:
parent
a128c8ae63
commit
ce02078a6c
1094
no_preempt_rt.svg
Normal file
1094
no_preempt_rt.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 28 KiB |
34
test.py
Normal file
34
test.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
ITERATIONS = 300
|
||||||
|
ITERATION_DURATION = 1 #second(s)
|
||||||
|
|
||||||
|
def set_rt_priority():
|
||||||
|
subprocess.run(["schedtool", "-F", "-p", "99"], check=True)
|
||||||
|
|
||||||
|
def rt_task():
|
||||||
|
new_time = time.time()
|
||||||
|
jitter_record = []
|
||||||
|
for i in range(ITERATIONS + 1):
|
||||||
|
old_time = new_time
|
||||||
|
new_time = time.time()
|
||||||
|
print("--------------------------------------------------")
|
||||||
|
print(f"system time:\t{new_time} s")
|
||||||
|
print(f"time diff:\t{new_time - old_time} s")
|
||||||
|
jitter = new_time - old_time - ITERATION_DURATION
|
||||||
|
jitter_record.append(jitter)
|
||||||
|
print(f"jitter:\t{jitter} s")
|
||||||
|
time.sleep(new_time + ITERATION_DURATION - time.time())
|
||||||
|
jitter_record.pop(0)
|
||||||
|
plt.plot(jitter_record)
|
||||||
|
plt.title(f"Jitter at {ITERATION_DURATION} s interval")
|
||||||
|
plt.xlabel("Iteration")
|
||||||
|
plt.ylabel("Jitter (in s)")
|
||||||
|
plt.savefig("out.svg")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
set_rt_priority()
|
||||||
|
rt_task()
|
1108
with_preempt_rt.svg
Normal file
1108
with_preempt_rt.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 28 KiB |
Loading…
x
Reference in New Issue
Block a user