目前的协议栈低功耗只是建立在子节点自动进行低功耗模式,被MCU主动唤醒后进行数据上报。
我现在希望是能通过中心节点AP通过wor主动唤醒子节点ED。
如果不支持的话,我自己添加进去是否会有什么影响。目前在测试
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
目前的协议栈低功耗只是建立在子节点自动进行低功耗模式,被MCU主动唤醒后进行数据上报。
我现在希望是能通过中心节点AP通过wor主动唤醒子节点ED。
如果不支持的话,我自己添加进去是否会有什么影响。目前在测试
#ifdef MRFI_TIMER_ALWAYS_ACTIVE
/**************************************************************************************************
* @fn MRFI_TimerISR
*
* @brief Manages the timer interrupts.
* Everytime the timer overflows, this routine increments the
* remaining bytes in the MRFI_Time array.
* It also manages the 1 ms event counter sPending_ms_Events
* See the above macro for implementation
*
* @param none
*
* @return void (nothing)
**************************************************************************************************
*/
BSP_ISR_FUNCTION(Mrfi_TimerISR, BSP_TIMER_VECTOR)
{
{
static union{ int32_t modulation; int8_t bytes[4]; };
modulation += sTmrRateOffset;
{
uint16_t limit = bytes[3];
limit += MRFI_ROLLOVER_LIMIT;
BSP_TIMER_SET_OVERFLOW_VALUE( limit );
}
bytes[3] = 0; // clear upper byte
}
MRFI_Time++;
#ifdef FREQUENCY_HOPPING
if( sHopCount == 0 ) /* if ready to hop frequencies */
{
sHopCount = sHopRate;
sHopNowSem = 1; /* indicate a frequency change is due */
// manage the channel indexer in the isr so if a semaphore is missed,
// the channel index is always up to date with the current channel
sLogicalChannel++; // increment the channel index
// check to see if the channel index is rolling over
#if MRFI_NUM_LOGICAL_CHANS <= 255
if( sLogicalChannel >= MRFI_NUM_LOGICAL_CHANS )
sLogicalChannel = 0;
#endif
}
else /* if not ready to hop */
sHopCount--; /* decrement hop counter */
if( sHopCount > FHSS_HOP_MARGIN + 2
&& sHopCount < MRFI_HOP_TIME_ms - 1 - FHSS_HOP_MARGIN )
sTxValid = true;
else
sTxValid = false;
#endif
if( sOne_ms_event_hook != NULL ) /* if a 1 millisecond hook function exists */
sOne_ms_event_hook( ); /* then call it */
BSP_TIMER_CLEAR_OVERFLOW_FLAG( ); /* clear the event */
return;
}
#endif
这段代码协议栈并没有用到??