Other Parts Discussed in Thread: CC1350, , CC1310, UNIFLASH, OPT3001
Tool/software: TI-RTOS
I'm working with a custom board that is loosely based on the sensortag with a number of sensors removed and the MPU9250 moved to pins that are accessible via the sensorcontroller. The MPU power is driven by a GPIO line like in the sensortag. I never managed to get the sensortag into truly low power mode, so this is a continuation of that struggle.
My application has 2 main tasks, one to handle radio stuff and the other to trigger the sensorcontroller and wakeup the radio task. Its pretty straightforward and simple. Both tasks are blocked by Event_pend() for about 60 seconds, followed by a few seconds of sensorcontroller and a single transmit.
When the tasks are both blocked on Event_pend() for ~60s, I assume the device should enter low power mode, but it is drawing ~10mA. Is Event_pend() the same as sleep and semaphore pend, from a power perspective?
The screwy thing is when I'm reading the sensor controller, the power draw drops to ~3mA. When I'm not doing anything, the power draw is high, when I'm actually doing something the power drops?
My sensor controller code uses the same eventloop to wakeup and notify the main task once a second. I am using a mooshmeter for power tracing, so I might be missing some high frequency power spikes. I also realize I need to disconnect the debugger.
I've also tried just executing the sensorcontroller code in SCS, and the power draw is similar. High power when the sensorcontoller is not running, low power (or inline with my expectations, given the MPU power draw) when the sensor controller is executing.
I'm clearing the MPU power pin in the SCS termination code.
I'm using easylink, and from what I've read, the radio should enter low power mode when inactive (correct?)
I don't have an external flash, but CC1350_LAUNCHXL_shutDownExtFlash() is called. I should also say, I'm basing the code off the rfWsnNodeExtFlashOadClient example.
Power_init() is also called. PowerCC26XX_config is defined in CC1350_LAUNCHXL.c, but I cant see where it is actually used. Could that be the issue?
Any thoughts or hints would be appreciated.

