Other Parts Discussed in Thread: CC1190, SYSBIOS,
Hi,
I have a custom board inlcludes cc1310f128 mcu and cc1190 rf front end. I want to see what is my minimum power consumption. I have a project as I mentioned in different Forum Thread, I adapted it to pinstandby example as much as possible. and I see there while not blinking led consumption is 810 uA , while blinking 1.2 mA. Are these values normal ? I don't think so. How can I reduce consumption ? How am I measuring current ? I have power supply and powering my board via it (3.3V). I have 1.1 ohm resistor on the ground side and looking the voltages on resistor's two sides.
I am using XDCtools 3.32.0.06_core,
TI-RTOS for CC13XX and CC26XX [2.21.0.06]
SimpleLink CC13x0 SDK [4.10.2.04]
I tried to use pinStandby example without any change on my custom board but it stucks in while loop below; (Error with PIN init). 2. question is how can I make it works on my custom board ?
void CC1310_LAUNCHXL_initGeneral(void)
{
Power_init();
if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) {
/* Error with PIN_init */
while (1);
}
/* Perform board-specific initialization */
Board_initHook();
}
///// My Adapted Project ///////
#include <stdlib.h>
#include <stdio.h>
#include <xdc/std.h>
#include <xdc/cfg/global.h>
#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/drivers/rf/RF.h>
#include <ti/drivers/PIN.h>
#include <ti/drivers/Watchdog.h>
#include <ti/drivers/SPI.h>
#include <ti/drivers/I2C.h>
#include <ti/drivers/UART.h>
#include <ti/drivers/pin/PINCC26XX.h>
#include <ti/drivers/Power.h>
#include <ti/sysbios/hal/Seconds.h>
#include <driverlib/rf_prop_mailbox.h>
#include <driverlib/aon_batmon.h>
#include <time.h>
#include "Board.h"
#include "GenericUtils.h"
#include "RFQueue.h"
#include "smartrf_settings/smartrf_settings.h"
#include "functions.h"
#include <driverlib/aon_batmon.h>
#include "unistd.h"
static PIN_Handle ledPinHandle;
static PIN_State ledPinState;
PIN_Handle pinHandle;
PIN_Config pinTable[] =
{
0x00000003 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
PIN_TERMINATE
};
static Task_Params BlinkTaskParams;
Task_Struct blinkTask; /* not static so you can see in ROV */
static uint8_t blinkTaskStack[512];
static void blinkTaskFunction(UArg arg0, UArg arg1)
{
while(1)
{
sleep(5);
PIN_setOutputValue(pinHandle, 0x00000003,!PIN_getOutputValue(0x00000003));
}
}
void BlinkTask_init(PIN_Handle inPinHandle)
{
pinHandle = inPinHandle;
Task_Params_init(&BlinkTaskParams);
BlinkTaskParams.stackSize = 512;
BlinkTaskParams.priority = 1;
BlinkTaskParams.stack = &blinkTaskStack;
BlinkTaskParams.arg0 = (UInt)1000000;
Task_construct(&blinkTask, blinkTaskFunction, &BlinkTaskParams, NULL);
}
int main(void)
{
Power_init();
PIN_init(pinTable);
ledPinHandle = PIN_open(&ledPinState, pinTable);
BlinkTask_init(ledPinHandle);
BIOS_start();
return (0);
}
#include <stdlib.h>#include <stdio.h>#include <xdc/std.h>#include <xdc/cfg/global.h>#include <xdc/runtime/System.h>#include <ti/sysbios/BIOS.h>#include <ti/sysbios/knl/Task.h>#include <ti/sysbios/knl/Clock.h>#include <ti/drivers/rf/RF.h>#include <ti/drivers/PIN.h>#include <driverlib/rf_prop_mailbox.h>#include <ti/drivers/UART.h>#include <ti/drivers/pin/PINCC26XX.h>#include "Board.h"#include "GenericUtils.h"#include "RFQueue.h"#include "smartrf_settings/smartrf_settings.h"#include "functions.h"#include <driverlib/aon_batmon.h>#include <time.h>#include <ti/sysbios/hal/Seconds.h>#include "Timer.h"#include <ti/drivers/Watchdog.h>#include <ti/drivers/SPI.h>#include <ti/drivers/I2C.h>#include <driverlib/aon_batmon.h>#include "unistd.h"
static PIN_Handle ledPinHandle;static PIN_State ledPinState;PIN_Handle pinHandle;
PIN_Config pinTable[] ={ 0x00000003 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, PIN_TERMINATE};
static Task_Params BlinkTaskParams;Task_Struct blinkTask; /* not static so you can see in ROV */static uint8_t blinkTaskStack[512];
static void blinkTaskFunction(UArg arg0, UArg arg1){ while(1) { sleep(5); PIN_setOutputValue(pinHandle, 0x00000003,!PIN_getOutputValue(0x00000003)); }}
void BlinkTask_init(PIN_Handle inPinHandle){ pinHandle = inPinHandle;
Task_Params_init(&BlinkTaskParams); BlinkTaskParams.stackSize = 512; BlinkTaskParams.priority = 1; BlinkTaskParams.stack = &blinkTaskStack; BlinkTaskParams.arg0 = (UInt)1000000;
Task_construct(&blinkTask, blinkTaskFunction, &BlinkTaskParams, NULL);}
int main(void){ Board_initGeneral();
ledPinHandle = PIN_open(&ledPinState, pinTable); BlinkTask_init(ledPinHandle);
BIOS_start();
return (0);}