ieee802154: Supports multiple incoming superframe events

This commit is contained in:
Anthony Merlino 2017-07-01 17:05:09 -04:00
parent 06b99588c0
commit 032deb5f49
1 changed files with 17 additions and 5 deletions

View File

@ -1515,15 +1515,27 @@ static void mac802154_sfevent(FAR const struct ieee802154_radiocb_s *radiocb,
mac802154_takesem(&priv->exclsem, false); mac802154_takesem(&priv->exclsem, false);
/* Check if there is any reason to update the beacon */ switch (sfevent)
if (priv->beaconupdate)
{ {
mac802154_updatebeacon(priv); case IEEE802154_SFEVENT_ENDOFACTIVE:
{
wlinfo("End of superframe\n");
priv->radio->beaconupdate(priv->radio, &priv->beaconframe[priv->bf_ind]); /* Check if there is any reason to update the beacon */
if (priv->beaconupdate)
{
mac802154_updatebeacon(priv);
priv->radio->beaconupdate(priv->radio, &priv->beaconframe[priv->bf_ind]);
}
}
break;
default:
break;
} }
mac802154_givesem(&priv->exclsem); mac802154_givesem(&priv->exclsem);
} }