<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="0.92">
<channel>
	<docs>http://backend.userland.com/rss092</docs>
	<title>Ubisense Research Network</title>
	<link>http://www.ubisense.org//</link>
	<description>A forum and community for research users of the Ubisense platform</description>
	<managingEditor>rupert.curwen@ubisense.net</managingEditor>
	<webMaster>rupert.curwen@ubisense.net</webMaster>
	<lastBuildDate>Wed, 20 Aug 2008 17:13:51 GMT</lastBuildDate>
<item>
	<title>Sensors :: RE: Dilution of Precision for ubisense measurements</title>
	<link>http://www.ubisense.org/viewtopic.php?p=666#666</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=54&quot; target=&quot;_blank&quot;&gt;Andy Ward&lt;/a&gt;&lt;br /&gt;
Subject: Re: Dilution of Precision for ubisense measurements&lt;br /&gt;
Posted: Fri Aug 01, 2008 9:03 am (GMT 0)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi Kavitha,
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; But I was under the impression that if I eliminate the readings with the
&lt;br /&gt;
&amp;gt; number of sensors used less than 4 (or 3 for a 2D position), it should
&lt;br /&gt;
&amp;gt; not matter as I thought the AOA are mostly used when a position fix 
&lt;br /&gt;
&amp;gt; with the TDOA cannot be worked out.
&lt;br /&gt;

&lt;br /&gt;
No, we always use all the information available to us, because it greatly increases the accuracy and robustness of the solution. If n sensors are reporting results, we get a total of 2*n angles (one elevation, one azimuth for each sensor), and n!/(n-2)!2! TDOAs. So for n&amp;lt;=5, the AOA contribution is at least as big as the TDOA contribution, and n&amp;lt;=5 for almost all situations in reality. Of course, this isn't the whole story, because as we've been discussing the different types of measurement contribute differently to the solution in different axes - in normal sensor deployments (sensors in a plane near the roof) the vertical accuracy is almost completely due to the AOAs.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; Anyway since the PDOP is not really giving anything useful, I am
&lt;br /&gt;
&amp;gt; working out HDOP and VDOP seperately ( I expect that the VDOP is the
&lt;br /&gt;
&amp;gt; factor that brings high PDOP values)
&lt;br /&gt;

&lt;br /&gt;
Right.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; and perhaps calculate DOP using AOA for cases when the number of
&lt;br /&gt;
&amp;gt; sensors is less than 3.
&lt;br /&gt;

&lt;br /&gt;
Using the above formulae, with n=2 you get 4 AOAs, and 1 TDOA, so the AOA contribution will dominate but you can't completely ignore the TDOA component.
&lt;br /&gt;
 
&lt;br /&gt;
Regards,
&lt;br /&gt;
Andy
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Sensors :: RE: Dilution of Precision for ubisense measurements</title>
	<link>http://www.ubisense.org/viewtopic.php?p=665#665</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=13235&quot; target=&quot;_blank&quot;&gt;Kavitha&lt;/a&gt;&lt;br /&gt;
Subject: Re: Dilution of Precision for ubisense measurements&lt;br /&gt;
Posted: Thu Jul 31, 2008 9:54 am (GMT 0)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi Andy,
&lt;br /&gt;

&lt;br /&gt;
Thanks for your reply. Yes indeed I was using the formula meant for GPS. I agree that this excludes the use of AOA data. But I was under the impression that if I eliminate the readings with the number of sensors used less than 4 (or 3 for a 2D position), it should not matter as I thought the AOA are mostly used when a position fix  with the TDOA cannot be worked out. But I might be completely wrong!
&lt;br /&gt;

&lt;br /&gt;
Anyway since the PDOP is not really giving anything useful, I am working out HDOP and VDOP seperately ( I expect that the VDOP is the factor that brings high PDOP values) and perhaps calculate DOP using AOA for cases when the number of sensors is less than 3. I am not sure if this is the right way, but anyhow shall give it a try.
&lt;br /&gt;
  
&lt;br /&gt;

&lt;br /&gt;
Thanks anyway!
&lt;br /&gt;

