Modified to use the new MAC layer API
This commit is contained in:
parent
f373c63532
commit
52eb372890
6 changed files with 139 additions and 55 deletions
|
@ -33,7 +33,7 @@
|
|||
*
|
||||
* This file is part of the Contiki operating system.
|
||||
*
|
||||
* $Id: rime.c,v 1.9 2007/05/22 20:56:10 adamdunkels Exp $
|
||||
* $Id: rime.c,v 1.10 2007/05/25 08:06:44 adamdunkels Exp $
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -44,32 +44,31 @@
|
|||
*/
|
||||
|
||||
#include "net/rime.h"
|
||||
#include "net/mac/mac.h"
|
||||
|
||||
static void (* output)(void);
|
||||
|
||||
static const struct mac_driver *mac;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void
|
||||
input(const struct mac_driver *r)
|
||||
{
|
||||
int len;
|
||||
len = mac->read();
|
||||
if(len > 0) {
|
||||
RIMESTATS_ADD(rx);
|
||||
abc_input_packet();
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
rime_init(void)
|
||||
rime_init(const struct mac_driver *m)
|
||||
{
|
||||
ctimer_init();
|
||||
queuebuf_init();
|
||||
route_init();
|
||||
rimebuf_clear();
|
||||
output = NULL;
|
||||
neighbor_init();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
rime_input(void)
|
||||
{
|
||||
RIMESTATS_ADD(rx);
|
||||
abc_input_packet();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
rime_set_output(void (*f)(void))
|
||||
{
|
||||
output = f;
|
||||
mac = m;
|
||||
mac->set_receive_function(input);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
|
@ -77,8 +76,8 @@ rime_output(void)
|
|||
{
|
||||
RIMESTATS_ADD(tx);
|
||||
rimebuf_compact();
|
||||
if(output) {
|
||||
output();
|
||||
if(mac) {
|
||||
mac->send();
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue