|
It is too bad TinyOS doesn't context switch between tasks ;) About the modifications to TimerB's divisor, it breaks DCO calibration unless you change the TARGET_DELTA from 2048 to 256 in MSP430DCOCalibM.nc. With this configuration, I can use the Timer module properly with long operations (ECDSA), and have yet to see any issues with peripherals (CC2420, STM25 flash, UART, external iButton). Why would we want the extra interrupt load of the timer overflowing every 2 seconds? Would that not also mean that it has to wake up from LPM every 2 seconds to process the interrupt (I have yet to look into LPM at all..so I'm completely unsure of its operation). Cheers, Matt Prabal Dutta wrote: Matt, ECDSA is a pretty long running operation and we've seen similar problems with other algorithms like RSA and FFT that can have long running times. You best bet for getting it to work in TinyOS without screwing with the task queues or other internals is to write your algorithm so it operates in multiple phases, with each phase short enough to avoid overflowing the timer. The easiest way to do this, like the referenced thread states, is to iterate through long loops in pieces. You should avoid the temptation to break the system model (short tasks) even if you can get it to work in a particular case. The reason is that the rest of the system is built on top of that assumption and you risk causing unintended side effects.- Prabal On 2/6/06, Matt Thompson <[EMAIL PROTECTED]> wrote:Are there any inherent problems with setting the TimerB divisor to 8 in MSP430ClockM.nc (by adding ID_DIV8 in MSP430ClockInit.defaultInitTimerB()), and changing "milli*32" to "milli*4" in TimerM.nc? This should make TimerB work at 4khz, overflowing the 16bit counter approx every 16 seconds. Cheers, Matt Cory Sharp wrote: On 2/5/06, Michael Schippling <[EMAIL PROTECTED]> wrote: |
_______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
