tinygo-org / drivers

TinyGo drivers for sensors, displays, wireless adaptors, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
https://tinygo.org
BSD 3-Clause "New" or "Revised" License
585 stars 180 forks source link

fix wifinina UDP send #635

Closed scottfeldman closed 5 months ago

scottfeldman commented 5 months ago

Fix an error I introduced in porting wifinina to netdev. The driver was starting a client on the socket once, during Connect. The first UDP send on the socket would succeed, any subsequent sends would fail. The fix is to start the client on the socket for each UDP send.

I think I see the logic in this design, so the fix makes sense. If the device was sending to many UDP clients, it could use a single socket, but change the dst addr for each send. The pkt data would be queued to hw just once, and then sent from hw to each client dst addr. This would be a real efficient way to multicast to many clients.

deadprogram commented 5 months ago

Works to fix my problem @scottfeldman thank you very much! Now merging.