Advertisement
silver2row

IIO_SS_and_Trigger_Flask

Mar 1st, 2025
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import sys
  4. import os
  5. from flask import Flask, render_template
  6. import iio
  7.  
  8. iio_context = iio.Context()
  9.  
  10. pin = '0'
  11. sample = 0
  12.  
  13. IIOPATH='/sys/bus/iio/devices/iio:device0/in_voltage'+pin+'_raw'
  14.  
  15. print('Hit ^C to stop')
  16.  
  17. f = open(IIOPATH, "r")
  18.  
  19. app = Flask(__name__)
  20. @app.route("/")
  21. @app.route("/<state>")
  22. def sab(state="my_samples"):
  23.     if state == "sample":
  24.         my_uri = sys.argv[1] if len(sys.argv) >= 3 else "0.0.0.0:8081"
  25.         my_samples = sys.argv[2] if len(sys.argv) >= 3 else 200
  26.  
  27.         print("Executing trigger_now attribute for trigger0");
  28.         print("for uri: " + str(my_uri))
  29.         print("for " + str(my_samples) + " samples\n");
  30.         i = 0
  31.         while i < int(my_samples):
  32.             f.seek(0)
  33.             x = float(f.read())/4096
  34.             print('{}: {:.1f}%, {:.3f} V'.format(pin, 100*x, 1.8*x), end = '\r')
  35.             i+=1
  36.             os.system("iio_attr -u "+my_uri+" -d trigger0 trigger_now 1 \n")
  37.             print("triggered "+str(i)+" times\n" )
  38.  
  39.         template_data = {
  40.             "title"   : state,
  41.             "Big_IIO" : sample,
  42.         }
  43.     return render_template("Saber.html", state=state)
  44.  
  45. if __name__=="__main__":
  46.     app.run(host="0.0.0.0", port=8080, debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement