It looks like the version of Angstrom that is on the prototype does not have a real-time scheduler. This means that things like cron jobs, page swapping, ... could interfere with proper detection of time-of-flight. So its beginning to look like we need to use statistical analysis instead of measurement of a few samples. This means longer times to deduce the distance of an animal (I'm hoping just a few seconds), and more battery drain (since we have to send a bunch of transmissions instead of one or two).
And, sigh, statistics isn't my strong point.
The attached file (latencytest.c.txt) started out as a test for latency between two XBee's, but ended up testing the presence of the real-time scheduler. The output from running the test is: ./latencytest starting... My original scheduling policy is SCHED_OTHER (0) The original minimum scheduling priority is 0, the maximum is 0 sched_get_priority_max(1) returned 99 sched_get_priority_min(1) returned 1 My target scheduling policy is SCHED_FIFO (1) The target minimum scheduling priority is 1, the maximum is 99 params.sched_priority now set to 98 sched_setscheduler (0, SCHED_FIFO (1), ...) failed: Operation not permitted My scheduling policy is SCHED_OTHER The minimum scheduling priority is 0, the maximum is 0