Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
while True:
# get the packet
packet, sender = sock.recvfrom(BUFFER_SIZE)
if verbose:
print "Recieved packet from", sender
# make it something sensible
packet = PfionPacket().from_network(packet)
if packet.command == WRITE_OUT_CMD:
pfio.write_output(packet.bit_pattern)
p = PfionPacket(WRITE_OUT_ACK)
sock.sendto(p.for_network(), sender)
elif packet.command == READ_OUT_CMD:
output_bitp = pfio.read_output()
p = PfionPacket(READ_OUT_ACK)
p.bit_pattern = output_bitp
sock.sendto(p.for_network(), sender)
elif packet.command == READ_IN_CMD:
input_bitp = pfio.read_input()
p = PfionPacket(READ_IN_ACK)
p.bit_pattern = input_bitp
sock.sendto(p.for_network(), sender)
elif packet.command == DIGITAL_WRITE_CMD:
pfio.digital_write(packet.pin_number, packet.pin_value)
p = PfionPacket(DIGITAL_WRITE_ACK)
sock.sendto(p.for_network(), sender)
elif packet.command == DIGITAL_READ_CMD:
def read_output():
"""Returns the values of the output pins"""
global rpi_emulator
data = __read_pins(rpi_emulator.emu_screen.output_pins)
global pfio_connect
if pfio_connect:
data |= pfio.read_output()
return data