begin prologix class

This commit is contained in:
S Groesz 2021-04-14 03:33:08 +00:00
parent 260940e0ea
commit c3c125fe19
2 changed files with 37 additions and 6 deletions

View File

@ -57,7 +57,7 @@ def ValidateNetParams(ip_str, mask_str, gw_str):
# Validate network mask # Validate network mask
# Convert to integer from byte array # Convert to integer from byte array
mask = struct.unpack("!L", mask)[0] mask = struct.unpack("!L", mask)[0]
# Exclude restricted masks # Exclude restricted masks
if (mask == 0) or (mask == 0xFFFFFFFF): if (mask == 0) or (mask == 0xFFFFFFFF):
@ -75,7 +75,7 @@ def ValidateNetParams(ip_str, mask_str, gw_str):
octet1 = ord(gw[0]) octet1 = ord(gw[0])
# Convert to integer from byte array # Convert to integer from byte array
gw = struct.unpack("!L", gw)[0] gw = struct.unpack("!L", gw)[0]
# Exclude restricted addresses # Exclude restricted addresses
# 0.0.0.0 is valid # 0.0.0.0 is valid
@ -88,7 +88,7 @@ def ValidateNetParams(ip_str, mask_str, gw_str):
octet1 = ord(ip[0]) octet1 = ord(ip[0])
# Convert to integer from byte array # Convert to integer from byte array
ip = struct.unpack("!L", ip)[0] ip = struct.unpack("!L", ip)[0]
# Exclude restricted addresses # Exclude restricted addresses
if ((octet1 == 0) or (octet1 == 127) or (octet1 > 223)): if ((octet1 == 0) or (octet1 == 127) or (octet1 > 223)):
@ -197,8 +197,12 @@ def main():
else: else:
try: try:
eth_addr = eth_addr.strip().replace(":", "").replace("-", "") #eth_addr = eth_addr.strip().replace(":", "").replace("-", "")
eth_addr = eth_addr.decode('hex') #eth_addr = eth_addr.decode('hex')
eth_addr = eth_addr.replace(" ", "")
eth_addr = eth_addr.replace(":", "")
eth_addr = eth_addr.replace("-", "")
eth_addr = bytes.fromhex(eth_addr)
except: except:
print("Invalid Ethernet address.") print("Invalid Ethernet address.")
sys.exit(1) sys.exit(1)

View File

@ -731,7 +731,13 @@ def SetEthernetAddress(s, r, eth_addr, new_eth_addr):
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
def FormatEthAddr(a): def FormatEthAddr(a):
return "%02X-%02X-%02X-%02X-%02X-%02X" % (ord(a[0]), ord(a[1]), ord(a[2]), ord(a[3]), ord(a[4]), ord(a[5])) return "%02X-%02X-%02X-%02X-%02X-%02X" % (ord(a[0]),
ord(a[1]),
ord(a[2]),
ord(a[3]),
ord(a[4]),
ord(a[5])
)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
@ -774,3 +780,24 @@ def PrintDetails(d):
else: else:
print('Unknown') print('Unknown')
class ProGPIB:
"""
=====
ProGPIB
=====
Provides an interface to Prologix GPIB adapters
"""
from bits import Bytes
import time
def __init__(self, MAC="02:01:01:01:01:01", Virtual=False, IP="0.0.0.0"):
"""
MAC: Media Access Control (MAC) Address of device
Virtual: (bool) Set True to emulate a Prologix GPIB device
IP: The IPv4 address of the device
"""
self.__start = time.time()