Я пытаюсь разработать систему, которая принимает пользовательский ввод (от бесступенчатого аналогового потенциометра 0-100) и использует этот вход для установки значения, и я ищу хороший метод для обработки случая отказа.
Мне нужно обработать ошибку в системе, которая после обнаружения устанавливает значение на ноль и требует, чтобы входной сигнал был возвращен к низкому значению ниже порогового значения, прежде чем пользователь сможет снова увеличить значение по мере необходимости. Мне также было бы хорошо, если бы значение возвращалось к нулю, если бы оно допускало более простую логику c.
. Это похоже на довольно распространенную логику безопасности программного обеспечения c, однако я изо всех сил пытался найти какую-либо информацию о эта проблема на inte rnet. (Я думал, что он мог бы поделиться какой-то логикой c с триггером Шмитта?)
Если у вас есть идеи по этой проблеме или вы знаете ее название / хороший набор ресурсов, которые будут высоко оценены.
В качестве примера я разработал простую программу python, но я уверен, что это не самый надежный и эффективный метод решения этой проблемы.
# check value has returned to below 5% before allowing
# increase after failure case
value = 0
user_command = 0
failure_case = True
while True:
## get input
raw_input = input()
if (raw_input == 'e'):
# if input is 'e'
# enter failure case
failure_case = True
else:
try:
# if input is a number
user_command = int(raw_input)
except:
pass
if (failure_case):
# a failure has been detected
print("Waiting for value to return to below 5")
# set value to zero
value = 0
# only remove the error flag once the
# input value is below 5
if (user_command < 5):
failure_case = False
else:
# no error thus set value to the user input
value = user_command
# print the accepted value
print(value);
Любая помощь будет принята с благодарностью. Спасибо.