This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC2652R: XGCONF output not matching with user manual and Property edit issue

Part Number: CC2652R
Other Parts Discussed in Thread: BLE-STACK

Tool/software: Code Composer Studio

Hi,

I am trying to build a product using "project zero" example application under TIRTOS, BLE5 path. Using CCS10.0 as my environment. 

My objective is to add mailbox support and create a mailbox to act as a means to interconnect ISR and application task. Hence opening the "project_zero_app.cfg" using XGCONF tool in CCS.

After opening *.cfg file, i see the following view. When I compare with that of RTOS user manual (SPRUEX3U—February 2018 ) they do not match.

1.) Available product view does not match, I do not see TI-BIOS in top level ( I only get XDC tools and Other products). I doubt my with my installation. 

2)Path of mailbox is not matching with manual.

3)When I click on the mailbox I get a screen where I am not able to edit mailbox details. So I tried clicking mail box in "available products" view and drag into outline view. Then it allows me to edit. Not sure these are right way to do.

4)I have added posix support in this project. Can that be reason?

Please let me know what is wrong? Thanks in advance.

Regards,

Pothirajan.K

  • Hello POTHIRAJA,

    I cannot see the images.

    What do you need this additional mail box for? What are you trying to achieve?

  • Hi Eirik,

    Greetings.

    Quick background info.

    I am trying to send temperature threshold notifications from launchpad to a mobile app through Bluetooth Low Energy interface.

    My application is a combination of project_zero and TemperatureNotify. I am trying to transfer temperature notification and actual temperature values from call back function of TemperatureNotify to project_zero thread. It needs an IPC and I am using mailbox message (and an affiliated event) from callback functions to BLE5 specific threads of project_zero (an application).

    I have merged both app and built the combined code (I had many issues in the process of doing so). I am currently testing and progressing still not sure  what I am doing is correct and it is recommended way.

    I am attaching all the images here. Thanks for support.

    Regards,

    Pothirajan.K

    Image 1)

    Image 2) Mail box path:

  • Hi Eirik,

    Greetings.

    Quick background info.

    I am trying to send temperature threshold notifications from launchpad to a mobile app through Bluetooth Low Energy interface.

    My application is a combination of project_zero and TemperatureNotify. I am trying to transfer temperature notification and actual temperature values from call back function of TemperatureNotify to project_zero thread. It needs an IPC and I am using mailbox message (and an affiliated event) from callback functions to BLE5 specific threads of project_zero (an application).

    I have merged both app and built the combined code (I had many issues in the process of doing so). I am currently testing and progressing still not sure  what I am doing is correct and it is recommended way.

    I am attaching all the images here. Thanks for support.

    Regards,

    Pothirajan.K

    Image 1)

    Image 2) Mail box path:

  • Hi Eirik,

    Is there anything that I should correct in my environment? Please suggest how to proceed. Thanks in advance.

    I have handled the said issue through dynamic creation of Mailbox. However static/initial-config based creation needs your help.

    Regards,

    Pothirajan.K

  • Hi Pothirajan,

    You should be able to add mailbox directly based on the documentation for this kernel module. However I'm not sure why you want this specific module.

    If you want to process something in the Project Zero example thread the simplest approach would be to add Events in the PZ application.

  • Hi Marie,

    I am sure about need for a new interface between two of my newly added modules(threads). So looking to have one mailbox and accomplish it through static configuration. Static configuration pages in manual and my CCS installation is not similar. Hence looking for confirmation and guidance about correct approach.

    Regards,

    Pothirajan.K

  • Hi

    Can any one please help it.

    Regards,

    Pothirajan.K

  • Hi,

    I don't understand your question. Please point me to the specific manual you're trying to follow.

  • Hi 

    RTOS Manual link is: https://www.ti.com/lit/ug/spruex3u/spruex3u.pdf?ts=1592811857543

    Page number: 33.

    Regards,

    Pothirajan.K.

  • Hi,

    Since the guide is not BLE-Stack specific, lease trust the CCS settings more.

    You can try using the code snippets in the SDK kernel guide instead:

     

  • Hi Marie,

    I am willing to use XGCONF editor to create all static objects like mailbox, queue etc.. That is why I am asking this query.

    So please guide me through using XGCONF. 

    Regards,

    Pothirajan.K

  • Hi Pothirajan,

    For the last several years we've recommended that users edit the .cfg as text file. The XGCONF GUI has a few issues that we've tried to address, but have we've focused resources in other areas. Part of your issue is that the .cfg is using the kernel in ROM, so Mailbox is present implicitly, but not explicitly in the .cfg, so the GUI is getting a little confused. You can just add the following (variable names and sizes changed as needed) directly into the .cfg file (and add nice comments...another advantage of treating the .cfg as a text file).

    var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');
    var mailbox0Params = new Mailbox.Params();
    mailbox0Params.instance.name = "mailbox0";
    Program.global.mailbox0 = Mailbox.create(32, 4, mailbox0Params);

    Then in your code you can reference the statically created Mailbox.

    #include <xdc/cfg/global.h> // needed to get the global from the .cfg file
    #include <ti/sysbios/knl/Semaphore.h>
    
      …
      Mailbox_post(mailbox0, msg, TIMEOUT); 

    Todd

  • Hi Todd,

    Thanks for guiding me through this, now I understand how to go forward. 

    I am able to create  mailbox statically in my C code at the time of initialization of my project. I will try this approach that you have suggested (in future) instead of using XGCONF tool.

    This has resolved my problem. Thanks again.

    Regards,

    Pothirajan.K