&lt;br /&gt;
--
&lt;br /&gt;
Kavitha
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Sensors :: RE: Dilution of Precision for ubisense measurements</title>
	<link>http://www.ubisense.org/viewtopic.php?p=664#664</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=54&quot; target=&quot;_blank&quot;&gt;Andy Ward&lt;/a&gt;&lt;br /&gt;
Subject: Re: Dilution of Precision for ubisense measurements&lt;br /&gt;
Posted: Thu Jul 31, 2008 8:25 am (GMT 0)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hello Kavitha,
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; I see that the value GDOP is left as '0' in the .xcm file. I think this is 
&lt;br /&gt;
&amp;gt;intentionally left  '0', so we cannot back calculate timing from the
&lt;br /&gt;
&amp;gt; GDOP.  Am I right? 
&lt;br /&gt;

&lt;br /&gt;
No, the field is zero because it is currently unused, not because we are trying to hide something! Future versions of the location engine will compute the GDOP/PDOP on-the-fly and include this information here.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; I have done measurements at certain static points within the cell,
&lt;br /&gt;
&amp;gt; whose location is  known (by surveying manually).  I use the standard
&lt;br /&gt;
&amp;gt; formula for calculating the PDOP (computing the pseudo ranges,
&lt;br /&gt;
&amp;gt; directional derivatives etc.,) as the one suggested by Andy in one of
&lt;br /&gt;
&amp;gt; previous posts in this forum. Can anyone point me to what is the
&lt;br /&gt;
&amp;gt; optimal value for PDOP? 
&lt;br /&gt;

