I am developing a Bluetooth application using an MGM12P module. I would like to use the RFSENSE feature to wake up from deepsleep. From what I gather I need to use the RAIL API to achieve this and this means making a multiprotocol application. Almost everything I have read seems to indicate that I need to use the Micrium OS for a multiprotocol application, is that true? In ug305 the diagram seems to show that it is not really necessary to use an OS, the scheduling is done internally in RAIL:
I would rather not have to add an OS to my application.
Is it possible to use RFSENSE without adding an OS to the application?
Thanks
Bluetooth Low Energy
Discussion Forums
Unanswered
Hi,
Yes, it's true that multiprotocol doesn't actually use any RTOS features so you can probably make it work. However, the only configuration that Silicon Labs offers support on is with the RTOS. The knowledgebase article we have here https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2018/11/09/waking_from_deepsle-DWsS discusses how to get started. At a minimum you need the multiprotocol RAIL library. I recommend you use this article as the starting point.
Steve
0
Hi, you can actiually use any RTOS you want or go without one. The radio scheduler itself is independent from the Micrium scheduler. You have to analyze the file rtos_bluetooth.c, since it is baically a wrapper which connects the bluetooth stack do Micrium API calls. By rewriting it, you can avoid using an RTOS.
0
Hi,
The article mentioned about waking form deepsleep was where I started, thanks. I got that example working on a dev kit and now I need to build that functionality into my application.
It seems I should be able to do what I want but I am having difficulty with getting it to work. I have changed the library to the librail_multiprotocol_efr32xg12_gcc_release.a and called
but I get no Bluetooth advertising. The "gecko_evt_system_boot_id" is generated but advertising does not start.
I will take a closer look at rtos_bluetooth to see if that gives any clues as to something I might be missing.
Thanks
0
The theory is that doing those two things (the RAIL multiprotocol library and the call to gecko_init_multiprotocol) should be sufficient but the soc-empty-rail-dmp was used as the template to get all the correct project settings since we know that it works.
Multiprotocol without OS?
Hi,
I am developing a Bluetooth application using an MGM12P module. I would like to use the RFSENSE feature to wake up from deepsleep. From what I gather I need to use the RAIL API to achieve this and this means making a multiprotocol application. Almost everything I have read seems to indicate that I need to use the Micrium OS for a multiprotocol application, is that true? In ug305 the diagram seems to show that it is not really necessary to use an OS, the scheduling is done internally in RAIL:
I would rather not have to add an OS to my application.
Is it possible to use RFSENSE without adding an OS to the application?
Thanks
Hi,
Yes, it's true that multiprotocol doesn't actually use any RTOS features so you can probably make it work. However, the only configuration that Silicon Labs offers support on is with the RTOS. The knowledgebase article we have here https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2018/11/09/waking_from_deepsle-DWsS discusses how to get started. At a minimum you need the multiprotocol RAIL library. I recommend you use this article as the starting point.
Steve
Hi,
The article mentioned about waking form deepsleep was where I started, thanks. I got that example working on a dev kit and now I need to build that functionality into my application.
It seems I should be able to do what I want but I am having difficulty with getting it to work. I have changed the library to the librail_multiprotocol_efr32xg12_gcc_release.a and called
gecko_init(pconfig);
gecko_init_multiprotocol(NULL);
rail_handle = RAIL_Init(&rail_config, NULL);
but I get no Bluetooth advertising. The "gecko_evt_system_boot_id" is generated but advertising does not start.
I will take a closer look at rtos_bluetooth to see if that gives any clues as to something I might be missing.
Thanks