WIZnet Developer Forum

W5500 tricky transmit

Dear Everybody!

For my application (many times) I need to send socket’s received packet without any modification and quick as possible to a same or other socket.

Today I think I need to transfer packet from RX memory using SPI to host controller and then back from host controler using SPI to TX memory.

Anybody know way to hack socket TX pointers to send packet form RX memory?

Thanks for any advise!

As I’ve already been saying here http://wizwiki.net/forum/viewtopic.php?f=16&t=2016&start=10#p6285 for the part about the transmit buffer you can directly use the registers of the two buffer pointers and then do the readings (RX buffer) or writing (TX buffer) randomly and then move the pointer of bytes read (RX buffer) or pointer of transmission (TX buffer) once you have finished using it.
This allows you to not use another buffer on MPU side to search a token in the receive buffer or compose a response in MPU memory but put it directly and then send it when it’s ready.
The C ++ examples for DNS and DHCP contain all the functions to read these registers just take a look at the functions of reading and writing a block of data to understand how they work then do the new functions optimized for your specific use.
I have implemented a soap web service that uses this “asynchronous” way, written for pic24 … but is a basic source (http://www.firewing.info/pmwiki.php?n=FirewingUser.W5500) for this micro.

If I understand well, in that way I can read/write and send/receive any part of TX and RX buffer with manpulated socket pointers. But I have no chance to extend scope of TX pointer to RX memory, and I have no chance to transfer packet data directly from RX to TX memory.

You can read from rx buffer a byte then Write this byte into tx buffer… With a block of bytes you must Read this block from rx buffer and then Write it into tx buffer. A direct move rx to tx not exist.

There is maybe one solution.

If we use W7500 as controller, then we can copy move rx to tx quickly. But we do not known how quilckly, beacuse W7500 host-eth inteface speed not documented.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.