1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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()
|