mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 10:47:46 +00:00
Radio API: set short address, extended address, and panid must not fail. (#774)
This commit is contained in:
@@ -123,54 +123,30 @@ void otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
||||
}
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetPanId(otInstance *aInstance, uint16_t panid)
|
||||
void otPlatRadioSetPanId(otInstance *aInstance, uint16_t panid)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
{
|
||||
HWREG(RFCORE_FFSM_PAN_ID0) = panid & 0xFF;
|
||||
HWREG(RFCORE_FFSM_PAN_ID1) = panid >> 8;
|
||||
error = kThreadError_None;
|
||||
}
|
||||
|
||||
return error;
|
||||
HWREG(RFCORE_FFSM_PAN_ID0) = panid & 0xFF;
|
||||
HWREG(RFCORE_FFSM_PAN_ID1) = panid >> 8;
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetExtendedAddress(otInstance *aInstance, uint8_t *address)
|
||||
void otPlatRadioSetExtendedAddress(otInstance *aInstance, uint8_t *address)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
((volatile uint32_t *)RFCORE_FFSM_EXT_ADDR0)[i] = address[i];
|
||||
}
|
||||
|
||||
error = kThreadError_None;
|
||||
((volatile uint32_t *)RFCORE_FFSM_EXT_ADDR0)[i] = address[i];
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetShortAddress(otInstance *aInstance, uint16_t address)
|
||||
void otPlatRadioSetShortAddress(otInstance *aInstance, uint16_t address)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
{
|
||||
HWREG(RFCORE_FFSM_SHORT_ADDR0) = address & 0xFF;
|
||||
HWREG(RFCORE_FFSM_SHORT_ADDR1) = address >> 8;
|
||||
error = kThreadError_None;
|
||||
}
|
||||
|
||||
return error;
|
||||
HWREG(RFCORE_FFSM_SHORT_ADDR0) = address & 0xFF;
|
||||
HWREG(RFCORE_FFSM_SHORT_ADDR1) = address >> 8;
|
||||
}
|
||||
|
||||
void cc2538RadioInit(void)
|
||||
|
||||
@@ -300,52 +300,26 @@ void otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
||||
aIeeeEui64[7] = NODE_ID & 0xff;
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetPanId(otInstance *aInstance, uint16_t panid)
|
||||
void otPlatRadioSetPanId(otInstance *aInstance, uint16_t panid)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
{
|
||||
sPanid = panid;
|
||||
error = kThreadError_None;
|
||||
}
|
||||
|
||||
return error;
|
||||
sPanid = panid;
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetExtendedAddress(otInstance *aInstance, uint8_t *address)
|
||||
void otPlatRadioSetExtendedAddress(otInstance *aInstance, uint8_t *address)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
for (size_t i = 0; i < sizeof(sExtendedAddress); i++)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < sizeof(sExtendedAddress); i++)
|
||||
{
|
||||
sExtendedAddress[i] = address[sizeof(sExtendedAddress) - 1 - i];
|
||||
}
|
||||
|
||||
error = kThreadError_None;
|
||||
sExtendedAddress[i] = address[sizeof(sExtendedAddress) - 1 - i];
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
ThreadError otPlatRadioSetShortAddress(otInstance *aInstance, uint16_t address)
|
||||
void otPlatRadioSetShortAddress(otInstance *aInstance, uint16_t address)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
(void)aInstance;
|
||||
|
||||
if (sState != kStateTransmit)
|
||||
{
|
||||
sShortAddress = address;
|
||||
error = kThreadError_None;
|
||||
}
|
||||
|
||||
return error;
|
||||
sShortAddress = address;
|
||||
}
|
||||
|
||||
void otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
||||
|
||||
Reference in New Issue
Block a user