#!/usr/bin/python3
import os
os.environ['RPI_LGPIO_REVISION'] = "800012"
import time
import requests
import RPi.GPIO as GPIO
import socket
RED = "\033[91m"
GREEN = "\033[92m"
RESET = "\033[0m"
PressVirtKey1OnBench = '''
PressKeyEx
C0000000001
64
46
0
2
0
1
1
1
1
'''
ReleasePressVirtKey1OnBench = '''
PressKeyEx
C0000000002
64
46
0
2
0
1
1
0
1
'''
def button_callback(channel):
if GPIO.input(channel):
print(f"{RED}Button pressed{RESET}")
r = requests.post('http://10.75.120.229:8193',headers={'content-type': 'text/xml'},data=PressVirtKey1OnBench)
time.sleep(0.05)
print(f"{GREEN}Button released{RESET}")
r = requests.post('http://10.75.120.229:8193',headers={'content-type': 'text/xml'},data=ReleasePressVirtKey1OnBench)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.add_event_detect(12, GPIO.RISING, callback=button_callback, bouncetime=200)
print("RRCS-Trigger ready for input")
[sockA, sockB] = socket.socketpair()
junk = sockA.recv(1) # will never return since sockA will never receive any data
print("This should never get printed")
GPIO.cleanup()