From e2550e6df11558ccd6e8b95f489c0988b34347af Mon Sep 17 00:00:00 2001 From: Vasilii Chernov Date: Fri, 26 Feb 2016 10:19:58 +0100 Subject: 1. pywrap: - fix get_registers_list crash with bank != NULL - set correct python version in cmake install step 2. html_server: - merge set and get value boxes into one box - add registers bank view mode - read registers/properties values in bank/branch view mode 3. xml/test - remove cmosis registers - add multithread safe property example --- xml/test/cmosis.xml | 50 ------------------------------------------------ xml/test/props.xml | 7 ++++++- xml/test/test_prop_mt.py | 24 +++++++++++++++++++++++ 3 files changed, 30 insertions(+), 51 deletions(-) delete mode 100644 xml/test/cmosis.xml create mode 100644 xml/test/test_prop_mt.py (limited to 'xml') diff --git a/xml/test/cmosis.xml b/xml/test/cmosis.xml deleted file mode 100644 index 45d2f6e..0000000 --- a/xml/test/cmosis.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xml/test/props.xml b/xml/test/props.xml index 650c781..2310d78 100644 --- a/xml/test/props.xml +++ b/xml/test/props.xml @@ -1,6 +1,11 @@ - + + diff --git a/xml/test/test_prop_mt.py b/xml/test/test_prop_mt.py new file mode 100644 index 0000000..f8c63d0 --- /dev/null +++ b/xml/test/test_prop_mt.py @@ -0,0 +1,24 @@ +import time +import threading +lock = threading.Lock() + +def read_from_register(ctx, value): + with lock: + ctx.lock('lock5') + + cur = read_from_register.counter + read_from_register.counter += 1 + for i in range (0, 5): + time.sleep(0.1) + print cur + out = ctx.get_property('/test/prop3') / 2 + ctx.unlock('lock5') + + return out + + +read_from_register.counter = 0 + +def write_to_register(ctx, value): + with lock: + ctx.set_property(value*2, '/test/prop3') -- cgit v1.2.3 From 5d775d64bdec554b9842823bd1c46263210425fd Mon Sep 17 00:00:00 2001 From: Vasilii Chernov Date: Tue, 1 Mar 2016 10:42:40 +0100 Subject: 1. multithreading: - Enable multiprocessing for api_server - Enable mutrithreading for html_server 2. py: - extract pcilib->py bases from pcilib->py functions - add api for interact directly with pcilib->py without pcilib context. 3. pcipywrap - Add scripts handling. --- xml/scripts/test_script.py | 4 ++++ xml/scripts/test_script2.py | 4 ++++ xml/test/test_prop_mt.py | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 xml/scripts/test_script.py create mode 100644 xml/scripts/test_script2.py (limited to 'xml') diff --git a/xml/scripts/test_script.py b/xml/scripts/test_script.py new file mode 100644 index 0000000..16e4adb --- /dev/null +++ b/xml/scripts/test_script.py @@ -0,0 +1,4 @@ +description='this is a test script' + +def run(ctx, inpt): + return ctx.get_registers_list(); diff --git a/xml/scripts/test_script2.py b/xml/scripts/test_script2.py new file mode 100644 index 0000000..16e4adb --- /dev/null +++ b/xml/scripts/test_script2.py @@ -0,0 +1,4 @@ +description='this is a test script' + +def run(ctx, inpt): + return ctx.get_registers_list(); diff --git a/xml/test/test_prop_mt.py b/xml/test/test_prop_mt.py index f8c63d0..3714597 100644 --- a/xml/test/test_prop_mt.py +++ b/xml/test/test_prop_mt.py @@ -4,15 +4,15 @@ lock = threading.Lock() def read_from_register(ctx, value): with lock: - ctx.lock('lock5') + ctx.lock('lock12') cur = read_from_register.counter read_from_register.counter += 1 - for i in range (0, 5): + for i in range (0, 60): time.sleep(0.1) print cur out = ctx.get_property('/test/prop3') / 2 - ctx.unlock('lock5') + ctx.unlock('lock12') return out -- cgit v1.2.3 From 9b947f32c3db96c3022afad401b1349205d22259 Mon Sep 17 00:00:00 2001 From: Vasilii Chernov Date: Tue, 1 Mar 2016 16:42:48 +0100 Subject: 1. api-serer: - change multiprosessing work mechanism - add new pywrap functions handling 2. html-server: - now works through api-server --- xml/scripts/test_script.py | 2 +- xml/test/test_prop_mt.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'xml') diff --git a/xml/scripts/test_script.py b/xml/scripts/test_script.py index 16e4adb..5363a94 100644 --- a/xml/scripts/test_script.py +++ b/xml/scripts/test_script.py @@ -1,4 +1,4 @@ description='this is a test script' def run(ctx, inpt): - return ctx.get_registers_list(); + return bytearray('111') diff --git a/xml/test/test_prop_mt.py b/xml/test/test_prop_mt.py index 3714597..a5e5fab 100644 --- a/xml/test/test_prop_mt.py +++ b/xml/test/test_prop_mt.py @@ -8,7 +8,7 @@ def read_from_register(ctx, value): cur = read_from_register.counter read_from_register.counter += 1 - for i in range (0, 60): + for i in range (0, 5): time.sleep(0.1) print cur out = ctx.get_property('/test/prop3') / 2 -- cgit v1.2.3 From 8719b84a95805d109e21c20f05a0164315e1b38a Mon Sep 17 00:00:00 2001 From: Vasilii Chernov Date: Wed, 2 Mar 2016 10:26:13 +0100 Subject: Move scripts handing code from py.c to Python wrap --- xml/scripts/test_script.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'xml') diff --git a/xml/scripts/test_script.py b/xml/scripts/test_script.py index 5363a94..46a5b25 100644 --- a/xml/scripts/test_script.py +++ b/xml/scripts/test_script.py @@ -1,4 +1,2 @@ -description='this is a test script' - def run(ctx, inpt): return bytearray('111') -- cgit v1.2.3 From 02d0026e2df2ba5c68c0c1a67aec4437c9e8e8f3 Mon Sep 17 00:00:00 2001 From: Vasilii Chernov Date: Wed, 2 Mar 2016 14:38:59 +0100 Subject: Add Python3 support --- xml/scripts/test_script.py | 10 +++++++++- xml/test/test_prop_mt.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'xml') diff --git a/xml/scripts/test_script.py b/xml/scripts/test_script.py index 46a5b25..8f236e9 100644 --- a/xml/scripts/test_script.py +++ b/xml/scripts/test_script.py @@ -1,2 +1,10 @@ +import sys +if sys.version_info >= (3,0): + import binascii + def run(ctx, inpt): - return bytearray('111') + if sys.version_info >= (3,0): + return binascii.a2b_uu('111') + else: + return bytearray('111') + diff --git a/xml/test/test_prop_mt.py b/xml/test/test_prop_mt.py index a5e5fab..224a80c 100644 --- a/xml/test/test_prop_mt.py +++ b/xml/test/test_prop_mt.py @@ -10,7 +10,7 @@ def read_from_register(ctx, value): read_from_register.counter += 1 for i in range (0, 5): time.sleep(0.1) - print cur + print(cur) out = ctx.get_property('/test/prop3') / 2 ctx.unlock('lock12') -- cgit v1.2.3