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.

How to get started with SimpliciTI and IAR EW for a CC1110

Other Parts Discussed in Thread: SIMPLICITI, CC2500, TEST2, CC2510

Hi everyone,

I am a new user of simpliciTI and I want to develop a program using simpliciTI with IAR embedded workbench. How I must start the developpment? did i must use smart rf studio before programming ? What file must be included into the main.c?

Actually thanks to your example I can make some little applications but I don't know how to retrieve the RSSI in the simpliciTI frame so how can I get it ? Thanks a lot for your help.

One more thing I actually use a CC1110 and CC1111.

Best regards.

Aurelien

 

 

  • BeBaron said:

    I am a new user of simpliciTI and I want to develop a program using simpliciTI with IAR embedded workbench. How I must start the developpment? did i must use smart rf studio before programming ? What file must be included into the main.c?

    The examples provided with the SimpliciTI Software installation are a good source for understanding how to integrate SimpliciTI into your application.

     

    BeBaron said:

    Actually thanks to your example I can make some little applications but I don't know how to retrieve the RSSI in the simpliciTI frame so how can I get it ? Thanks a lot for your help.

    I would recommend looking at the SimpliciTI API.pdf document found in the .\Documents directory of the SimpliciTI software installation.  Search for the keyword "RSSI", you will find there is an IOCTL API call that can be used to retrieve the current RSSI.

  • I work with CC1110 but I did not use SimliciTI so far, so may be I do not understand the issue. I retrieve RSSI in my application and I simly get it from the RSSI register:

    signed char MyRssi;

    /* ... receiving a byte or a packet here ... */

    MyRssi = RSSI;         /*  definition of RSSI in "ioCC1110.h":   */
                                         /*  #define RSSI XREG( 0xDF3A )  // Received Signal Strength Indication  */

    See also pages 197 and 198 of the CC1110 datasheet (13.10.3 RSSI). Why don't do it so simple still using "SimpliciTI" ?

  • sindbad said:

    I work with CC1110 but I did not use SimliciTI so far, so may be I do not understand the issue. I retrieve RSSI in my application and I simly get it from the RSSI register:

    signed char MyRssi;

    /* ... receiving a byte or a packet here ... */

    MyRssi = RSSI;         /*  definition of RSSI in "ioCC1110.h":   */
                                         /*  #define RSSI XREG( 0xDF3A )  // Received Signal Strength Indication  */

    See also pages 197 and 198 of the CC1110 datasheet (13.10.3 RSSI). Why don't do it so simple still using "SimpliciTI" ?

    Fair enough.  Since the SimpliciTI stack is running on the CC1110, access to the RSSI register is simply an access to the register itself.

    However, SimpliciTI is designed to work on a number of different platforms, including an external microcontroller + CCxxxx transceiver only device.  In that scenario, accessing the RSSI is not a simple register read, but requires access through a serial interface to the CCxxxx transceiver (like the CC2500).  The IOCTL API call would work across platforms.

     

  • Thank you very much for your answer i am going to use the simpliciTi ioctl API I think. Brandon can I get the source address of a signal with the smpl_octl() function ? And another little question with IAR am I obligated to configure all the workspace and option for the CC1110 everytime I make a new project or is there any file included in simpliciti for this? Because I've been able to make new application with SimpliciTI but everytime I look at the exemple and make a copy of your configuration and workspace to include it into my project.

    Aurélien

  • BeBaron said:

    Can I get the source address of a signal with the smpl_octl() function ?

    I believe this may be possible through the SMPL_Ioctl() for a Raw I/O access.  Performing a IOCTL_ACT_READ will return the detailed structure for the oldest frame on the specified port.  I have not tried this however.

    Otherwise, if you have a unique LinkID for each peer-to-peer path, the LinkID itself would be the handle to identify the source of the message.

     

    BeBaron said:

    And another little question with IAR am I obligated to configure all the workspace and option for the CC1110 everytime I make a new project or is there any file included in simpliciti for this? Because I've been able to make new application with SimpliciTI but everytime I look at the exemple and make a copy of your configuration and workspace to include it into my project.

    How you are accomplishing the new project goal by copying an existing example is the only method right now.  I'm not aware of any file that would provide this for you.

  • Thank you for your help Brandon. I was worried about the good way of devellopping a new project with SimpliciTI but now I am ok ! Thank you very much I've find a way to get the source address, I add it in my application payload and send it but it is already transmitted in the simpliciTI Frame so I am going to test with the Smpl_IOCTL().

  • So I have tried two thing:

     

     rssi_t MyRssi;

    smplStatus_t Test;

    signed char Test2; // Only for testing

        Test = SMPL_Ioctl(IOCTL_OBJ_RADIO,IOCTL_ACT_RADIO_RSSI,&MyRssi);

        Test2= RSSI;

    But when i am using this two instruction MyRssi and Test2 have different result, I get 95 from MyRssi and -41 from Test2 in decimal who is the right answer ? because normally I must find the same result. Thank you for your answer.

    Aurélien

  • The RSSI value returned from the SMPL_Ioctl() call, I believe, has already been converted to the power level via the equations found in the CC1110 datasheet in Section 13.10.3.

    The raw register read is just going to provide the 2-compliment raw RSSI reading.

  • Thank you for your answer Brandon. Ok I find an other way to get the rssi and the peer address at the same time I have done a new function in nwk.c who able me to locate in the connection Table the RSSI and address of the peer too. Thank you Brandon.

  • Hi !

    I have a new problem with IAR Embedded Workbench. Yesterday I have made a new project with an old project but this project was working; and now when I want to compile on the Usb dongle with CC1111. The compilation is ok but when I want to exectue I have this error message:

    Fri Jan 15 13:50:10 2010: No verification errors found during download.
    Fri Jan 15 13:50:10 2010: Download complete.
    Fri Jan 15 13:50:10 2010: Target reset
    Fri Jan 15 13:50:19 2010: Unable to execute: driver error.
    Fri Jan 15 13:50:24 2010: The stack 'IdataStack' is filled to 100% (192 bytes used out of 192). The warning threshold is set to 90.%
    Fri Jan 15 13:50:24 2010: The stack 'XdataStack' is filled to 100% (1023 bytes used out of 1023). The warning threshold is set to 90.%
    Fri Jan 15 13:50:24 2010: The stack pointer for stack 'IdataStack' (currently IData:0x00) is outside the stack range (IData:0x40 to IData:0x100)
    Fri Jan 15 13:50:24 2010: The stack pointer for stack 'XdataStack' (currently XData:0x0000) is outside the stack range (XData:0xF000 to XData:0xF3FF)

    I don't understand why I have this error. I am sure my application is ok because it was working before. The only thing I have modified is the string in driver usb_cdc_driver_cc1111.inf. Please Help. Thank you for your answers.

    Aurelien

  • Ok my application is ok because when I close IAR just after the load of the program in the CC1111 , And when I plug the dongle USB on my computer it works fine. But when I click on the go button IAR crash with this message error. Please help. Thank you.

  • Hello guys, I'm facing the same problem as Sindbad.

    I've had a look at the API and stuff, but I'm not sure HOW I can start a new Simpliciti project on my own. There ought to be some tutorial out there on the web that tells us how to write your first "hello world over the air" program.

    I've got hold of a CC2510 MINI Development Kit and I must say that its impressive (looking at the datasheet)!

    Regards!

  • There are examples applications as a part of the SimpliciTI download which I believe are a good reference to determine how to get started.

    Have you considered looking at one of those for a starting point?

  • Did anyone find the a solution for the IAR debugger error:

    Tue Aug 31 11:35:06 2010: Unable to execute: driver error.
    Tue Aug 31 11:35:06 2010: The stack 'IdataStack' is filled to 100% (128 bytes used out of 128). The warning threshold is set to 90.%
    Tue Aug 31 11:35:06 2010: The stack 'XdataStack' is filled to 100% (511 bytes used out of 511). The warning threshold is set to 90.%
    Tue Aug 31 11:35:06 2010: The stack pointer for stack 'IdataStack' (currently IData:0x00) is outside the stack range (IData:0x80 to IData:0x100)
    Tue Aug 31 11:35:06 2010: The stack pointer for stack 'XdataStack' (currently XData:0x0000) is outside the stack range (XData:0xF000 to XData:0xF1FF)

     

  • mitaka said:

    Did anyone find the a solution for the IAR debugger error:

    Tue Aug 31 11:35:06 2010: Unable to execute: driver error.
    Tue Aug 31 11:35:06 2010: The stack 'IdataStack' is filled to 100% (128 bytes used out of 128). The warning threshold is set to 90.%
    Tue Aug 31 11:35:06 2010: The stack 'XdataStack' is filled to 100% (511 bytes used out of 511). The warning threshold is set to 90.%
    Tue Aug 31 11:35:06 2010: The stack pointer for stack 'IdataStack' (currently IData:0x00) is outside the stack range (IData:0x80 to IData:0x100)
    Tue Aug 31 11:35:06 2010: The stack pointer for stack 'XdataStack' (currently XData:0x0000) is outside the stack range (XData:0xF000 to XData:0xF1FF)

     

    These kinds of errors are usually caused by a communication problem between the device and the debugger. Some possible reasons include:

     

    • Externally reset (reset button, power cycle or watchdog) the device without restarting the debug session
    • Insufficient power supply to the chip
    • Trying to debug in a mode which is not supported for debugging (on the CC1110, that is PM2 and PM3).
    • Problems with the connection of the debug signals

     

  • Hello everyone,

    I'm at the same point as Taimoor now. I dont now exactly how I should start, I searched on de TI page but there is no training course where I can start from scratch in order to understand whats important and how are the Basics on Simplicity.  Does anybody have found an online training on this? It's a little hard for me to use the example Projects and use them to understand whats happening.

     

    Regards

  • When you have a new question, please start a new thread instead of posting it in an existing thread with little relevance to your question.

    Have you looked at the SimpliciTI page (http://focus.ti.com/docs/toolsw/folders/print/simpliciti.html)? There you find some documents, including this nice presentation: http://www.ti.com/litv/pdf/swru130b. When you install SimpliciTI, you will find additional documentation in the Documents folder of your install directory.