This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 59352d0ed570f75ff7453eac7f89f3651243f1e1 Author: raiden00pl <[email protected]> AuthorDate: Fri Oct 16 11:06:08 2026 +0200 arch/arm/nrf52: do not overwrite own address with the coordinator address Setting the coordinator short or extended address wrote the device's own address, so after association the radio filtered out the frames sent to this device. Store the coordinator address separately. Assisted-by: Claude Code Signed-off-by: raiden00pl <[email protected]> --- arch/arm/src/nrf52/nrf52_ieee802154.c | 4 ++-- arch/arm/src/nrf52/nrf52_ieee802154_priv.h | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/arm/src/nrf52/nrf52_ieee802154.c b/arch/arm/src/nrf52/nrf52_ieee802154.c index 50c7d34c144..eae9898d324 100644 --- a/arch/arm/src/nrf52/nrf52_ieee802154.c +++ b/arch/arm/src/nrf52/nrf52_ieee802154.c @@ -219,7 +219,7 @@ static int nrf52_radioi8_seteaddr(struct nrf52_radioi8_dev_s *dev, static int nrf52_radioi8_setcoordsaddr(struct nrf52_radioi8_dev_s *dev, const uint8_t *saddr) { - IEEE802154_SADDRCOPY(dev->state.addr.saddr, saddr); + IEEE802154_SADDRCOPY(dev->state.coordaddr.saddr, saddr); wlinfo("setcoordsaddr: %02X:%02X\n", saddr[0], saddr[1]); return OK; @@ -247,7 +247,7 @@ static int nrf52_radioi8_setcoordeaddr(struct nrf52_radioi8_dev_s *dev, for (i = 0; i < 8; i++) { - dev->state.addr.eaddr[i] = eaddr[i]; + dev->state.coordaddr.eaddr[i] = eaddr[i]; } return OK; diff --git a/arch/arm/src/nrf52/nrf52_ieee802154_priv.h b/arch/arm/src/nrf52/nrf52_ieee802154_priv.h index 16b21bfcbb0..92734586c37 100644 --- a/arch/arm/src/nrf52/nrf52_ieee802154_priv.h +++ b/arch/arm/src/nrf52/nrf52_ieee802154_priv.h @@ -78,8 +78,9 @@ struct nrf52_radioi8_state_s { /* MAC Attributes */ - struct ieee802154_addr_s addr; /* Address */ - struct ieee802154_cca_s cca; /* Clear channel assessement method */ + struct ieee802154_addr_s addr; /* Address */ + struct ieee802154_addr_s coordaddr; /* Coordinator address */ + struct ieee802154_cca_s cca; /* Clear channel assessement method */ /* TX CSMA */
