GOAT logo

Join the conversation! The forum activity is now at GOATeach.org!  We are working to cross pollinate our conversations. Document and share tools at farm hack and talk at GOAT!  Also join GOAT riot and introduce yourself and your projects!

BeagleBone vs. Real-time scheduling

Topic Type: 

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