Non blocking use of the ioLibrary_Driver
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: Non blocking use of the ioLibrary_Driver
by becky ·
Hello,
I don’t understand your words.
First, if you are using the socket.c file in ioLibrary, the SOCK_BUSY state is obtained in case that sock_is_sending is set and the SENDOK interrupt is not set in the Sn_IR register.
Also, our library already clears sock_is_sending if sock_is_sending is set and a SEND_OK interrupt has occurred at send time.
If I have a misunderstanding, let me tell you again.
Thankyou
RE: Non blocking use of the ioLibrary_Driver
by tyx ·
I got the same problem.
The point is, send() clears sock_is_sending if SEND_OK occurred, ONLY SINCE THE SECOND TIME SEND() IS CALLED! There is no other way to clear sock_is_sending, unless you reopen the socket. But, SEND_OK is cleared by you before the second calling of send() so you never have the sock_is_sending cleared. If you don’t clear SEND_OK interrupt, you won’t get any more interrupt.
It seems modifying lib is the only way, if I want to use interrupt and don’t reopen the socket for each sending…
Maybe the INTLEVEL works? But for various length of data to send, it seems not very practical.
Please enlighten me if there is any other way. Thanks!
RE: RE: Non blocking use of the ioLibrary_Driver
by dannypovolotski ·
I think @tyx interpretation is correct, and it really seems to be a bug in the library. The assumption is that we would close the socket every time, but if the socket keeps open - the whole thing just fails.
Can someone from Wiznet team respond to this and clarify if there is a solution the situation that @tyx described? @becky