spikesafe-python 1.12.12__tar.gz → 1.13.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {spikesafe_python-1.12.12/spikesafe_python.egg-info → spikesafe_python-1.13.5}/PKG-INFO +1 -1
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/pyproject.toml +1 -1
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/Discharge.py +9 -5
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/TcpSocket.py +2 -1
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5/spikesafe_python.egg-info}/PKG-INFO +1 -1
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/LICENSE +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/README.md +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/setup.cfg +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/setup.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/ChannelData.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/Compensation.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerData.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerDataFetch.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerEnums.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerInfo.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerVfCustomSequence.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerVfCustomSequenceStep.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/EventData.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/MemoryTableReadData.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/Precision.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/PulseWidthCorrection.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/ReadAllEvents.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/ScpiFormatter.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SerialPortConnection.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeEnums.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeError.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeEvents.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeInfo.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeInfoParser.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/TemperatureData.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/Threading.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/__init__.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/SOURCES.txt +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/dependency_links.txt +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/requires.txt +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/top_level.txt +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_custom_compensation.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_custom_compensation_old.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_digitizer_fetch_time_of_sampling.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_digitizer_fetch_time_of_sampling_old.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_event_data.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_event_data_old.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_get_new_voltage_data_estimated_complete_time.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_optimum_compensation.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_optimum_compensation_old.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_optimum_pulse_width_correction.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_optimum_pulse_width_correction_old.py +0 -0
- {spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_spikesafe_info_compare_rev_version.py +0 -0
|
@@ -77,18 +77,22 @@ class Discharge:
|
|
|
77
77
|
"""
|
|
78
78
|
if spikesafe_info.supports_discharge_query:
|
|
79
79
|
# when Discharge Complete query is supported, query for completion
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
expected_compliance_voltage_discharge_time = Discharge.get_spikesafe_channel_discharge_time(compliance_voltage)
|
|
81
|
+
expected_max_model_discharge_time = Discharge.get_spikesafe_channel_discharge_time(spikesafe_info.maximum_compliance_voltage + 35) # 35V gives extra time, some windows pcs return early from wait function
|
|
82
82
|
|
|
83
|
+
start_time = time.time()
|
|
83
84
|
# wait until the channel is fully discharged before disconnecting the load
|
|
84
85
|
is_discharge_complete = ""
|
|
85
|
-
while
|
|
86
|
+
while True:
|
|
86
87
|
spikesafe_socket.send_scpi_command(f"OUTP{channel_number}:DISC:COMP?", enable_logging)
|
|
87
88
|
is_discharge_complete = spikesafe_socket.read_data(enable_logging)
|
|
88
89
|
|
|
90
|
+
if is_discharge_complete == "TRUE":
|
|
91
|
+
break
|
|
92
|
+
|
|
89
93
|
elapsed_seconds = time.time() - start_time
|
|
90
|
-
if elapsed_seconds >
|
|
91
|
-
raise TimeoutError(f"SpikeSafe channel discharge exceeded
|
|
94
|
+
if elapsed_seconds > expected_max_model_discharge_time:
|
|
95
|
+
raise TimeoutError(f"SpikeSafe channel discharge expected discharge time is {expected_compliance_voltage_discharge_time} seconds, but this exceeded the model {spikesafe_info.maximum_compliance_voltage}V maximum time of {expected_max_model_discharge_time} seconds.")
|
|
92
96
|
else:
|
|
93
97
|
# when Discharge Complete query is not supported, use a calculated wait time
|
|
94
98
|
wait_time = Discharge.get_spikesafe_channel_discharge_time(compliance_voltage + 35) # 35V gives extra time, some windows pcs return early from wait function
|
|
@@ -63,9 +63,10 @@ class TcpSocket:
|
|
|
63
63
|
try:
|
|
64
64
|
self.socket_ip_address = ip_address
|
|
65
65
|
|
|
66
|
-
# create socket with 2 second timeout and connect to SpikeSafe
|
|
66
|
+
# create socket with 2 second timeout, 512 byte send max buffer to match SpikeSafe's command buffer, and connect to SpikeSafe
|
|
67
67
|
self.tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
68
68
|
self.tcp_socket.settimeout(2)
|
|
69
|
+
self.tcp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 512)
|
|
69
70
|
|
|
70
71
|
if (self.enable_logging):
|
|
71
72
|
log.log(self.default_log_level, self.__get_formatted_log_message__('Connecting...'))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/DigitizerVfCustomSequence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/MemoryTableReadData.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/PulseWidthCorrection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SerialPortConnection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python/SpikeSafeInfoParser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/spikesafe_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_digitizer_fetch_time_of_sampling.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikesafe_python-1.12.12 → spikesafe_python-1.13.5}/tests/test_optimum_pulse_width_correction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|