Electronics > Beginners
Lwmesh Power saving
Peili:
My application uses Watch Dog Timer interrupt other than Halsleep function.. My scenario is End Device wakeup and send it's App_Addr to nearest Router and go for sleep. WDT is 2seconds.. only that much i need. no need for routing.. Just Wakeup ,Send and Sleep.... But for that scenario the device take 4milliseconds ON time.. My End Device is a Battery powered device(atmega256rfr2). I can't afford this type of power consumption... What are the factors affecting the power Consumption and how can i reduce it by code wise? I'm really stuck into it :-\
Here i'm attaching my Wsndemo for EndDevice the configuration file and sleep function
ataradov:
How did you measure that 4 ms time? It takes some time to send a frame and receive an ACK. I don't know if 4 ms is justified or not in this case. You need to measure different part of the process and see what takes the longest time and eliminate that.
Peili:
--- Quote from: ataradov on September 18, 2019, 05:01:38 am ---How did you measure that 4 ms time? It takes some time to send a frame and receive an ACK. I don't know if 4 ms is justified or not in this case. You need to measure different part of the process and see what takes the longest time and eliminate that.
--- End quote ---
Measured it by switching one Pin in my board in sleep
--- Code: --- case APP_STATE_SLEEP:
{
PORTD&=~(1<<PD6);//sleep
HAL_Sleep(APP_SENDING_INTERVAL);
appState = APP_STATE_WAKEUP;
} break;
case APP_STATE_WAKEUP:
{
NWK_WakeupReq();
PORTD|=(1<<PD6);//sleep
appState = APP_STATE_SEND;
} break;
--- End code ---
here PD6 is the pin I'm switching and measuring...
ataradov:
Ok, now do the same for all steps of the sending process and see what takes all this time. I don't know what could be taking that long.
Peili:
Ok i will check and update you sir
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version