diff options
Diffstat (limited to 'pywrap/html_server.py')
-rw-r--r-- | pywrap/html_server.py | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/pywrap/html_server.py b/pywrap/html_server.py new file mode 100644 index 0000000..1731cae --- /dev/null +++ b/pywrap/html_server.py @@ -0,0 +1,105 @@ +import pcipywrap +import json + +#import flask elements +from flask import render_template +from flask import Flask +from flask import request +from flask import url_for +from flask import redirect + +app = Flask(__name__) +pcilib = 0; +device = '/dev/fpga0' +model = 'test_pywrap' + +@app.route('/set_property') +def set_property(): + val = request.args.get('val') + prop = request.args.get('prop') + + try: + pcilib.set_property(float(val), str(prop)) + return redirect(url_for('get_property_list', branch=prop)) + except Exception as e: + return str(e) + +@app.route('/write_register') +def write_register(): + val = request.args.get('val') + name = request.args.get('name') + bank = request.args.get('bank') + + try: + pcilib.write_register(float(val), str(name), str(bank)) + return redirect(url_for('get_register_info', name=name, bank=bank)) + except Exception as e: + return str(e) + +@app.route('/register_info') +def get_register_info(): + name = request.args.get('name') + bank = request.args.get('bank') + + reg_info = 0 + value = 0 + try: + reg_info = pcilib.get_register_info(str(name), str(bank)) + value = pcilib.read_register(str(name), str(bank)) + except Exception as e: + return str(e) + return render_template('register_info.html', + register=reg_info, + value=value) + + +@app.route("/registers_list") +def get_registers_list(): + reg_list = 0 + try: + reg_list = pcilib.get_registers_list() + except Exception as e: + return str(e) + + return render_template('registers_list.html', + registers=reg_list, + ) + +@app.route("/property_info") +def get_property_list(): + branch = request.args.get('branch') + if not branch is None: + branch = str(branch) + + prop_info = 0 + try: + prop_info = pcilib.get_property_list(branch) + except Exception as e: + return str(e) + + value = -1 + if (len(prop_info) == 1) and not ('childs' in (prop_info[0])['flags']): + try: + branch = (prop_info[0])['path'] + value = pcilib.get_property(branch) + except Exception as e: + return str(e) + + return render_template('property_info.html', + value = value, + branch = branch, + properties = prop_info, + json = json + ) + +@app.route("/") +def greet(): + return render_template('base.html', + device = device, + model = model) + +if __name__ == "__main__": + pcilib = pcipywrap.Pcipywrap(device, model) + pcipywrap.__redirect_logs_to_exeption() + app.debug = True + app.run() |