&lt;br /&gt;
I've had a look back through the archives, and I think the formula you are referring to is the one for GPS, which is a pure TDoA system. The Ubisense system is a hybrid AoA/TDoA system, for which the DOP calculation is much more complex. Unfortunately, I don't have a simple closed form for this which I can give you, because the version I have exposes a lot of the details of our location algorithm.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; The problem I have is, for some measurement points, the PDOP value I
&lt;br /&gt;
&amp;gt; calculate is much higher (in the order of 100's). 
&lt;br /&gt;

&lt;br /&gt;
If you are using the GPS PDOP, what you may find is that you're computing the full H-and-V DOP, but with a pure TDoA system (like GPS) and typical sensor placements (in a plane near the ceiling of your room), the VDOP is typically terrible. This may push the PDOP to the levels you are seeing (if you use that algorithm and consequently only look at the contributions of the TDoA measurements). It would be interesting to compute the HDOP and VDOP separately, and see which component is generating the biggest contribution.
&lt;br /&gt;

&lt;br /&gt;
Of course, even if you identify that the HDOP is good but the VDOP is bad, this doesn't really tell you what the Ubisense system is doing, because you aren't taking into account how the AoA information is affecting the DOP.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; I should like to filter out the bad measurements using PDOP as a 
&lt;br /&gt;
&amp;gt; metric. I am not sure, if this is already done within the location engine? 
&lt;br /&gt;

&lt;br /&gt;
No, this isn't done in the location engine, but obviously we may do that in the future.
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; Also, can DOP be worked out for cases when number of sensors seeing
&lt;br /&gt;
&amp;gt; the tag is less than 4?
&lt;br /&gt;

&lt;br /&gt;
Yes, DOP can be calculated for any situation in which you generate a position. In the case of the hybrid AoA/TDoA architecture used by our system, we can compute a 3D position with only two sensors seeing the tag, and it would be possible to determine DOP in that case (with the more complex algorithm I mentioned above).
&lt;br /&gt;

&lt;br /&gt;
Regards,
&lt;br /&gt;
Andy Ward
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Sensors :: Dilution of Precision for ubisense measurements</title>
	<link>http://www.ubisense.org/viewtopic.php?p=663#663</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=13235&quot; target=&quot;_blank&quot;&gt;Kavitha&lt;/a&gt;&lt;br /&gt;
Subject: Dilution of Precision for ubisense measurements&lt;br /&gt;
Posted: Wed Jul 30, 2008 2:59 pm (GMT 0)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi,
&lt;br /&gt;

&lt;br /&gt;
Has anyone calculated the dilution of precision for the ubisense measurements?
&lt;br /&gt;

&lt;br /&gt;
I see that the value GDOP is left as '0' in the .xcm file. I think this is intentionally left  '0', so we cannot back calculate timing from the GDOP.  Am I right? But I would like to calculate PDOP (position dilution of precision, atleast for a  2D case) as a metric to evaluate the accuracy of the ubisense, and this does not require timing information.
&lt;br /&gt;

&lt;br /&gt;
I have done measurements at certain static points within the cell, whose location is  known (by surveying manually).  I use the standard formula for calculating the PDOP (computing the pseudo ranges, directional derivatives etc.,) as the one suggested by Andy in one of previous posts in this forum. Can anyone point me to what is the optimal value for PDOP? 
&lt;br /&gt;

&lt;br /&gt;
The problem I have is, for some measurement points, the PDOP value I calculate is much higher (in the order of 100's). I should like to filter out the bad measurements using PDOP as a metric. I am not sure, if this is already done within the location engine? 
&lt;br /&gt;

&lt;br /&gt;
Also, can DOP be worked out for cases when number of sensors seeing the tag is less than 4?
&lt;br /&gt;

&lt;br /&gt;
Any pointer to this would be  useful.
&lt;br /&gt;

&lt;br /&gt;
Thanks,
&lt;br /&gt;
--
&lt;br /&gt;
Kavitha
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: Status code: Location engine synch error?</title>
	<link>http://www.ubisense.org/viewtopic.php?p=655#655</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=2670&quot; target=&quot;_blank&quot;&gt;twilson&lt;/a&gt;&lt;br /&gt;
Subject: Resolved&lt;br /&gt;
Posted: Mon Jun 02, 2008 8:36 pm (GMT 0)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi;
&lt;br /&gt;
Yes, it was a timing issue and I resolved it last week after your response. I had one bad timing cable and one timing cable plugged into the wrong port. System has been calibrated and is now up and running well.
&lt;br /&gt;

&lt;br /&gt;
I did wonder whether this might be a different kind of indication because it was different from the basic pattern you mentioned. I think it would merit specifying the general reboot pattern in the documentation of the light codes, along with any other patterns such as the one I saw.  Overall, though, I think this is a pretty good system for debugging basic problems as the sensors are coming up, especially since there may be no other way to gather information from them under certain error conditions. In fact, all the Sensor Status page told me was that its status was &amp;quot;unknown&amp;quot;. 
&lt;br /&gt;

&lt;br /&gt;
Thanks;
&lt;br /&gt;

&lt;br /&gt;
Tim
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: clipping distance / peak detect threshold / standard error?</title>
	<link>http://www.ubisense.org/viewtopic.php?p=654#654</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=10833&quot; target=&quot;_blank&quot;&gt;NiekBouman&lt;/a&gt;&lt;br /&gt;
Subject: clipping distance / peak detect threshold / standard error?&lt;br /&gt;
Posted: Mon Jun 02, 2008 12:57 pm (GMT 0)&lt;br /&gt;
Topic Replies: 0&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;What means the 'clipping distance' ? I can only find in the documentation that this parameter 'should be set', but nowhere how it is defined and how one should determine the right value for it.
&lt;br /&gt;

&lt;br /&gt;
Secondly, what means the 'peak detect threshold' in the user tab of the sensor properties, and how do I determine a suitable value for it? 
&lt;br /&gt;

&lt;br /&gt;
Thirdly, what is the definition of the standard error? (In what way is this related to the real  accuracy of the position estimate?)
&lt;br /&gt;

&lt;br /&gt;
Niek Bouman
&lt;br /&gt;
Dept. of Electrical Engineering, Mathematics and Computer Science, University of Twente, The Netherlands
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: Status code: Location engine synch error?</title>
	<link>http://www.ubisense.org/viewtopic.php?p=653#653</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=8&quot; target=&quot;_blank&quot;&gt;Pete Steggles&lt;/a&gt;&lt;br /&gt;
Subject: Re: Status code: Location engine synch error?&lt;br /&gt;
Posted: Wed May 28, 2008 10:33 am (GMT 0)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;twilson wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;Problem: One sensor, continuously blinks red/green/red/green (no pause) after downloading. The Loc Engine Config manual says this indicates, &amp;quot;Location engine synch. failure&amp;quot;, whose definition is: &amp;quot;There may be an inconsistent boot file for the version of location engine services installed. Check your location engine services are up to date and consistent, then reboot the sensor.&amp;quot;  Occasionally one of the other slaves does this briefly, but then goes to solid green. We haven't changed or upgraded any software. (I can't swear by it, but I'm pretty sure it's not blinking orange/green/orange/green, which indicates memory test failure.)
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Tim
&lt;br /&gt;

&lt;br /&gt;
I think you have misinterpreted one error mode for another (perfectly understandably, given our somewhat primitive means of error communication!).
&lt;br /&gt;

&lt;br /&gt;
This is not actually one of the boot sequence error codes as described in the Location Engine Config manual. Those codes all follow this sequence: (long red flash; off; four colour error code; off) * 3 repeats; reboot.  
&lt;br /&gt;

&lt;br /&gt;
What you are seeing is: (red ; green) * infinite repeats and no reboot.  This indicates that the sensor is not receiving a stable timing signal.  Most likely the timing cable is either plugged into the wrong port or is faulty in some way.  The other sensor that is flashing is getting this problem intermittently.
&lt;br /&gt;

&lt;br /&gt;
I will check out the documentation (because I suspect that the 'timing cable out' indicator didn't find its way into the manual) and get the manual fixed if need be.
&lt;br /&gt;

&lt;br /&gt;
Pete
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: Status code: Location engine synch error?</title>
	<link>http://www.ubisense.org/viewtopic.php?p=652#652</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=2670&quot; target=&quot;_blank&quot;&gt;twilson&lt;/a&gt;&lt;br /&gt;
Subject: Status code: Location engine synch error?&lt;br /&gt;
Posted: Tue May 27, 2008 11:20 pm (GMT 0)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi. I have just finished moving 1 cell of 4 sensors from one office to another. We are running the core_server and platform_control from the same linux server as in the previous office, so I was just planning to re-enter a new wall file and redefine the area for that location cell. 
&lt;br /&gt;

&lt;br /&gt;
Before entering the new space layout information, I booted the system to test connectivity. All 4 sensors downloaded and ran. The logs indicate all are up and running in the correct master and slave roles. 
&lt;br /&gt;

&lt;br /&gt;
Problem: One sensor, continuously blinks red/green/red/green (no pause) after downloading. The Loc Engine Config manual says this indicates, &amp;quot;Location engine synch. failure&amp;quot;, whose definition is: &amp;quot;There may be an inconsistent boot file for the version of location engine services installed. Check your location engine services are up to date and consistent, then reboot the sensor.&amp;quot;  Occasionally one of the other slaves does this briefly, but then goes to solid green. We haven't changed or upgraded any software. (I can't swear by it, but I'm pretty sure it's not blinking orange/green/orange/green, which indicates memory test failure.)
&lt;br /&gt;

&lt;br /&gt;
Additional information:
&lt;br /&gt;
 - After being unable to clear this problem, I entered the new wall file and the new sensor positions and orientations. No difference.
&lt;br /&gt;
 - I compared logs amongst slaves during startup. The files referenced/downloaded in the logs are identical.
&lt;br /&gt;
 - I have not attempted recalibration because I'm not getting any data from this one sensor on the incident power plot, so I didn't want to use that data to set the thresholds.
&lt;br /&gt;
 - When I run the incident power plot, I see cumulative averages (or whatever's displayed below the Cumulative chart) of: 2152, 4705, 392, and 0 from the problem sensor.
&lt;br /&gt;
 - Under &amp;quot;Sensor Status&amp;quot;, this one's status is &amp;quot;unknown&amp;quot;. Others are &amp;quot;running&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
Here's what I've tried:
&lt;br /&gt;
 - Reinstall the Platform using the ServiceInstaller
&lt;br /&gt;
 - Reinstall the Location Engine using the Service Installer
&lt;br /&gt;
 - After reinstalling the services: Undeploy services, stop and restart the ubisense_core_server and ubisense_platform_control linux services, redeploy services
&lt;br /&gt;
 - Reconnect the sensors on various Ethernet switch ports
&lt;br /&gt;
 - Reboot in different order
&lt;br /&gt;
 - Change the problem sensor to &amp;quot;available&amp;quot;, then add it back to the cell.
&lt;br /&gt;

&lt;br /&gt;
I'm out of ideas except for the possibility that this sensor is broken. The only diagnostic I can think to perform is to try to capture packets and compare between the different sensors.
&lt;br /&gt;

&lt;br /&gt;
Thanks for your help.    ---Tim
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: problems about the &amp;quot;protocol.c&amp;quot;</title>
	<link>http://www.ubisense.org/viewtopic.php?p=649#649</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=3&quot; target=&quot;_blank&quot;&gt;Rupert Curwen&lt;/a&gt;&lt;br /&gt;

Posted: Thu May 22, 2008 6:43 am (GMT 0)&lt;br /&gt;
Topic Replies: 9&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;OK, the 1.2.8 libraries you are using are built for VS2003.  I know there is a build for VS2005 - I'll try to find it.  I'm at a customer this week.
&lt;br /&gt;

&lt;br /&gt;
If you didn't hear anything from support you might have some sort of spam filter blocking our emails.  Or perhaps your email has been filtered out at our end in which case it would be picked up only every few days.  It annoys me that one cannot run a public email address without any spam filtering any more, but that's the way things are.
&lt;br /&gt;

&lt;br /&gt;
Rupert.
&lt;br /&gt;_________________&lt;br /&gt;Rupert Curwen
&lt;br /&gt;
Founder and Software Director
&lt;br /&gt;
Ubisense Limited&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: problems about the &amp;quot;protocol.c&amp;quot;</title>
	<link>http://www.ubisense.org/viewtopic.php?p=648#648</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=10214&quot; target=&quot;_blank&quot;&gt;kairen6645&lt;/a&gt;&lt;br /&gt;

Posted: Thu May 22, 2008 12:55 am (GMT 0)&lt;br /&gt;
Topic Replies: 9&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hello Rupert Curwen,
&lt;br /&gt;

&lt;br /&gt;
I have already asked the  support for help,but I don't receive any message from them. 
&lt;br /&gt;

&lt;br /&gt;
I use vs2005
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: problems about the &amp;quot;protocol.c&amp;quot;</title>
	<link>http://www.ubisense.org/viewtopic.php?p=647#647</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=3&quot; target=&quot;_blank&quot;&gt;Rupert Curwen&lt;/a&gt;&lt;br /&gt;

Posted: Wed May 21, 2008 7:29 pm (GMT 0)&lt;br /&gt;
Topic Replies: 9&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Probably a binary incompatibility between the version of the C++ compiler you are using and the version the libraries were compiled with.  Again, which OS are you using, and which compiler version?
&lt;br /&gt;_________________&lt;br /&gt;Rupert Curwen
&lt;br /&gt;
Founder and Software Director
&lt;br /&gt;
Ubisense Limited&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: Version 2 Software Compatibility Matrix Request</title>
	<link>http://www.ubisense.org/viewtopic.php?p=646#646</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=9208&quot; target=&quot;_blank&quot;&gt;Anthony&lt;/a&gt;&lt;br /&gt;

Posted: Tue May 20, 2008 1:19 pm (GMT 0)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hello,
&lt;br /&gt;

&lt;br /&gt;
Have you the same thing in c# ? 
&lt;br /&gt;

&lt;br /&gt;
Anthony.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: problems about the &amp;quot;protocol.c&amp;quot;</title>
	<link>http://www.ubisense.org/viewtopic.php?p=645#645</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=10214&quot; target=&quot;_blank&quot;&gt;kairen6645&lt;/a&gt;&lt;br /&gt;

Posted: Tue May 20, 2008 8:55 am (GMT 0)&lt;br /&gt;
Topic Replies: 9&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Well,I have write some applications using c++ API under v1.0,but your v2.0 don't provide C++ API . 
&lt;br /&gt;

&lt;br /&gt;
I want to run my programme without changing to use c#,so I test to see wether the protocol work in v1.0. But the result is that it doedn't work.
&lt;br /&gt;

&lt;br /&gt;
By the way ,I have another program:the code below can't run ,will you pls tell me why?   An exception occur in the red line, after run  &amp;quot;Set&amp;lt;String&amp;gt; cells = client.get_all_cells(); &amp;quot;,the Set&amp;lt;String&amp;gt; is still empty.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
#include &amp;quot;UClientAPI/location_client.h&amp;quot;  
&lt;br /&gt;
using namespace UClientAPI;
&lt;br /&gt;

&lt;br /&gt;
class MyLocationClient : public LocationClient
&lt;br /&gt;
{
&lt;br /&gt;
public:
&lt;br /&gt;
	MyLocationClient()
&lt;br /&gt;
	{
&lt;br /&gt;
	}
&lt;br /&gt;
	/// Called when an object enters the loaded cells.
&lt;br /&gt;
	virtual void on_insert(const Object&amp;amp; object, const Location&amp;amp;
&lt;br /&gt;
		location)
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Insert &amp;quot; &amp;lt;&amp;lt; object.to_string() &amp;lt;&amp;lt; &amp;quot; at &amp;quot; &amp;lt;&amp;lt; location &amp;lt;&amp;lt;
&lt;br /&gt;
			endl;
&lt;br /&gt;
	}
&lt;br /&gt;
	
&lt;br /&gt;
	/// Called when an object moves within the loaded cells.
&lt;br /&gt;
	virtual void on_update(const Object&amp;amp; object,
&lt;br /&gt;
		const Location&amp;amp; location)
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Update &amp;quot; &amp;lt;&amp;lt; object.to_string() &amp;lt;&amp;lt; &amp;quot; at &amp;quot; &amp;lt;&amp;lt; location &amp;lt;&amp;lt;
&lt;br /&gt;
			endl;
&lt;br /&gt;
	}
&lt;br /&gt;
	
&lt;br /&gt;
	/// Called when an object leaves the loaded cells.
&lt;br /&gt;
	virtual void on_remove(const Object&amp;amp; object,
&lt;br /&gt;
		const Location&amp;amp; location)
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Remove &amp;quot; &amp;lt;&amp;lt; object.to_string() &amp;lt;&amp;lt; &amp;quot; at &amp;quot; &amp;lt;&amp;lt; location &amp;lt;&amp;lt;
&lt;br /&gt;
			endl;
&lt;br /&gt;
	}
