Hi Dialog Team,
I'm interested in using your DA14531 in a low powered sensor application, and am especially interested in your Extended Sleep power mode. Can you maintain a BLE connection in this mode, and can receiving a BLE message wake you from this mode into the active state? In section 4.2.2.2 of the datasheet, it says "RAM is expected to be retained for ... keeping a BLE connection alive (stack variables or BLE data)", but later I can only find references to waking from a GPIO or a timer.
If you can't wake from Extended Sleep by receiving a BLE message, what's the lowest power consumption state that you can wake from with a BLE message? Is the next best option "Receiver Active, CPU idle at 16MHz, DCDC on", 2.2mA? Can this current be decreased by powering down the baseband during idle periods, as mentioned in section 29 of the datasheet?
If it's helpful, I'm planning to use a 3V coin cell to power this, and putting the DA14531 into buck mode.
Thanks,
Sarah
Hello
I am willing to put my device into extended sleep thanks to idle task of free_rtos. Up to now I am facing some issues.
My code is based on sample code from Dialog. The system is booting, freertos is starting, tasks are being loaded properly.
I am running a loop in the main task where I do blink a led to check that the system is alive and execute a 1 sec sleep.
I can trace the system until WFI is being executed properly. At that time breath timer is switched-off and led shut down.
At the exit of the WFI, breath timer does not wake-up.
Currently breath_config breath_cfg, hw_led_set_ledX_src(...), hw_breath_init(&breath_cfg); and hw_breath_enable(); are all located in prvSetupHardware. If I do put any of these in periph_init, no led light up at all even in active or idle mode.
Can you confirm to me
- what is the init sequence for breath timer ?
- that Breath timer registers are retained during sleep ?
- that Breath timer state and dependencies are being managed by current firmware ?
What are the steps to debug such case ?
Thank you in advance
Best Regards
Hello,
I'm using the DA14580 standalone (as target, no external processor). Therefore I think I don't need to check the GTL interface at all in my code.
Although SDK 5 has this definition which I don't quite understand:
/****************************************************************************************************************/
/* Periodic wakeup period if GTL iface is not enabled. Time in BLE slots. */
/****************************************************************************************************************/
#define CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS
and I have seen that the core wakes up periodically accordingly with this time definition.
How can I disable that?
I have seen that setting to 0 seems to do the job, is it the right way?
Thanks,
Andrea
I make the DA14580 into extended sleep, the BLE stop advertising. When I use WAKEUP TIMER driver to wake up the system via the button(I have add the periph_init()), and it start to advertising. The smartphone can use the APP to connect to the chip, and communicate(The chip can return the data, which sent from the smartphone APP, to the smartphone.).But when I send the command to make the chip to read the senser via the I2C, it doesn't work. I missed some important details? Thanks a lot.
Hi I'm evaluating the DSPS on the PAN1740 module on a USB dongle, and everything work fine as long as I have disabled the extended sleep and flow control.
However I'm trying to understand how extended sleep works, it seems there is no systick timer which wakes up the cor periodically, once a processor goes into sleep after calling GLOBAL_INT_STOP(); how is it meant to wake up?? all interrupts are disabled.
My second question is it seems that after enabling extended sleep mode the DA14580 is stuck in this condition:
while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};
which according to the datasheet means: "Indicates that PD_DBG is functional" what exactly is PD_DBG?
Thanks in advance.
I am working on a project with the goal of keeping the "awake" time as short as possible (I only have a 15 ms window to work with after wakeup). Using the template_fh project, I got the BT chip to wakeup, advertise, connect, send data, and go back to extended sleep. This process takes way too long, and I'm wondering if there is a way to maintain a connection with a central device while in extended sleep mode. (I figure this should shorten my awake time, as I won't have to reconnect upon wakeup) Is this possible? If so, how do you enable this in the software?