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

Reply via email to