&lt;br /&gt;
	
&lt;br /&gt;
	/// Called when a set of object inserts, moves or removes is	commited.
&lt;br /&gt;
	virtual void on_commit()
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Commit&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	}
&lt;br /&gt;
	/// Called when events may have been missed. Objects is the set
&lt;br /&gt;
	/// of objects that may have changed.
&lt;br /&gt;
	virtual void on_establish(const Set&amp;lt;Object&amp;gt;&amp;amp; objects)
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Establish with &amp;quot; &amp;lt;&amp;lt; objects.size() &amp;lt;&amp;lt; &amp;quot; objects&amp;quot; &amp;lt;&amp;lt;
&lt;br /&gt;
			endl;
&lt;br /&gt;
		for (Set&amp;lt;Object&amp;gt;::const_iterator i = objects.begin();
&lt;br /&gt;
			i != objects.end();
&lt;br /&gt;
			++i)
&lt;br /&gt;
		{
&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; (*i).to_string() &amp;lt;&amp;lt; endl;
&lt;br /&gt;
		}
&lt;br /&gt;
	}
&lt;br /&gt;

&lt;br /&gt;
};
&lt;br /&gt;

&lt;br /&gt;
bool test_location()
&lt;br /&gt;
{
&lt;br /&gt;
	MyLocationClient client;
&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Available cells:&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	String cell_name;
&lt;br /&gt;
	{
&lt;br /&gt;
		&lt;span style=&quot;color: red&quot;&gt;Set&amp;lt;String&amp;gt; cells = client.get_all_cells();
&lt;br /&gt;
		for (Set&amp;lt;String&amp;gt;::const_iterator i = cells.begin();
&lt;br /&gt;
			i != cells.end();
&lt;br /&gt;
			++i)&lt;/span&gt;	
&lt;br /&gt;
	                 {
&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl;
&lt;br /&gt;
		}
&lt;br /&gt;
		if (cells.empty())
&lt;br /&gt;
		{
&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;No available cells&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
			return true;
&lt;br /&gt;
		}
&lt;br /&gt;
		cell_name = *(cells.begin());
&lt;br /&gt;
	}
&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Loading cell &amp;quot; &amp;lt;&amp;lt; cell_name &amp;lt;&amp;lt; endl;
&lt;br /&gt;

&lt;br /&gt;
	if (!client.load_cell(cell_name))
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Failed&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
		return false;
&lt;br /&gt;
	}
