[Tinyos-help] Very strange problem!
schip at santafe.edu
Sun Feb 10 17:15:42 PST 2008
sorry I wasn't following along in the book...so I'm lost.
But I wonder if using a long in the for() comparison is a problem.
Since you don't even have an int's worth of memory to iterate
through, you don't need range to be long. Might be worth a try,
or at least a poke into the assembler output.
Aurélien Francillon wrote:
> AIGroup a écrit :
>> I'm using only one sample to prevent too much computational cost.
>> I yet have the problem and today I have seen that most of these errors
>> is caused by automatic cast. If the cast is forced, most of this
>> events don't occur.
>> I hope to find a solution very soon!
>> Thanks for your time
>>> long compute_index(long int *binfeature, long int range, long int
>>> int i=0,ii=0;
>>> /*THE PROBLEM IS HERE: IF I PUT A NUMBER (e.g. 2) INSTEAD OF
>> range THE
>>> STATEMENT for WORKS WELL */
>>> for(i=0;i<range;i++) /* <----T
> >> index[ii]=i;
> >> ii++;
> hum to my opinon you should check here and in other places that you
> don't overflow the array called "index" i.e. it depends on too much
> magic to work reliably...
> as a starter adding a manual check for "ii" to be in range of your array
> might help?
> Overflowing the array could very well lead to various kind of unreliable
> and unexplicable behaviour as you may overwrite stack or other variables
> Tinyos-help mailing list
> Tinyos-help at millennium.berkeley.edu
TinyOS version: 1.x, Boomerang
Device(s): Mica2, MicaZ, Tmote
Sensor board: homebrew
More information about the Tinyos-help