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.

Location Engine CC2431

Other Parts Discussed in Thread: CC2431, CC2430, Z-STACK, CC2530

Hi

 I need to set-up a Texas Location Engine CC2431 to test indoor geo-location.

Is there a practical guide that explains how to set it up, how to adjust or improve indoor location accuracy??                                                             

What are the common problems to look out for??

Any assistance appreciated.

Thanks

clive

  • Hi Clive,

     There is a quick start guide here  http://focus.ti.com/lit/ug/swru080/swru080.pdf .

     However the general steps are as follows:

    1) Download and Install the Z-Location Software (available from the CC2431 product or ZDK folder)  http://focus.ti.com/docs/prod/folders/print/cc2431.html

    2) You can use this software to program your devices.  It comes with the necessary hex files as well as a button to download.  Program a location dongle (This should be connected to a SmartRF04EB and have a USB and Serial connection to the computer).   Then programs some reference (typical minimum 3) and blind nodes.

    3) Arrange the nodes.  Typically 10m between reference nodes should be fine.  However this is something you can experiment a bit with to see what works best for your environment.

    4) Turn on the devices and in the Z-Location Software go to the Reference Node tab.   Your reference nodes should be listed here.  For each reference node, you can then select it and enter the coordinates so that the reference nodes can know where they are (which they need to):  They should then appear on the grid/map. 

    5) Go to the Blind node tab and set up your blind nodes.  You should now be able to track your blind nodes as they move around within the net you have set up.

     Regarding accuracy etc.   Typical accuracy is 2-3m.   Things you can do to get the best accuracy you can .... usually more reference nodes will help (but this is something again that you can experiment a bit with),  calculating and setting the A parameter according to your environment of use is also a very good idea.  There is a good application note here http://focus.ti.com/analog/docs/techdocsabstract.tsp?familyId=1624&abstractName=swra095

     I hope this helps.  If you continue to have problems and questions, of course you can also contact your local support centre.

     Cheers,

    Yoda

  • Hi Yoda,

     Thanks for that great information.

    The location dongle and reference nodes all need to be connected to PC or laptops/tablets?? Or can the reference nodes be attached to any Bluetooth comptabile instrument. Or are they self contained. It will work out quite expensive if you have to have 5 laptops for the reference nodes!!

    What operating system are they comptabile with Windows, symbian??

    Thanks

    clive

  • Hi Clive,

    The reference nodes can be stand alone.  In fact in the CC2431ZDK you typically get 10 battery boards.  These battery boards can be used for reference nodes.  The caveat is ... in a real system the reference nodes may need to be mains powered if you need their beacon to do continuous tracking.  However, no computer is required.

    The location engine software we have, which connects to the dongle is a typical Windows program.  Note it was not written for Vista or the 64 byte versions of Windows so you may find problems if you attempt to use these versions.

    I hope this helps.

     Cheers,

    Yoda

  • Hi

     The quickstart says the CC2431DK has:

    • 2 x smartrfd4
    • 2 x cc2430em
    • 10 x cc2431em (reference nodes)

    Which is the blind node???

     How do you attach the bmp image.  Does it need to be geo-referenced??

    Thanks

    Clive

  •  The CC2431EM on the bottom side should have a sticker providing the preprogrammed device type. Two of your boards should be a blind node.

    Is this case for your kit? 

    LPRF Rocks the world 

  • Hi

    I have been setting up the CC2430DK today, first chance to look at it.  I only have 4 hours today, then another day in a week.

    I have built-up the SmartRF04EB and CC2430DK_EM then powered up them up.

    A) On page 18 (of 32) of the CC2431 manual it says that the SmartRF04EB must be connected via a UART cable to a PC/laptop for installation.

    After the software is installed does the SmartRF04EB, need to be connected to a PC/Laptop with the software installed. I am a student and have to use a student room, where I cannot install software on the PC's.

     B)

     You need at least 3 reference nodes (battery board), maximum 10m apart, for a blind node to get it's location (clear enough).

    BUT where are 2 SmartRF04EB placed in relation to each other,  and the reference nodes(battery board) once the software is installed.  

    C)

    They talk about a dongle?? SmartRF04EB connected with a CC2431EM (battery board) permentaly??

    Does this mean that you have 8 battery boards to use as reference nodes?? 

    D)

    Programming SOC_BB

    On page 14 - 15 the SmartRF04EB is connected to the battery board by the 10 pin cord.

    You remove the CC2430DK_EM and replace it with the SOC_DEM, is this correct??

    What programme do you run???

     I am not clear what programmes are installed on each SmartRF04EB and battery board. Are they only connected while programming??

     

    Sorry for all the questions.

     

    Clive

     

  • Is it possible to use the Z-stack-1.4.3-1.2.1 sample code to run the CC2431? 

  • Yes, this should be fine.

    Are you experiencing any issue?

    LPRF Rocks the World

  • Hi Clive,

    I hope the following helps

    1.  Location Dongle

    You will need a location dongle.  This must be a CC2430 or CC2431 on a SmartRF04EB connected via the serial port and USB to a computer.  This will input the location information into the Location Engine Software on the PC (also needed to run the demo/until you have your own app)  This can be programed easiest with the Location Engine software.

    2.  Reference Nodes

    You will need at least 3. They do not need to be CC2431s, CC2430s are fine.  These can be any CC2430 hardware variation (eg Battery board, another SmartRF04EB, a DB).   Easiest is the use the location engine software to program them and use Battery boards.   I think I just helped you in another thread on connecting with the battery boards.   Once programmed, the battery boards are meant to run stand alone.

    3.  Blind Nodes

    These need to be CC2431s.   These can be battery boards or an EM on a SmartRF04EB, however as these are meant to be mobile, battery boards makes more sense.

    I hope this helps.

    Cheers,

    Yoda

  • Hi Yoda

    Thank you for your help.do know if it possible to download the location sample for z stack v1.4.3-1.2.1 through the location engine.I tried to to download the location dongle for the location sample through the location engine ,it gave me the following message that the flash vervication is failed.I remember when I bought the cc2431zdk kit it had the z location burned in it.it had a good resolution.but what it is available whith the z location it gave me bad resolution.

  • Hi Ahmad,

    You have a few choices

    -use IAR to download the 1.4.3 version to the chips

    -use the Location Engine software to program the chips

    -if you have some with original programming, technically you could read that out to a hex file to put on other chips using the Texas Instruments Flash Programmer.

    Hope this helps.

    Cheers,

    Yoda

  • Hi

    Does all the software need to be installed before you can programme it??  What is the minimum software needed: the IAR and the location engine only??

    Does the Location Dongle need to be connected, while the battery board (blind or reference) is programmed??

    Thanks

    Clive

  • "The CC2431EM on the bottom side should have a sticker providing the preprogrammed device type. Two of your boards should be a blind node. "

    Assuming that the chips and battery boards are technically identical, any of these CC2431 chips on BB, if flashed and reprogrammed, can function as blind nodes, without any performance change, right?

  • Any CC2431 board, whether a BB or a CC2431EM mounted on a SmartRF04 board, can act as a blind node. 

  • Hi there,

    I have recently purchased a CC2431ZDK and I am  working with the Location Engine and I would like to calibrate my system in a different way from the AN042 explains,  that´s why I need to write some new code and I have no idea about how to start codding.

    I am trying to modify the example code about Location Engine  "C:\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\Location" but  I don´t know which code has to be kept and where have I got to introduce my algorithm. 

    Thanks,

    Javier

  • The location engine in the CC2431 is a silicon "co-processor" element that uses trigonometry to calculate the position on the blind node, so I'm not sure what manner of different calibration you could use. This engine is not in software and cannot be modified. The location engine will output the calculated x,y position ... if you then wanted to further filter or limit that, that's entirely possible.

     

    Some additional information:

    Quick Start Guide

    wCC2431DK_ZDK_Quick_Start.pdf
    Application Note
    wAN042 -- CC2431 Location Engine
    User Guide:
    wCC2431DK Development Kit User Manual.pdf
    Private Location Profile:
    wZ-Stack Location Profile F8W-2006-0002.pdf
    wZ-Stack Location Profile User's Guide F8W-2006-0008.pdf
  • Hi Yoda, I have read the app note swra095 and I am trying to measure A  using a packet sniffer but I don´t get correct values for A.

    I deployed my devices (8 Ref Nodes and 1 Blind Node), the Blind Node in the center of a circle of 1 meter radius and the Ref nodes all around in the 1 meter radius circle; then I started the Location engine and the packet sniffer.

    The RSSI data I accquired vary from 77 to 120 dBm, as the app note says you have to sum about  -45 RSSI offset, then I get values about 55-60dBm more or less but the app note says that a shoul be a value between 30 and 50 and if  I take 50 the position estimation gets horrible. 

    What should I have to do? Is my method ok?

    Thanks,

    Best Regards,

    Javier

  • Hi Javier,

    First of all if all the devices are the same distance (ie the 1m away from a central device used to measure A) then I am surprised you are seeing such a large difference in RSSI values.    If all 8 are 1m from the central device the RSSI should be similar across all 8 of them. 

    What kind of antenna do you use?  How have you measured the RSSI?  Have you taken into account it comes in twos compliment format?

    Cheers,
    Yoda

  • Hi Yoda,

    I am using the CC2431ZDK it comes with the Titanis (Antenova) antenna, the RSSI infohas been collected via Daintree´s SNA software and a packet sniffer. I know that the info is in two´s complement but the SNA offers the info already decoded so that I suppose that the number comes in decimal system,  am I wrigt?

    The procedure is as follows:

    1st Some RSSI Blasts

    2nd XY-RSSI Request to all the Ref nodes

    3rd The ref nodes give their responses

    4th Blind node find response

     

    Some examples of  XY-RSSI response messages:

    #################################################################################

    Frame 48 (Length = 32 bytes)
           Sequence Number: 48
           Channel Sequence Number: 48
           Channel: 16
           Time Stamp: Mon, 29 Dec 08, 16:08:42.419
           Frame Length: 32 bytes
           Capture Length: 32 bytes
           Link Quality Indication: 100
           Receive Power: -63 dBm
    IEEE 802.15.4
           Frame Control: 0x8861
                  .... .... .... .001  = Frame Type: Data (0x0001)
                  .... .... .... 0...  = Security Enabled: Disabled
                  .... .... ...0 ....  = Frame Pending: No more data
                  .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required
                  .... .... .1.. ....  = Intra PAN: Within the PAN
                  .... ..00 0... ....  = Reserved
                  .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)
                  ..00 .... .... ....  = Reserved
                  10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)
           Sequence Number: 0x2c
           Destination PAN Identifier: 0x1200
           Destination Address: 0x57b0
           Source Address: 0x287b
           Frame Check Sequence: Correct
    ZigBee NWK
           Frame Control: 0x0008
                  .... .... .... ..00  = Frame Type: NWK Data (0x00)
                  .... .... ..00 10..  = Protocol Version (0x02)
                  .... .... 00.. ....  = Discover Route: Suppress route discovery (0x00)
                  .... ...0 .... ....  = Multicast: Unicast or broadcast (0x00)
                  .... ..0. .... ....  = Security: Disabled
                  .... .0.. .... ....  = Source Route: Not present (0x00)
                  .... 0... .... ....  = Destination IEEE Address: Not Included
                  ...0 .... .... ....  = Source IEEE Address: Not Included
                  000. .... .... ....  = Reserved
           Destination Address: 0x57b0
           Source Address: 0x287b
           Radius = 1
           Sequence Number = 0xed
    ZigBee APS
           Frame Control: 0x00
                  .... ..00  = Frame Type: APS Data (0x00)
                  .... 00..  = Delivery Mode: Normal Unicast Delivery (0x00)
                  ...0 ....  = Reserved
                  ..0. ....  = Security: False
                  .0.. ....  = Ack Request: Acknowledgement not required
                  0... ....  = Extended Header Present: Extended header is not present
           Destination Endpoint: 0xd3
           Cluster Identifier: ZLP - XY-RSSI Response (0x0012)
           Profile Identifier: Texas Instruments (0xc003)
           Source Endpoint: 0xd2
           Counter: 0xe8
    Cluster.XY-RSSIResponse.FramePayload
           Reference X Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           Reference Y Position
                  .... .... .... ..01  = Quarter Meters: 1 x 0.25 meters
                  0000 0000 0001 00..  = Meters: 4 meters
           RSSI Average: 78

    #####################################################

    Frame 49 (Length = 32 bytes)
           Sequence Number: 49
           Channel Sequence Number: 49
           Channel: 16
           Time Stamp: Mon, 29 Dec 08, 16:08:42.421
           Frame Length: 32 bytes
           Capture Length: 32 bytes
           Link Quality Indication: 136
           Receive Power: -54 dBm
    IEEE 802.15.4
           Frame Control: 0x8861
                  .... .... .... .001  = Frame Type: Data (0x0001)
                  .... .... .... 0...  = Security Enabled: Disabled
                  .... .... ...0 ....  = Frame Pending: No more data
                  .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required
                  .... .... .1.. ....  = Intra PAN: Within the PAN
                  .... ..00 0... ....  = Reserved
                  .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)
                  ..00 .... .... ....  = Reserved
                  10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)
           Sequence Number: 0x6a
           Destination PAN Identifier: 0x1200
           Destination Address: 0x57b0
           Source Address: 0x5453
           Frame Check Sequence: Correct
    ZigBee NWK
           Frame Control: 0x0008
                  .... .... .... ..00  = Frame Type: NWK Data (0x00)
                  .... .... ..00 10..  = Protocol Version (0x02)
                  .... .... 00.. ....  = Discover Route: Suppress route discovery (0x00)
                  .... ...0 .... ....  = Multicast: Unicast or broadcast (0x00)
                  .... ..0. .... ....  = Security: Disabled
                  .... .0.. .... ....  = Source Route: Not present (0x00)
                  .... 0... .... ....  = Destination IEEE Address: Not Included
                  ...0 .... .... ....  = Source IEEE Address: Not Included
                  000. .... .... ....  = Reserved
           Destination Address: 0x57b0
           Source Address: 0x5453
           Radius = 1
           Sequence Number = 0xf2
    ZigBee APS
           Frame Control: 0x00
                  .... ..00  = Frame Type: APS Data (0x00)
                  .... 00..  = Delivery Mode: Normal Unicast Delivery (0x00)
                  ...0 ....  = Reserved
                  ..0. ....  = Security: False
                  .0.. ....  = Ack Request: Acknowledgement not required
                  0... ....  = Extended Header Present: Extended header is not present
           Destination Endpoint: 0xd3
           Cluster Identifier: ZLP - XY-RSSI Response (0x0012)
           Profile Identifier: Texas Instruments (0xc003)
           Source Endpoint: 0xd2
           Counter: 0xec
    Cluster.XY-RSSIResponse.FramePayload
           Reference X Position
                  .... .... .... ..00  = Quarter Meters: 0 x 0.25 meters
                  0000 0000 0001 00..  = Meters: 4 meters
           Reference Y Position
                  .... .... .... ..00  = Quarter Meters: 0 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           RSSI Average: 122

    ##########################################################

    Frame 51 (Length = 32 bytes)
           Sequence Number: 51
           Channel Sequence Number: 51
           Channel: 16
           Time Stamp: Mon, 29 Dec 08, 16:08:42.423
           Frame Length: 32 bytes
           Capture Length: 32 bytes
           Link Quality Indication: 132
           Receive Power: -55 dBm
    IEEE 802.15.4
           Frame Control: 0x8861
                  .... .... .... .001  = Frame Type: Data (0x0001)
                  .... .... .... 0...  = Security Enabled: Disabled
                  .... .... ...0 ....  = Frame Pending: No more data
                  .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required
                  .... .... .1.. ....  = Intra PAN: Within the PAN
                  .... ..00 0... ....  = Reserved
                  .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)
                  ..00 .... .... ....  = Reserved
                  10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)
           Sequence Number: 0x61
           Destination PAN Identifier: 0x1200
           Destination Address: 0x57b0
           Source Address: 0x3cb8
           Frame Check Sequence: Correct
    ZigBee NWK
           Frame Control: 0x0008
                  .... .... .... ..00  = Frame Type: NWK Data (0x00)
                  .... .... ..00 10..  = Protocol Version (0x02)
                  .... .... 00.. ....  = Discover Route: Suppress route discovery (0x00)
                  .... ...0 .... ....  = Multicast: Unicast or broadcast (0x00)
                  .... ..0. .... ....  = Security: Disabled
                  .... .0.. .... ....  = Source Route: Not present (0x00)
                  .... 0... .... ....  = Destination IEEE Address: Not Included
                  ...0 .... .... ....  = Source IEEE Address: Not Included
                  000. .... .... ....  = Reserved
           Destination Address: 0x57b0
           Source Address: 0x3cb8
           Radius = 1
           Sequence Number = 0x1a
    ZigBee APS
           Frame Control: 0x00
                  .... ..00  = Frame Type: APS Data (0x00)
                  .... 00..  = Delivery Mode: Normal Unicast Delivery (0x00)
                  ...0 ....  = Reserved
                  ..0. ....  = Security: False
                  .0.. ....  = Ack Request: Acknowledgement not required
                  0... ....  = Extended Header Present: Extended header is not present
           Destination Endpoint: 0xd3
           Cluster Identifier: ZLP - XY-RSSI Response (0x0012)
           Profile Identifier: Texas Instruments (0xc003)
           Source Endpoint: 0xd2
           Counter: 0x17
    Cluster.XY-RSSIResponse.FramePayload
           Reference X Position
                  .... .... .... ..01  = Quarter Meters: 1 x 0.25 meters
                  0000 0000 0001 00..  = Meters: 4 meters
           Reference Y Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           RSSI Average: 100

    #####################################

    note that the center of the circle is on (x=5, y=5)

    Best Regards,

    Javier

     

     

  • Hi Javier,

    yes Daintree should decode the RSSI correctly.  I would average the Receive Power field from the 8 that are 1m from the centre and see what result that gives or is this what you have been doing.   If so then it seems you are doing the correct thing and my next suggestion would be, if possible, to repeat the measurement in a different environment and see if the RSSI values from the 8 devices become a bit more uniform.

    Cheers

    Yoda

  • Hello Yoda,

    I have been working in two different enviroments and the result gets more uniform but I am  still a bit confused. I don´t know which RSSI value is the correct, because in the captured packets it says:

    - For the XY-RSSI response message:

    Frame 12 (Length = 32 bytes)
           Sequence Number: 12
           Channel Sequence Number: 12
           Channel: 16
           Time Stamp: Tue, 13 Jan 09, 12:44:55.182
           Frame Length: 32 bytes
           Capture Length: 32 bytes
           Link Quality Indication: 96
           Receive Power: -64 dBm
    IEEE 802.15.4
           Frame Control: 0x8861
                  .... .... .... .001  = Frame Type: Data (0x0001)
                  .... .... .... 0...  = Security Enabled: Disabled
                  .... .... ...0 ....  = Frame Pending: No more data
                  .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required
                  .... .... .1.. ....  = Intra PAN: Within the PAN
                  .... ..00 0... ....  = Reserved
                  .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)
                  ..00 .... .... ....  = Reserved
                  10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)
           Sequence Number: 0xc8
           Destination PAN Identifier: 0x1200
           Destination Address: 0x57b0
           Source Address: 0x50f5
           Frame Check Sequence: Correct
    ZigBee NWK
           Frame Control: 0x0008
                  .... .... .... ..00  = Frame Type: NWK Data (0x00)
                  .... .... ..00 10..  = Protocol Version (0x02)
                  .... .... 00.. ....  = Discover Route: Suppress route discovery (0x00)
                  .... ...0 .... ....  = Multicast: Unicast or broadcast (0x00)
                  .... ..0. .... ....  = Security: Disabled
                  .... .0.. .... ....  = Source Route: Not present (0x00)
                  .... 0... .... ....  = Destination IEEE Address: Not Included
                  ...0 .... .... ....  = Source IEEE Address: Not Included
                  000. .... .... ....  = Reserved
           Destination Address: 0x57b0
           Source Address: 0x50f5
           Radius = 1
           Sequence Number = 0x17
    ZigBee APS
           Frame Control: 0x00
                  .... ..00  = Frame Type: APS Data (0x00)
                  .... 00..  = Delivery Mode: Normal Unicast Delivery (0x00)
                  ...0 ....  = Reserved
                  ..0. ....  = Security: False
                  .0.. ....  = Ack Request: Acknowledgement not required
                  0... ....  = Extended Header Present: Extended header is not present
           Destination Endpoint: 0xd3
           Cluster Identifier: ZLP - XY-RSSI Response (0x0012)
           Profile Identifier: Texas Instruments (0xc003)
           Source Endpoint: 0xd2
           Counter: 0x10
    Cluster.XY-RSSIResponse.FramePayload
           Reference X Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           Reference Y Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           RSSI Average: 115

    ########################################################################

    - For the Blind node Find Response message

    Frame 27 (Length = 40 bytes)
           Sequence Number: 27
           Channel Sequence Number: 27
           Channel: 16
           Time Stamp: Tue, 13 Jan 09, 12:44:55.384
           Frame Length: 40 bytes
           Capture Length: 40 bytes
           Link Quality Indication: 80
           Receive Power: -68 dBm
    IEEE 802.15.4
           Frame Control: 0x8861
                  .... .... .... .001  = Frame Type: Data (0x0001)
                  .... .... .... 0...  = Security Enabled: Disabled
                  .... .... ...0 ....  = Frame Pending: No more data
                  .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required
                  .... .... .1.. ....  = Intra PAN: Within the PAN
                  .... ..00 0... ....  = Reserved
                  .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)
                  ..00 .... .... ....  = Reserved
                  10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)
           Sequence Number: 0xfc
           Destination PAN Identifier: 0x1200
           Destination Address: 0x0000
           Source Address: 0x57b0
           Frame Check Sequence: Correct
    ZigBee NWK
           Frame Control: 0x0008
                  .... .... .... ..00  = Frame Type: NWK Data (0x00)
                  .... .... ..00 10..  = Protocol Version (0x02)
                  .... .... 00.. ....  = Discover Route: Suppress route discovery (0x00)
                  .... ...0 .... ....  = Multicast: Unicast or broadcast (0x00)
                  .... ..0. .... ....  = Security: Disabled
                  .... .0.. .... ....  = Source Route: Not present (0x00)
                  .... 0... .... ....  = Destination IEEE Address: Not Included
                  ...0 .... .... ....  = Source IEEE Address: Not Included
                  000. .... .... ....  = Reserved
           Destination Address: 0x0000
           Source Address: 0x57b0
           Radius = 10
           Sequence Number = 0x0a
    ZigBee APS
           Frame Control: 0x00
                  .... ..00  = Frame Type: APS Data (0x00)
                  .... 00..  = Delivery Mode: Normal Unicast Delivery (0x00)
                  ...0 ....  = Reserved
                  ..0. ....  = Security: False
                  .0.. ....  = Ack Request: Acknowledgement not required
                  0... ....  = Extended Header Present: Extended header is not present
           Destination Endpoint: 0xcb
           Cluster Identifier: ZLP - Blind Node Find Response (0x0014)
           Profile Identifier: Texas Instruments (0xc003)
           Source Endpoint: 0xd3
           Counter: 0x35
    Cluster.BlindNodeFindResponse.FramePayload
           Status: Success (0x00)
           Blind X Position
                  .... .... .... ..10  = Quarter Meters: 2 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           Blind Y Position
                  .... .... .... ..10  = Quarter Meters: 2 x 0.25 meters
                  0000 0000 0001 00..  = Meters: 4 meters
           Number of Reference Nodes Used: 8
           Closest Reference Node: 0x50f5
           Reference X Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           Reference Y Position
                  .... .... .... ..11  = Quarter Meters: 3 x 0.25 meters
                  0000 0000 0001 01..  = Meters: 5 meters
           Reference RSSI: 0x28  (It is 40)

    In the one hand as swra095 document says The correct values for A should be between 30 and 50 and not all around 110 as avobe, but in the other hand the F8W-2006-0002 document says that in the XY-RSSI response message the RSSI Average is a value between 0 and 255,

     

     

     May I send you my capture files?

     

    Thanks a lot.

    Javier

  • Javier (& Yoda),

    I'd like to jump in on this thread.  I believe I can be of a little help and also have some of my own questions (similar to yours).  I have been working with these CC2431 nodes for around six months.  The location profile can be very frustrating to work with and I still have many unanswered questions.

    Like you, I use the Daintree SNA to capture and control my networks.  As such, I think I am able to clear up one point of confusion you seem to have expressed in you latest post.  The first power reading you get (under the frame information) that is given in dBm is actually the power measured by the SNA 2400E (the Daintree router).  It is the RSSI you see reported in the last section from the Daintree capture file that is the value used by the TI location algorithm on the Blind Node.

    However, I am also confused about WHAT that RSSI value is.  It is clearly NOT straight up dBm and any offset (I have also tried the -45 offset) I apply means that some of the values (either on the low end or the high end) go out of range.  I have put in numerous requests with TI to clear this up and have yet to find anyone that can answer this.  Do you happen to have any idea of what these RSSI values are yet?

    Thanks,

    Erik

  • Hello Erik I have written to TI Support Center and I am waiting for response I will tell you the results.

    In my opinion the RSSI value should be  the last value in the Blin Node Find Request Response packet which is always suitable (between 30 and 50) or possibly  the last value in the XY-RSSI Response packet  but I don´t know how to interpret that value same as your problem.

    Thanks,

    Javier

     

  • Hi everybody,

     

    I have been trying to set up a localization system as simple as 3 reference nodes plus the blind node and the dongle and the result is almost always the same, the blind node is localized very far outside of the area of the reference nodes, in fact it just changes its position when I aproach one of the three reference node, but always the same node. It doesn't work when I aproach the other two.

    I have tried with both the MAC based and the Zigbee based firmwares (The ones which come with the Z-location engine). I have also tried inside an apartment and in an open space.

    I don't know what else try, can anybody help me?

    Thanks,

    Daimon

  • In using the location engine, you have to bear in mind exactly how it works. RSSI values are measured from each reference node by the blind node and plugged into a hardware triangulation calculator. Many factors can cause errors in this process:

     

    • uSmall-scale and large-scale fading.
    • Propagation model parameters. Use local reference links to estimate model. Iterative path loss parameter estimation.
    • uGeometric Dilution Of Precision (GDOP). Use regular shapes for deployment. Area of interest surrounded by reference nodes
    • Composite Antenna pattern, temperature and frequency effects. Adaptive estimation of antenna gain through an iterative process.
    • Algorithm Estimation, Local minima, badly conditioned matrices. Need for low complexity initial coordinate estimates (i.e. Coarse location can be achieved via connectivity information). Need for bounding algorithm.
    • Quantization of observations and algorithm implementation.
    • RSSI linearity (over range, over frequency), TX, Rx power accuracy.
    • Device variability

    Three reference nodes are the absolute minimum that the location engine can accept .... four would likely give you much better results. The antenna pattern is especially critical since an antenna null will look like a longer distance. THis applies equally to the reference and blind nodes ... a whip antenna for all nodes will provide the best results.

    Scott

  • Hi,

    Thanks Notsane, I will buy more devices and try again. Meanwhile I wait them, do you know where I can find the source code of the firmware? For the definitive product I will need to make some modifications. It's supposed to be in the z-stack, but I can't find it.

    Thanks,

    Miquel

  • Hi,

    We spent many weeks working on the CC2431 trying to establish a baseline accuracy that we could quote in our product literature. The effect of environment, especially reflections, causes erratic results that can result in reported positions that are tens of meters away from the actual location. In open space with five or more reference nodes available within 10 meters we could, just about, get about 3m repeatable accuracy.

    The number of variables in the "system" are daunting. Firstly is the variation of receiver sensitivity. You need to do a radial gain plot of your device at 1 meter to get some idea about it's directional gain characteristics. Also try walking towards a reference node taking RSSI readings at 1 meter intervals. If your expecting a nice smooth graph your in for a shock. Below is one of our plots of received signal strength (dBm) for given distance from reference node in meters, 5 test runs in open space. The problem is ground reflections.

    From these results we at finally understood why the results could be so erratic.

    Have a look at:

    http://focus.ti.com/lit/an/swra095/swra095.pdf

    http://focus.ti.com/lit/an/swra169a/swra169a.pdf

    http://www.eng.yale.edu/enalab/publications/rssi_paper.pdf

    On the bright side if you accept these failings and do some serious smoothing of the reported location then things improve.

    Also the TI blast system causes quite a load on the network. At on one of our installations we had five mobile devices reporting their position every 15 seconds with 13 reference nodes in range. This caused the network to go AWOL. We have now moved away from blast and developed our own technique which gives far better results and uses far less bandwidth.

    http://www.zig-bee.co.uk/

     

    Cheers, Steve.

     

     

     

     

     

  • It depends on what you mean by firmware. The application code is right there in the project files. The Z-stack code, on the other hand, is not available as source code. Remember that if you use the ZigBee code for commercial uses you must be a member of the ZigBee Alliance.

    Steve (above) posted some very good comments on the location engine's real world performance. If you are expecting GPS-like accuracy you are going to be sorely dissapointed. This system is based on RSSI received by the blind node, with all the issues implied by that. Set your expectations accordingly.

    Scott

  • Hi  EDavidson I´m still waiting for TI Support Center response.

    I tried the  RSSI value offered by the Blind Node Find Response message but I have not been able to calibrate the motes.

    Are you sure that is the correct  value I have to choose for the A parameter?  

    Any help or news??

    Could Anyone tell me which is the correct method for calibrating the enviroment (Please see my other posts) 

    Thanks Javier

  • For best results, the A and n numbers should be experimentally verifed using your target hardware.

    The blindnode.c file shows the calculation from lqi -> rssi (there's a formula with some clipping at the low and high end) for inputs into the location engine.

    Since the lqi is the only structure item that is passed up to the application as part of the AF incoming msg structure, by the time the location app gets the rssi, it has
    gone through rssi -> lqi conversion at the MAC, then lqi -> rssi before input into the location engine.

    It is also important to tune the rssi offset for your target hardware as board parasitics affect this number, and therefore the lqi/rssi conversion as this number is used as a constant as part of the transform equation.

    The reset value of 0xE0 used in cc2430 corresponds to -77 dBm (given a 45 dBm offset). This is still a valid value (it is we above the noise floor and about 15 dB above the sensitivity limit).  

    Actually measuring the RSSI offset on PCBs is done by applying a RF signal to the SMA connector with a known power and reading the resulting RSSI value. The input power is usually swept over a range and the average offset between the input power and the RSSI is calculated. On a customer end product this is however much more difficult since one does not have a SMA connector, only an antenna (our products are supposed to be wireless J). An antenna will have different gains in different directions and all sorts of effects come into play. It is hard to know what the actual power received by the device in this case is.

    From a customer viewpoint it is more interesting to know relative power than absolute power. Customers can use RSSI to find which channel is better, which device is closest etc. without knowing the precise rssi offset. And since the programmed CCA_THR is around 15 dB above sensitivity limit regardless of what the actual sensitivity limit is, the CSMA-CA algorithm will not collapse if the PCB layout or antenna design is changed.

  • Hi,

    I have a CC2430DK and I can not install the SmartRf04eb driver.

    I installed Smartrf flash programmer and smartrfstudio with the Z-stack with the usb.

    When I tried to install the usb driver for the smartrf04eb , there is no an smart04eb in the device manager.

    if there is a When I specify the C:\Program Files\Texas Instruments\Extras\Drivers when I install the driver, an error message will apear.

    the C:\Program Files\Texas Instruments\Extras\Drivers contains:

    cc2430db, cebal, cebal98, ebinstaller, Srf04dd, srf04eb.

    moon

  • did u solve your problem? because I've the same problem

  • Hi!

    I'm Jaime, and I have a question. I was wondering if someone could explain to me. I would like to know if the sample location application located in the Zstack ("Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\Location") is the same as the .hex files included in the Z-Location Engine. I believe the answer is no, because when I build the Zstack project and download it, Z-Location Engine program doesn't recognize the dongle node, and if you look the source code in ZStack sample location program, the dongle node "LocDongle.c" is very empty...  Where can I find the IAR project used in the Z-Location Engine Location program that run in Dongle, Reference and blind node?

    I was wondering if Joda or anyone can help me.

    Thank you!

    Jaime,

  • Hi Jamie,

     

    The first thing I would check is to make sure your IEEE address is not somehow all Fs.   This will cause a problem and I have seen it happen occassionally.

    Hope it's as simple as that.

    Cheers,
    Yoda

  • Hi Joda,

    My IEEE address is not all Fs. My problem happens when I switch-on a reference nodes, due to I have always the same address, 0x001. So, when I switch-on the second reference node, it appears the same 0x001 address. Do I have to change this address in the source code in every reference node?. I don't have this problem if I use the .hex files included with "Z-Location Engine".

    Thank you Joda!

  • Hi Jaime,

    I've got the same problem, did you discover how to solve it?

    thank you!!

  • Hello:

    When using IAR EW8051 IDE and downloading code for debugging the tool chain will do a mass erase of the flash, erasing the IEEE address stored in the last 8 bytes of the CC2431 flash. You can use the joystick center push button to generate a new IEEE when for example the green led is toggling on the SmartRFEB board.

    This is the nature of the IAR tool when you download the project for debugging using default settings. If you just reflash the nodes with our SmartRF Programmer the IEEE address will be back or you can add your own by using the same tool.

    LPRF

  • Thank you !!

    The thing is I don't manage to make the location engine work!! I've tried everything everyone says, I might be doing something wrong but I don't know what!!

    - uncomment LOCATION_DONGLE on the LocationProfile.h

    - uncomment -M(CODE)_BANK1A-1FFFF,28000-2FFFF,38000-3DFFF,3F000-3fff7=(_CODE_END+1)-0xFFFF,0x10000-0x17FFF,0x18000-0x1DFFF,0x1F000-0x1FFF7 on the f8w2430.xcl file

    - always check IEEE isn't all F's

    - load generated .hex files with SmartRF Flash Programmer or Z-Location Engine

    - both USB and serial cables perfectly connected from smartRF to PC

    However when I press play on the Z-Location Engine...I always get Dongle:Disconnected. I'm beginning to get desperate. help please!!!

     

     

  • hi everyone !!

    I'm still having problems with the ZigBee Location example.

    when I load the hex. files from IAR EW to the EM , with SmartRF Flash Programmer my IEEE address turns into all F's always, however if I load the files with the Z-Location Engine I get to retain the IEEE address. In any case I still get Dongle:disconnected.

    can anyone help me ?

    thanks !

  • Hi!

    Can i use CC2530 with CC2431 for loaction Engine Implimentation

     

     

  • The CC2530 does not have the location engine "hardware" on the chip - therefore it can't be used as a Blind Node. They can be used, however, for Reference Nodes since they do not need the location engine "hardware".

  • I am now using ZStack-1.4.2, and My pcb board is designed in accordance
    with Datasheet cc2430.But my uart is connected on P1 different for TI's Board,So when I download the program to the chip,and connect my board to the PC using the serial Cable.Then I run the Z-location software ,but it cann't work,The Z-location always display "Dongle:disconnected".

    Can anyone help me?

    Thanks a lot.

  • Hi all, for Z-location Engine (PC) software to work, its mandatory that ZTOOL_P1 option is there is compiler options (of IAR embedded workbench) . here P1 represents UART port 1.

    Without this, u will get "Dongle:disconnected" in Xp and a application crash of Z-location Engine in Windows Vista or Windows 7 .

    Hope this helps.

  • Hi all,

         I have 4 Smart RF04EM boards (CC2431s). I used 3 RF boards as Ref nosdes and 1 board as Blind Node and Connected to a PC. I selected  a room 0f 10x 13 meters room  for locationing. I Hot coded the locations of ref nodes  and tried to location the blind node. I made a triangle using ref nodes and put the blind node in the centre of the triangle. Itried with all values of A and N but didnot get a fruitful result of location for the blind node. please help me.. I am using Z stack 1.4.3.1.2.1

    regards,

    SeshuramV

  •    In the above, I didnot use a location dongle. since I used the blind node which has cc2431, just i tried to find the location coordinates from the blind node itself. From SendRsp, I tried for it, but of no use .

     Please help.

    Thanks.

     

  • Hi.....

    I have a problem in programming the location engine.

    refer to

    http://focus.ti.com/lit/ug/swru080/swru080.pdf .

    In step 6, it ask us to read the IEEE address to confirm it is
    any value except all FF.

    But what I obtain is all FF. What should I do with this?

     

    Thank you,

    Edy

  • Hi Edy,

    If you don't have an old hex file or the IEEE address stored somewhere, that is actually a shame.

    You can use the IEEE address programing tool or the flash programmer to program a valid IEEE address onto the device an then continue.

    Both of these tools are available from the product folder.

    http://focus.ti.com/docs/prod/folders/print/cc2430.html

    Cheers,

    Yoda

  • Hi all,

             CC2430EM board connectors (10x2 connector)are male /female pin sockets part no.s . Please give the address where they will be  available?

    SeshuramV

     

     

  • Hi....

    I am implementing blind node in the IAE Embedded IDE and I am trying to modify the code to fulfill my required output. Inside the code I was calling a "math.h" header file that is provided inside the IAR library. So inside the blind node, I am trying to call the power function ( pow(x,y);). But after I run the code, there are some error saying that :

    Error[e16]: Segment XDATA_ID (size: 0x281 align: 0) is too long for segment definition. At least 0x10f more bytes 
    needed. The problem occurred while processing the segment placement command 
    "-Z(CODE)BIT_ID,BDATA_ID,DATA_ID,IDATA_ID,IXDATA_ID,PDATA_ID,XDATA_ID=_CODE_START-_CODE
    _END", where at the moment of placement the available memory ranges were "CODE:278e-28ff"
       Reserved ranges relevant to this placement:
    bla...bla...bla....

     

    Why can't I use the function inside the math.h header? are there anyway for me to use the function inside it?

    Thank you

     

     

    Regards,

    Edy Saprisah Putra

  • Hi Edy Saprisah Putra .. please post the code snippet. I will surely help u..