in tx_packet, force an interrupt if the maca isn't doing anything so
that the transmit starts. Or if the maca is in a reception cycle, advance the softclock timeout to now so that transmission starts as soon as possible (immediately if a packet isn't being received or right after reception finishes).
This commit is contained in:
parent
593a50c38f
commit
a3b9c2adb0
1 changed files with 4 additions and 2 deletions
|
@ -30,7 +30,7 @@
|
||||||
* This file is part of libmc1322x: see http://mc1322x.devl.org
|
* This file is part of libmc1322x: see http://mc1322x.devl.org
|
||||||
* for details.
|
* for details.
|
||||||
*
|
*
|
||||||
* $Id: maca.c,v 1.3 2010/07/28 18:47:35 maralvira Exp $
|
* $Id: maca.c,v 1.4 2010/07/28 18:48:03 maralvira Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <mc1322x.h>
|
#include <mc1322x.h>
|
||||||
|
@ -459,7 +459,9 @@ void tx_packet(volatile packet_t *p) {
|
||||||
// print_packets("tx packet");
|
// print_packets("tx packet");
|
||||||
irq_restore();
|
irq_restore();
|
||||||
if(bit_is_set(*NIPEND, INT_NUM_MACA)) { *INTFRC = (1 << INT_NUM_MACA); }
|
if(bit_is_set(*NIPEND, INT_NUM_MACA)) { *INTFRC = (1 << INT_NUM_MACA); }
|
||||||
|
if(last_post == NO_POST) { *INTFRC = (1<<INT_NUM_MACA); }
|
||||||
|
/* if we are in a reception cycle, advance the softclock timeout to now */
|
||||||
|
if(last_post == RX_POST) { *MACA_SFTCLK = *MACA_CLK; }
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue