Skip to content

Pico W Multicast API differences vs. standard Ethernet APIs #747

Closed
@sstaub

Description

@sstaub

When I have a look to the Wifi library I found some weirdness in WIFIUdp.h
Multicast starts with:
uint8_t beginMulticast(IPAddress interfaceAddr, IPAddress multicast, uint16_t port);
that is different to all other libraries which use
virtual uint8_t beginMulticast(IPAddress, uint16_t);
The interfaceAddr is the the local Ip and shouldn't extra configured.

There is also a extra function for begin sending Multicast

virtual int beginPacketMulticast(IPAddress multicastAddress,
                                     uint16_t port,
                                     IPAddress interfaceAddress,
                                     int ttl = 1);

This extra function is normal also not necessary and wrong. The interfaceAddress is given by local ip.
ttl = 1 (time to life) is wrong, you should use the given standard by lwip (I think it is 256).
At least ttl = 1 says the packet dies after one hop.
Here also normally you use
virtual int beginPacket(IPAddress ip, uint16_t port);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions