Member | Action | Date |
---|---|---|
|
Selected an answer for
Using wdog for BGM121 and Stack version 2.4
Hi, That's correct, if you go into EM2 by using gecko_wait_event or gecko_sleep_for_ms then you won't run code and you can't kick the watchdog. So either expand the watchdog period to go beyond that time that you think you won't have any activity that wakes up the device (whether related to Bluetooth or from some external source) or then set a soft timer to continue waking up periodically and kicking the watchdog. Regards, Tiago |
Nov 22 2017, 1:27 PM |
|
Replied
to
Using wdog for BGM121 and Stack version 2.4
Hi, I have another problem. What happen if i put my device into EM2 by using gecko_wait_event or gecko_sleep_for_ms and then cut off the power supply? After I power the device again, it does not start running again? do I have to add something at initialization of the controller? Best regards |
Nov 22 2017, 12:24 PM |
|
Updated
Using wdog for BGM121 and Stack version 2.4 on
Forum
Hi, I like to implement a wdog using em_wdog.c/.h from the stack. So fare everything works fine. I feed the wdog in the main-loop and I stop counting the wdog in em2 mode. Now I'd like that the wdog counts in em2 mode while I set the BGM121 to sleep usning "gecko_sleep_for_ms(...)". Iven in the case I use "gecko_peek_event()", it looks like that the stack blocks running and I didn't get into main-loop during sleep time. So the wdog is also not feeded and I get a reset. Is my suggestion true? Is there a way to let this work even without using a softtimer from the Bluetooth Smart Software API? Here are my wdog configurations: WDOG_Init_TypeDef WDOG_app_main_loop_init_s =
Best regards |
Nov 21 2017, 8:51 AM |
|
Posted
Using wdog for BGM121 and Stack version 2.4 on
Forum
Hi, I like to implement a wdog using em_wdog.c/.h from the stack. So fare everything works fine. I feed the wdog in the main-loop and I stop counting the wdog in em2 mode. Now I'd like that the wdog counts in em2 mode while I set the BGM121 to sleep usning "gecko_sleep_for_ms(...)". Iven in the case I use "gecko_peek_event()", it looks like that the stack blocks running and I didn't get into main-loop during sleep time. So the wdog is also not feeded and I get a reset. Is my suggestion true? Is there a way to let this work even without using a softtimer from the Bluetooth Smart Software API? Here are my wdog configurations: WDOG_Init_TypeDef WDOG_app_main_loop_init_s =
Best regards |
Nov 21 2017, 8:50 AM |
|
Updated
Using wdog for BGM121 and Stack version 2.4 on
Forum
Hi folks, I like to implement a wdog using em_wdog.c/.h from the stack. So fare everything works fine. I feed the wdog in the main-loop and I stop counting the wdog in em2 mode. Now I'd like that the wdog counts in em2 mode while I set the BGM121 to sleep usning "gecko_sleep_for_ms(...)". Iven in the case I use "gecko_peek_event()", it looks like that the stack blocks running and I didn't get into main-loop during sleep time. So the wdog is also not feeded and I get a reset. Is my suggestion true? Is there a way to let this work even without using a softtimer from the Bluetooth Smart Software API? Here are my wdog configurations: WDOG_Init_TypeDef WDOG_app_main_loop_init_s =
Best regards |
Nov 20 2017, 10:53 AM |
|
Posted
Using wdog for BGM121 and Stack version 2.4 on
Forum
Hi folks, I like to implement a wdog using em_wdog.c/.h from the stack. So fare everything works fine. I feed the wdog in the main-loop and I stop counting the wdog in em2 mode. Now I'd like that the wdog counts in em2 mode while I set the BGM121 to sleep usning "gecko_sleep_for_ms(...)". Iven in the case I use "gecko_peek_event()", it looks like that the stack blocks running and I didn't get into main-loop during sleep time. So the wdog is also not feeded and I get a reset. Is my suggestion true? Is there a way to let this work even without using a softtimer from the Bluetooth Smart Software API? Here are my wdog configurations: WDOG_Init_TypeDef WDOG_app_main_loop_init_s =
Best regards |
Nov 20 2017, 10:46 AM |
|
Replied
to
RTCDRV using at BGM121/EFR32BG1
Get it! Thanks for your explanations! |
Oct 28 2017, 4:09 PM |
|
Replied
to
RTCDRV using at BGM121/EFR32BG1
Thanks for the replay!
Actually I haven't read the article so far. But it is very helpful!
If it is okay I have some further questions about this article?
|
Oct 28 2017, 4:09 PM |
|
Replied
to
RTCDRV using at BGM121/EFR32BG1
Correct we're searching for an option to get some higher accuracy especially in the case we have to use the gecko_peek_event() handler, because we have some not BLE api driven events.
Is it correct that the 16bit low energy timer have two compare registers. So we can get two interrupts ? |
Oct 28 2017, 4:09 PM |
|
Replied
to
RTCDRV using at BGM121/EFR32BG1
Hi @arkalvac,
thanks for the answer.
So I can use the gecko_cmd_hardware_set_soft_timer as a timer. But then I didn't get an interrupt just an event which I can use to check which timer_handle occur.
Is there no possibility to define a timer with interrupts? And if there is a way how much timers are available?
I'm not sure if I can use them, but according to Software Documentation of the ERF32 Blue Gecko 1 it looks like that I have: - One CRYOTIMER - Two LETIMER
Is that correct ? And can I use them in combination with the BLE stack? |
Oct 28 2017, 4:09 PM |