&lt;br /&gt;

&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Loading cells intersecting -10,-10,-10 to 10,10,10&amp;quot; &amp;lt;&amp;lt;endl;
&lt;br /&gt;

&lt;br /&gt;
	Position pmin(-10.0,-10.0,-10.0);
&lt;br /&gt;
	Position pmax(10.0,10.0,10.0);
&lt;br /&gt;
	Set&amp;lt;String&amp;gt; loaded_cells =
&lt;br /&gt;
		client.load_cells_intersecting(pmin,pmax);
&lt;br /&gt;
	if (loaded_cells.empty())
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;No cells loaded&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
		return false;
&lt;br /&gt;
	}
&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Cells loaded:&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	for (Set&amp;lt;String&amp;gt;::const_iterator i = loaded_cells.begin();
&lt;br /&gt;
		i != loaded_cells.end();
&lt;br /&gt;
		++i)
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	}
&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Gettting all object locations in loaded cells&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	Map&amp;lt;Object, Location&amp;gt; locations;
&lt;br /&gt;
	client.get_all_locations(locations);
&lt;br /&gt;
	if (locations.empty())
&lt;br /&gt;
	{
&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;No located objects&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
		return false;
&lt;br /&gt;
	}
&lt;br /&gt;
	cout &amp;lt;&amp;lt; &amp;quot;Unloading all cells&amp;quot; &amp;lt;&amp;lt; endl;
