Part Number: MSP432-RTOS
Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Hi,
I'm currently playing around with the MSP432 using simplelink_msp432_sdk_1_40_01_00 and want to get power usage a bit lower, so was hoping you could clarify a few things. I'm using the PowerMSP432_sleepPolicy but plan to switch to deepSleep later on, but I get the same behaviour with both policies. So, I register notifications fort PowerMSP432_AWAKE_SLEEP and PowerMSP432_ENTERING_SLEEP (and deepsleep variants when using deepsleep), then set a pin high when awake, and low when asleep. I then have a single task which is below:
void main_task(UArg arg0, UArg arg1) {
while (1) {
Task_sleep(Clock_tickPeriod * 10);
}
}
I see my pin go high/low every ten seconds, as expected. However, if I monitor when the system clock ticks, I notice that I get a HWI every 1000 microseconds (as configured), or if I enable tick suppression I get a HWI about every 350ms.
I'm using the timer that is automatically configured by the Clock module, which is presumably a 16-bit timer (TimerA?) with a period of 1000us.
So I have a few questions:
- Can I increase the time between ticks (with tick suppression enabled) while also keeping a 1000 us period? i.e. I don't want to wakeup every 350ms. If so, how? If not could you explain the constraints?
- If I have to change clock source to (e.g. RTC), would I have to implement tickless stuff myself? For example, would I need to determine when the next wakeup is due and schedule a wakeup accordingly? I would assume I could hook into the current tick suppression stuff, but advice would be much appreciated :)
- It's my understanding that LPM3 and LPM4 (DEEPSLEEP0 and DEEPSLEEP1) both disable internal timers, which according to the link below should prevent both periodic ticks and my 10 second wakeup. However, even when in LPM3 (using deepSleepPolicy), I still get my regular wakeups. Why is this? My tickSource is ti.sysbios.knl.Clock.TickSource_TIMER.
Thanks