• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » Low Power RF Proprietary Software & SimpliciTI Forum » How to address an exact node with SimpliciTI?
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

Forums

How to address an exact node with SimpliciTI?

This question is answered
Fabio Scibilia
Posted by Fabio Scibilia
on Apr 04 2012 10:03 AM
Prodigy30 points

Dear all,

I am new to simpliciti and I don't know how to exactly let a node address another node when send messages (I am arranging a multihop topology where each node knows about the node that stays after and the node that stays before in the hop-chain). 

In all examples I found, nodes use Link() and LinkListen() to create a new link in a sort of producer-consumer fashion. In my case all nodes should then use both primitives. If one node calls Link() to to link to the node on the right, how can I be sure that the link will not be accept by some other node around (there are lots of nodes that may do it cause nodes are spread over a bidimensional surface). 

Is there any way to exactly address a node when you invoke Link()? Or can one send a message without requiring to link? Be aware that each node knows other nodes' MAC addresses (they are among the configuration).

Thanks for your help

Fabio

simpliciti address multihop
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • MEDARZ
    Posted by MEDARZ
    on Apr 13 2012 20:24 PM
    Prodigy100 points

    If you know the Addresses of the nodes, I read in the documentation that there is a function that you can use to establish "hard coded" links.

    SMPL_Commission()
    8.4.1 Description
    This API is used to statically create a connection table entry. It requires detailed knowledge of the objects in the
    connection table. If both peers are (correctly) populated using this API a connection can be established without an
    explicit over-air linking transaction
    I have never used it, but soon I will. hope this helps.
    Regards,
    Mario Medina
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Leo Hendrawan
    Posted by Leo Hendrawan
    on Apr 17 2012 16:14 PM
    Suggested Answer
    Mastermind28725 points

    Hi Fabio,

    SimpliciTI basically works with peer-to-peer logical communication, so that means once the communication is established, you do not really care about the remote address anymore.

    Please refer to the SimpliciTI FAQ page especially the section explaining the basic communication:

    http://processors.wiki.ti.com/index.php/SimpliciTI_FAQ

    Regards,

    Leo Hendrawan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Leo Hendrawan
    Posted by Leo Hendrawan
    on Apr 17 2012 16:19 PM
    Verified Answer
    Verified by Fabio Scibilia
    Mastermind28725 points

    Hi Mario,

    i have tested the SMPL_Commission() before, and basically by using this function, you can skip the link establishment which normally uses SMPL_Link() and SMPL_LinkListen(), by basically giving the following information of the link connection:

    - remote address

    - local port

    - remote port

    Here is the code that i made which is similar with the Simple Peer To Peer example code:

    0216.main_LinkTo_Static.c

    2728.main_LinkListen_Static.c

    Hope this helps.

    Regards,

    Leo Hendrawan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Fabio Scibilia
    Posted by Fabio Scibilia
    on Apr 18 2012 04:03 AM
    Verified Answer
    Verified by Fabio Scibilia
    Prodigy30 points

    Hi Mario and lhend,

    thanks for your replies. At them moment I switched to a different problem but will switch back to this one in the future. At first glance, the API and code examples you gave seem to be exact what I need.

    Thanks a lot

    Fabio

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • khodidas ghinaiya
    Posted by khodidas ghinaiya
    on Apr 26 2012 07:10 AM
    Intellectual270 points

    Leo,

     

    I am new to simpliciTI. In my application I have 10 ED's (Light Switch) and AP (Remote).

     

    I need star topology i.e.

     

    (1) ED1 to AP (peer to peer)

    (2) ED2 to AP (peer to peer)

    ....

    ....

    (10) ED10 to AP (peer to peer)

     

    I don't want communication between ED's and hence I think Join and Link from ED will control this.

     

    I am using CC430F5137 EVAK kit and currently testing with ED1 and AP.

     

    Step @ ED1

     

    (1) BSP_INIT();

    (2) SMPL_INTI(sCB);  i.e. Join with call back for peerframe (bidirectional comms with AP)

    (3) SMPL_SMPL_Link(&sLinkID1);  at this step sLinkID1=0x01 if AP is on.

    (4) Communicate with AP @every two second with SMPL_SendOpt(sLinkID1, msg, sizeof(msg), SMPL_TXOPTION_ACKREQ))

    (5) if ACK is ok repeate step#4 i.e. keep on communicating with AP@every two seconds.

    (6) if ACL is not ok for three times in ROW, use SMPL_Unlink(sLinkID1)

    (7) go to setp#2 to Rejoin and Link again...

        what I obsreved here is sLinkID1 goes from 1-254 to back to 1, every time unlink and rejoinlink occurs.

     

    My question: (a) who assign sLinkID1's value, is that ED1 or AP?

                               (b) If ED1 is doing it, how AP comes to know about it.

    (8) Once I press button on AP, AP is sending msg to ED1 on sLID[0]

    (9) Due to sCB used in SMPL_INIT on ED1 frame received. Receive linkID of frame is same as sLinkID1

       

    My questions:

    (a) In debug I am always gest sLID[0]=0x01 in AP, while on ED1 it is as per current value of sLinkID1  which is not 0x01 every time if SMPL_Unlink(sLinkID1) is used on ED1.

    (b) How does mapping from sLID[0] to sLinkID1 gets done?

    (c) If I have 10 ED's each one will be having different value for sLinkID1 once join and linking is over, right?

    (d) In case of Unlik and Rejoinlink, how AP can address specific ED's?

    (e) if AP want to send ON/OFF to specific ED's how it can comes to adress specific ED's?

     i.e. How to link sLID[X] array with specific ED's address. Here X=10 as I have 10 ED's on network.

                                                                                   

    I can't use SMPL_Commission() as it is not flexible in my application.

                                                                                   

    Regards,

    khodidas             

    SimpliciTI star topology
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • MEDARZ
    Posted by MEDARZ
    on Apr 27 2012 01:02 AM
    Prodigy100 points

    Great information lhend! thanks for the code!! definitely this is going to help me in some projects i'm currently involved.

    One question over where. I see that you define a Static Port. I understand that for a connection between two peers it is required by the network layer.

    ED1 <-------> ED2

    The question is...  if I establish another connection to another End device (like this:)

    ED1 <---------->ED2

    ED1  <---------->ED3

    Do I have to specify a different port number for that new connection (between ED1 and ED3)?

    Thanks!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use