Skip to content

Commit 74e6d7b

Browse files
author
brentru
committed
prune extra from get_socket, just allocate a socket from the chipset
1 parent 7df14f1 commit 74e6d7b

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

adafruit_wiznet5k/adafruit_wiznet5k.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ def set_dhcp(self, response_timeout=1):
219219
_subnet_mask,
220220
_gw_addr,
221221
self._dns))
222-
self._src_port = 0
223222
return 0
224223
return -1
225224

@@ -496,14 +495,10 @@ def socket_connect(self, socket_num, dest, port, conn_mode=SNMR_TCP):
496495
print("*** Connecting: Socket# {}, conn_mode: {}".format(socket_num, conn_mode))
497496

498497
# initialize a socket and set the mode
499-
res = self.socket_open(socket_num, port, conn_mode=conn_mode)
498+
res = self.socket_open(socket_num, dest, port, conn_mode=conn_mode)
500499
if res == 1:
501500
raise RuntimeError('Failed to initalize a connection with the socket.')
502501

503-
504-
self._write_sndipr(socket_num, dest)
505-
self._write_sndport(socket_num, port)
506-
507502
if conn_mode == SNMR_TCP:
508503
# TCP client - connect socket
509504
self._send_socket_cmd(socket_num, CMD_SOCK_CONNECT)
@@ -544,7 +539,7 @@ def get_socket(self, sockets):
544539
print("Allocated socket #{}".format(sock))
545540
return sock
546541

547-
def socket_open(self, socket_num, port, conn_mode=SNMR_TCP):
542+
def socket_open(self, socket_num, dest, port, conn_mode=SNMR_TCP):
548543
"""Opens a socket to a destination IP address or hostname. By default, we use
549544
'conn_mode'=SNMR_TCP but we may also use SNMR_UDP.
550545
"""
@@ -553,19 +548,23 @@ def socket_open(self, socket_num, port, conn_mode=SNMR_TCP):
553548
print("*** Opening socket %d"%socket_num)
554549
if self._read_snsr(socket_num)[0] == SNSR_SOCK_CLOSED:
555550
if self._debug:
556-
print("w5k socket begin, protocol={}, port={}".format(conn_mode, port))
551+
print("w5k socket begin, protocol={}, port={}, ip={}".format(conn_mode, port,
552+
self.pretty_ip(dest)))
557553
time.sleep(0.00025)
558554

559555
self._write_snmr(socket_num, conn_mode)
560556
self._write_snir(socket_num, 0xFF)
561557

562-
if port > 0:
563-
# write to defined port
564-
self._write_sock_port(socket_num, port)
558+
if self._src_port > 0:
559+
# write to socket source port
560+
self._write_sock_port(socket_num, self._src_port)
565561
else:
566-
# if source port is not set, set the local port number
567562
self._write_sock_port(socket_num, randint(49152, 65535))
568563

564+
# set socket destination IP and port
565+
self._write_sndipr(socket_num, dest)
566+
self._write_sndport(socket_num, port)
567+
569568
# open socket
570569
self._write_sncr(socket_num, CMD_SOCK_OPEN)
571570
self._read_sncr(socket_num)
@@ -581,7 +580,6 @@ def socket_close(self, socket_num):
581580
print("*** Closing socket #%d" % socket_num)
582581
self._write_sncr(socket_num, CMD_SOCK_CLOSE)
583582
self._read_sncr(socket_num)
584-
self._src_port = 0
585583

586584
def socket_disconnect(self, socket_num):
587585
"""Disconnect a TCP connection."""

0 commit comments

Comments
 (0)