Skip to content
Snippets Groups Projects
Commit 7a01a6a3 authored by Rolf Niepraschk's avatar Rolf Niepraschk
Browse files

Ctrl+C-Handling robuster

parent 6f791337
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python3
# Rolf Niepraschk, Rolf.Niepraschk@ptb.de, 2022-11-28
# Rolf Niepraschk, Rolf.Niepraschk@ptb.de, 2022-11-29
import socket, signal, sys, re, time
PROLOGIX_IP = '172.30.54.71'
PROLOGIX_PORT = 1234
SOCKET_TIMEOUT = 10 # s
SOCKET_TIMEOUT = 10 # s
DEVICE_TIMEOUT = 3000 # ms (max. 3000)
HP34401A_ADR = 22
KEITHLEY2700_ADR = 6
......@@ -126,17 +126,13 @@ def read_voltage():
return data
else:
return ''
ctrl_c_pressed = False
def ctrl_c_handler(signal, frame):
sock.close()
print('\nEnde!')
sys.exit(0)
def ctrl_c_off():
signal.signal(signal.SIGINT, signal.SIG_IGN)# ignore keyboard interrupt
def ctrl_c_on():
signal.signal(signal.SIGINT, ctrl_c_handler)# allow keyboard interrupt
global ctrl_c_pressed
ctrl_c_pressed = True
# Behandlung von KeyboardInterrupt (Ctrl+C) mit eigener Funktion
signal.signal(signal.SIGINT, ctrl_c_handler)
# ===================================================================
......@@ -146,15 +142,15 @@ init_voltage()
init_temperature()
while True:
ctrl_c_off()
print('{}: >>>{}<<<'.format('Spannung', read_voltage()))
print('{}: >>>{}<<<'.format('Temperatur', read_temperature()))
ctrl_c_on()
print()
if ctrl_c_pressed: # nur unterbrechen, wenn Kommunikation komplett
break
time.sleep(.5)
sock.close()
print('\nEnde!')
sys.exit(0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment