Skip to content

Commit 4030144

Browse files
author
brentru
committed
continue separating functionality: socket_open should only issue OPEN, not set anything
1 parent 74e6d7b commit 4030144

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

adafruit_wiznet5k/adafruit_wiznet5k.py

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

@@ -492,16 +493,19 @@ def socket_connect(self, socket_num, dest, port, conn_mode=SNMR_TCP):
492493
"""
493494
assert self.link_status, "Ethernet cable disconnected!"
494495
if self._debug:
495-
print("*** Connecting: Socket# {}, conn_mode: {}".format(socket_num, conn_mode))
496-
496+
print("* w5k socket connect, protocol={}, port={}, ip={}".format(conn_mode, port,
497+
self.pretty_ip(dest)))
497498
# initialize a socket and set the mode
498-
res = self.socket_open(socket_num, dest, port, conn_mode=conn_mode)
499+
res = self.socket_open(socket_num, conn_mode=conn_mode)
499500
if res == 1:
500501
raise RuntimeError('Failed to initalize a connection with the socket.')
501502

503+
# set socket destination IP and port
504+
self._write_sndipr(socket_num, dest)
505+
self._write_sndport(socket_num, port)
506+
self._send_socket_cmd(socket_num, CMD_SOCK_CONNECT)
507+
502508
if conn_mode == SNMR_TCP:
503-
# TCP client - connect socket
504-
self._send_socket_cmd(socket_num, CMD_SOCK_CONNECT)
505509
# wait for tcp connection establishment
506510
while self.socket_status(socket_num)[0] != SNSR_SOCK_ESTABLISHED:
507511
time.sleep(0.001)
@@ -539,17 +543,16 @@ def get_socket(self, sockets):
539543
print("Allocated socket #{}".format(sock))
540544
return sock
541545

542-
def socket_open(self, socket_num, dest, port, conn_mode=SNMR_TCP):
543-
"""Opens a socket to a destination IP address or hostname. By default, we use
546+
def socket_open(self, socket_num, conn_mode=SNMR_TCP):
547+
"""Opens a TCP or UDP socket. By default, we use
544548
'conn_mode'=SNMR_TCP but we may also use SNMR_UDP.
545549
"""
546550
assert self.link_status, "Ethernet cable disconnected!"
547551
if self._debug:
548552
print("*** Opening socket %d"%socket_num)
549553
if self._read_snsr(socket_num)[0] == SNSR_SOCK_CLOSED:
550554
if self._debug:
551-
print("w5k socket begin, protocol={}, port={}, ip={}".format(conn_mode, port,
552-
self.pretty_ip(dest)))
555+
print("* Opening W5k Socket, protocol={}".format(conn_mode))
553556
time.sleep(0.00025)
554557

555558
self._write_snmr(socket_num, conn_mode)
@@ -561,10 +564,6 @@ def socket_open(self, socket_num, dest, port, conn_mode=SNMR_TCP):
561564
else:
562565
self._write_sock_port(socket_num, randint(49152, 65535))
563566

564-
# set socket destination IP and port
565-
self._write_sndipr(socket_num, dest)
566-
self._write_sndport(socket_num, port)
567-
568567
# open socket
569568
self._write_sncr(socket_num, CMD_SOCK_OPEN)
570569
self._read_sncr(socket_num)

0 commit comments

Comments
 (0)