&lt;br /&gt;
	client.unload_all_cells();
&lt;br /&gt;
	return true;
&lt;br /&gt;

&lt;br /&gt;
}
&lt;br /&gt;

&lt;br /&gt;
int main()
&lt;br /&gt;
{
&lt;br /&gt;
	test_location();
&lt;br /&gt;
}
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Sensors :: RE: Eternal Sensor Reboot...</title>
	<link>http://www.ubisense.org/viewtopic.php?p=644#644</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=3&quot; target=&quot;_blank&quot;&gt;Rupert Curwen&lt;/a&gt;&lt;br /&gt;

Posted: Tue May 20, 2008 8:24 am (GMT 0)&lt;br /&gt;
Topic Replies: 5&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;That just looks like you haven't got your timing cables plugged in correctly.  Make sure the timing cable goes into the port on the slave marked with a clock.  Make sure the cell master is set as &amp;quot;timing source&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
Rupert.
&lt;br /&gt;_________________&lt;br /&gt;Rupert Curwen
&lt;br /&gt;
Founder and Software Director
&lt;br /&gt;
Ubisense Limited&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>General :: RE: problems about the &amp;quot;protocol.c&amp;quot;</title>
	<link>http://www.ubisense.org/viewtopic.php?p=643#643</link>
	<description>Author: &lt;a href=&quot;http://www.ubisense.org//profile.php?mode=viewprofile&amp;u=3&quot; target=&quot;_blank&quot;&gt;Rupert Curwen&lt;/a&gt;&lt;br /&gt;

Posted: Tue May 20, 2008 8:20 am (GMT 0)&lt;br /&gt;
Topic Replies: 9&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Sorry to be so slow responding.  
&lt;br /&gt;

&lt;br /&gt;
Unfortunately the protocol.c example only applies to the 2.0 system, where Location Engine was separated out as a product.
&lt;br /&gt;

&lt;br /&gt;
What are you trying to achieve, and on which operating system and compiler?
&lt;br /&gt;

&lt;br /&gt;
Rupert
&lt;br /&gt;_________________&lt;br /&gt;Rupert Curwen
&lt;br /&gt;
Founder and Software Director
&lt;br /&gt;
Ubisense Limited&lt;/span&gt;&lt;br /&gt;
</description>
</item>
</channel>
</rss>

