arduino / ArduinoCore-mbed

347 stars 202 forks source link

WiFi Ethernet fix MAC address reversed order #980

Open pennam opened 1 month ago

pennam commented 1 month ago

MACAddress is deprecated keeping the original reversed behaviour. uint8_t* macAddress(uint8_t * mac) returns byte aligned with String macAddress()

JAndrassy commented 1 month ago

MACAddress(buff) is legacy Ethernet API, macAddress(buff) is WiFi API. WiFi API has the MAC bytes reversed in WiFi, WiFi101 and WiFiNINA library (and here in Mbed Core) Ethernet API never had the MAC address reversed.

so this solution preserves the error in PortnetaEthernet library and for Mbed Core WiFi library this PR changes the behavior of the macAddress function (and the 'tradition' of reversed MAC in WiFi libraries).

so I guess there isn't a good solution for this. I would just remove the reversion completely.

pennam commented 1 month ago

Ethernet API never had the MAC address reversed.

Thanks @JAndrassy i will doublecheck it, I was assuming it was reversed also in Ethernet library

My goal was primarly to align the behaviour of macAddress at least between mbed and renesas core. At this point I suppose is it better to introduce the "reverse tradition" in the renesas WiFi library

JAndrassy commented 1 month ago

t this point I suppose is it better to introduce the "reverse tradition" in the renesas WiFi library

we removed it recently for compatibility with esp32, esp8266, rp2040 ...

pennam commented 1 month ago

we removed it recently

yeah i've disagreed with myself one second after writing this :slightly_smiling_face:

I will doublecheck the Ethernet MACAddress behaviour , It feels a bit strange to me that is not reversing the byte order since it is using the same socketWrapper function used in WiFi macAddress but maybe it get twisted one more time before.

JAndrassy commented 1 month ago

I meant Ethernet API in general. the Wiznet Ethernet library, the UIPEtherner etc

pennam commented 1 month ago

ah ok, got it!

pennam commented 2 weeks ago

rebased on latest main to fix ci.