diff --git a/bench.py b/bench.py new file mode 100644 index 0000000..7fda3e6 --- /dev/null +++ b/bench.py @@ -0,0 +1,11 @@ +from timeit import timeit + +setup = """ +import pydrs +drs = pydrs.EthDRS('10.0.6.56', 5000) +drs.slave_addr = 5""" + +for i in range(0, 10): + print( + timeit("drs.read_vars_fbp(); drs.read_vars_common();", setup=setup, number=100) + ) diff --git a/scripts-dev/input.xlsx b/scripts-dev/input.xlsx new file mode 100644 index 0000000..833a3c2 Binary files /dev/null and b/scripts-dev/input.xlsx differ diff --git a/src/pydrs/__init__.py b/src/pydrs/__init__.py index 776683c..11b29ff 100644 --- a/src/pydrs/__init__.py +++ b/src/pydrs/__init__.py @@ -1,4 +1,4 @@ from .pydrs import EthDRS, SerialDRS, GenericDRS -__version__ = "1.3.3" -__date__ = "02/09/2022" +__version__ = "1.3.4" +__date__ = "16/09/2022" diff --git a/tests/bsmp/__init__.py b/tests/bsmp/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/bsmp/test_commands.py b/tests/bsmp/test_commands.py deleted file mode 100644 index c3a2516..0000000 --- a/tests/bsmp/test_commands.py +++ /dev/null @@ -1,36 +0,0 @@ -from unittest import TestCase - -from siriuspy.pwrsupply.bsmp.constants import ConstPSBSMP - -from pydrs.bsmp import CommonPSBSMP, EntitiesPS, SerialInterface - - -class TestSerialCommandsx0(TestCase): - """Test BSMP consulting methods.""" - - def setUp(self): - """Common setup for all tests.""" - - self._serial = SerialInterface(path="/serial", baudrate=9600) - self._entities = EntitiesPS() - - self._pwrsupply = CommonPSBSMP( - iointerface=self._serial, entities=self._entities, slave_address=1 - ) - - def test_query_protocol_version(self): - """Test""" - - def test_query_variable(self): - """Test""" - self._pwrsupply.pread_variable(var_id=ConstPSBSMP.V_PS_STATUS, timeout=500) - - def test_query_parameter(self): - """Test""" - self._pwrsupply.parameter_read(var_id=ConstPSBSMP.P_PS_NAME, timeout=500) - - def test_write_parameter(self): - """Test""" - self._pwrsupply.parameter_write( - var_id=ConstPSBSMP.P_PS_NAME, value="pv_test_name", timeout=500 - ) diff --git a/tests/bsmp/test_interface.py b/tests/bsmp/test_interface.py deleted file mode 100644 index 9d5f047..0000000 --- a/tests/bsmp/test_interface.py +++ /dev/null @@ -1,26 +0,0 @@ -from unittest import TestCase - -from serial.serialutil import SerialException - -from pydrs.bsmp import SerialInterface - - -class TestSerialInterface(TestCase): - def test_serial_creation(self): - with self.assertRaises(SerialException): - SerialInterface(path="/serial", baudrate=9600, auto_connect=True) - - with self.assertRaises(TypeError): - SerialInterface() - - with self.assertRaises(ValueError): - SerialInterface(path=None, baudrate=None) - - def test_serial_write(self): - raise NotImplementedError() - - def test_serial_read(self): - raise NotImplementedError() - - def test_serial_request(self): - raise NotImplementedError() diff --git a/tests/integration/test_act.py b/tests/integration/test_act.py deleted file mode 100644 index f0118a4..0000000 --- a/tests/integration/test_act.py +++ /dev/null @@ -1,26 +0,0 @@ -import json -from unittest import TestCase - -from pydrs import pydrs -from pydrs.validation import SerialInvalidCmd - - -class TestAct(TestCase): - def setUp(self): - with open("secrets.json") as f: - self.secret = json.loads(f.read()) - - self.drs = pydrs.EthDRS(self.secret["ip"], self.secret["port"]) - - def test_turn_on(self): - self.drs.turn_on() - - def test_turn_off(self): - self.drs.turn_off() - - def test_invalid_password(self): - with self.assertRaises(SerialInvalidCmd): - self.drs.unlock_udc(0xDEAD) - - def test_valid_password(self): - self.drs.unlock_udc(self.secret["password"]) diff --git a/tests/integration/test_perm.py b/tests/integration/test_perm.py deleted file mode 100644 index 151e94e..0000000 --- a/tests/integration/test_perm.py +++ /dev/null @@ -1,25 +0,0 @@ -import json -from unittest import TestCase - -from pydrs import pydrs -from pydrs.validation import SerialForbidden, SerialInvalidCmd - - -class TestPerm(TestCase): - def setUp(self): - with open("secrets.json") as f: - self.secret = json.loads(f.read()) - - self.drs = pydrs.EthDRS(self.secret["ip"], self.secret["port"]) - self.drs.lock_udc(self.secret["password"]) - - def test_forbidden_set_param(self): - with self.assertRaises(SerialForbidden): - self.drs.set_ps_name("A Name") - - def test_invalid_password(self): - with self.assertRaises(SerialInvalidCmd): - self.drs.unlock_udc(0xDEAD) - - def test_valid_password(self): - self.drs.unlock_udc(self.secret["password"]) diff --git a/tests/integration/test_read.py b/tests/integration/test_read.py deleted file mode 100644 index dc024ff..0000000 --- a/tests/integration/test_read.py +++ /dev/null @@ -1,48 +0,0 @@ -import json -from unittest import TestCase - -from pydrs import pydrs - - -class TestRead(TestCase): - def setUp(self): - with open("secrets.json") as f: - self.secret = json.loads(f.read()) - - self.drs = pydrs.EthDRS(self.secret["ip"], self.secret["port"]) - - def test_read_udc_arm_version(self): - self.assertEqual(self.drs.read_udc_arm_version(), "V0.43 2021-12-02") - - def test_get_scope_vars(self): - self.drs.get_scope_vars() - - def test_get_default_ramp_waveform(self): - self.assertEqual(len(self.drs.get_default_ramp_waveform()), 4000) - - def test_get_wfmref_vars(self): - self.drs.get_wfmref_vars(1) - - def test_read_curve_block(self): - self.assertEqual(len(self.drs.read_curve_block(0, 0)), 256) - - def test_get_ps_name(self): - self.drs.unlock_udc(self.secret["password"]) - self.drs.set_ps_name( - "Jiga FBP para teste de resposta a setpoints do grupo CONS" - ) - self.assertEqual( - self.drs.get_ps_name(), - "Jiga FBP para teste de resposta a setpoints do grupo CONS", - ) - self.drs.lock_udc(self.secret["password"]) - - def test_get_param_bank(self): - self.drs.get_param_bank() - - def test_get_param_valid(self): - self.assertIsInstance(self.drs.get_param(26), float) - - def test_get_param_invalid(self): - val = self.drs.get_param(2999) - self.assertNotEqual(val, val) diff --git a/tests/integration/test_set.py b/tests/integration/test_set.py deleted file mode 100644 index 4d17213..0000000 --- a/tests/integration/test_set.py +++ /dev/null @@ -1,32 +0,0 @@ -import json -from unittest import TestCase - -from pydrs import pydrs -from pydrs.validation import SerialInvalidCmd - - -class TestSet(TestCase): - def setUp(self): - with open("secrets.json") as f: - self.secret = json.loads(f.read()) - - self.drs = pydrs.EthDRS(self.secret["ip"], self.secret["port"]) - - def test_set_slowref(self): - self.drs.set_slowref(100) - - def test_set_slowref_fbp(self): - self.drs.set_slowref_fbp(100) - - def test_set_slowref_readback_mon(self): - self.assertAlmostEqual(0, self.drs.set_slowref_readback_mon(100), 3) - - def test_set_slowref_readback_ref(self): - self.assertAlmostEqual(0, self.drs.set_slowref_readback_ref(100), 3) - - def test_invalid_password(self): - with self.assertRaises(SerialInvalidCmd): - self.drs.unlock_udc(0xDEAD) - - def test_valid_password(self): - self.drs.unlock_udc(self.secret["password"])