Skip to content

Commit 3d0abfb

Browse files
author
Arto Kinnunen
committed
Remove API changes
-Remove Nanostack::add_ethernet_interface API change -Add get_mac_address to MeshEthernetInterface
1 parent 743ba1a commit 3d0abfb

File tree

6 files changed

+37
-12
lines changed

6 files changed

+37
-12
lines changed

features/nanostack/mbed-mesh-api/mbed-mesh-api/MeshInterfaceNanostack.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,7 @@ class Nanostack::Interface : public OnboardNetworkStack::Interface, private mbed
3838
virtual char *get_gateway(char *buf, nsapi_size_t buflen);
3939
virtual void attach(mbed::Callback<void(nsapi_event_t, intptr_t)> status_cb);
4040
virtual nsapi_connection_status_t get_connection_status() const;
41-
42-
void get_mac_address(uint8_t *buf) const
43-
{
44-
NanostackMACPhy *phy = interface_phy.nanostack_mac_phy();
45-
if (phy) {
46-
phy->get_mac_address(buf);
47-
}
48-
}
41+
virtual void get_mac_address(uint8_t *buf) const;
4942

5043
/**
5144
* \brief Callback from C-layer

features/nanostack/mbed-mesh-api/mbed-mesh-api/NanostackEthernetInterface.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class Nanostack::EthernetInterface : public Nanostack::Interface {
2828
nsapi_ip_stack_t stack = DEFAULT_STACK,
2929
bool blocking = true);
3030
virtual nsapi_error_t bringdown();
31+
virtual void get_mac_address(uint8_t *buf);
3132
virtual char *get_mac_address(char *buf, nsapi_size_t buflen);
3233

3334
char *get_interface_name(char *buf);

features/nanostack/mbed-mesh-api/source/MeshInterfaceNanostack.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ nsapi_connection_status_t Nanostack::Interface::get_connection_status() const
107107
return _connect_status;
108108
}
109109

110+
void Nanostack::Interface::get_mac_address(uint8_t *buf) const
111+
{
112+
NanostackMACPhy *phy = interface_phy.nanostack_mac_phy();
113+
if (phy) {
114+
phy->get_mac_address(buf);
115+
}
116+
}
117+
110118
void Nanostack::Interface::attach(
111119
mbed::Callback<void(nsapi_event_t, intptr_t)> status_cb)
112120
{

features/nanostack/mbed-mesh-api/source/NanostackEMACInterface.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void EMACPhy::set_mac_address(uint8_t *mac)
178178
memcpy(mac_addr, mac, sizeof mac_addr);
179179
}
180180

181-
nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out, const uint8_t *mac_addr)
181+
nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, Nanostack::EthernetInterface **interface_out, const uint8_t *mac_addr)
182182
{
183183
if (single_phy) {
184184
return NSAPI_ERROR_DEVICE_ERROR;
@@ -211,7 +211,18 @@ nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, Onb
211211
return NSAPI_ERROR_OK;
212212
}
213213

214-
nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out)
214+
nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out, const uint8_t *mac_addr)
215215
{
216-
return Nanostack::add_ethernet_interface(emac, default_if, interface_out, nullptr);
216+
Nanostack::EthernetInterface *interface;
217+
nsapi_error_t err = add_ethernet_interface(emac, default_if, &interface, mac_addr);
218+
*interface_out = interface;
219+
return err;
217220
}
221+
222+
nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out)
223+
{
224+
Nanostack::EthernetInterface *interface;
225+
nsapi_error_t err = add_ethernet_interface(emac, default_if, &interface);
226+
*interface_out = interface;
227+
return err;
228+
}

features/nanostack/mbed-mesh-api/source/NanostackEthernetInterface.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,18 @@ char *Nanostack::EthernetInterface::get_interface_name(char *buf)
130130
return buf;
131131
};
132132

133+
void Nanostack::EthernetInterface::get_mac_address(uint8_t *buf)
134+
{
135+
if (!buf) {
136+
return;
137+
}
138+
139+
get_phy().get_mac_address(buf);
140+
}
141+
133142
char *Nanostack::EthernetInterface::get_mac_address(char *buf, nsapi_size_t buflen)
134143
{
135-
uint8_t mac_buf[NSAPI_MAC_BYTES];
144+
uint8_t mac_buf[NSAPI_MAC_BYTES] = {0};
136145

137146
if (!buf || buflen < NSAPI_MAC_SIZE) {
138147
return NULL;

features/nanostack/nanostack-interface/Nanostack.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ class Nanostack : public OnboardNetworkStack, private mbed::NonCopyable<Nanostac
4343
virtual nsapi_error_t add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out);
4444
virtual nsapi_error_t add_ethernet_interface(EMAC &emac, bool default_if, OnboardNetworkStack::Interface **interface_out, const uint8_t *mac_addr);
4545

46+
/* Local variant with stronger typing and manual address specification */
47+
nsapi_error_t add_ethernet_interface(EMAC &emac, bool default_if, Nanostack::EthernetInterface **interface_out, const uint8_t *mac_addr = NULL);
48+
4649
virtual nsapi_error_t add_ppp_interface(PPP &ppp, bool default_if, OnboardNetworkStack::Interface **interface_out);
4750

4851
/* Local variant with stronger typing and manual address specification */

0 commit comments

Comments
 (0)