Janos, On Fri, Feb 27, 2009 at 7:30 PM, Janos Sallai <[email protected]> wrote: > Just by taking a quick look at HplAtm128UartP.nc, I can see a number > of issues on the tx path: > - It uses the tx complete interrupt instead of the uard data register > empty interrupt, which is suboptimal in terms of bandwidth. > - It sets the TX complete flag when enabling the tx interrupt. I > suppose that this results in the tx interrupt being fired without > actually sending out anything. Removing this might solve the problem. > > I will take a look.
Without TASKLET_IS_TASK, the radio interrupt code quickly reenables all interrupts, but we do the processing in interrupt context (so subsequent UART interrupts should be fine). With TASKLET_IS_TASK, again all interrupts are quickly reenabled, but then processing is done in a task. So interrupts are NEVER disabled for longer than a few operations, all atomic sections are the same and are very short in the radio driver. The only problem could be if a radio interrupt comes while we are processing a UART interrupt and we do not use an atomic section to protect something. So I think an atomic section should be used somewhere. Anyways, I think the UART driver should be fixed. Miklos _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
