Made initialization function return a pointer to the MAC driver structure, to make initialization nicer

This commit is contained in:
adamdunkels 2007-10-23 21:27:57 +00:00
parent f638c628d7
commit 67aa9e8589
2 changed files with 27 additions and 23 deletions

View File

@ -28,7 +28,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: nullmac.c,v 1.3 2007/05/25 08:07:15 adamdunkels Exp $ * $Id: nullmac.c,v 1.4 2007/10/23 21:27:57 adamdunkels Exp $
*/ */
/** /**
@ -84,14 +84,6 @@ off(void)
return radio->off(); return radio->off();
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
void
nullmac_init(const struct radio_driver *d)
{
radio = d;
radio->set_receive_function(input);
radio->on();
}
/*---------------------------------------------------------------------------*/
const struct mac_driver nullmac_driver = { const struct mac_driver nullmac_driver = {
send, send,
read, read,
@ -99,3 +91,13 @@ const struct mac_driver nullmac_driver = {
on, on,
off, off,
}; };
/*---------------------------------------------------------------------------*/
const struct mac_driver *
nullmac_init(const struct radio_driver *d)
{
radio = d;
radio->set_receive_function(input);
radio->on();
return &nullmac_driver;
}
/*---------------------------------------------------------------------------*/

View File

@ -30,7 +30,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: xmac.c,v 1.7 2007/08/30 14:39:18 matsutsuka Exp $ * $Id: xmac.c,v 1.8 2007/10/23 21:27:57 adamdunkels Exp $
*/ */
/** /**
@ -426,19 +426,6 @@ read(void)
return 0; return 0;
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
void
xmac_init(const struct radio_driver *d)
{
radio_is_on = 0;
should_be_awake = 0;
PT_INIT(&pt);
rtimer_set(&rt, RTIMER_NOW() + OFF_TIME, 1,
(void (*)(struct rtimer *, void *))powercycle, NULL);
radio = d;
radio->set_receive_function(input);
}
/*---------------------------------------------------------------------------*/
static int static int
on(void) on(void)
{ {
@ -459,3 +446,18 @@ const struct mac_driver xmac_driver =
on, on,
off off
}; };
/*---------------------------------------------------------------------------*/
const struct mac_driver *
xmac_init(const struct radio_driver *d)
{
radio_is_on = 0;
should_be_awake = 0;
PT_INIT(&pt);
rtimer_set(&rt, RTIMER_NOW() + OFF_TIME, 1,
(void (*)(struct rtimer *, void *))powercycle, NULL);
radio = d;
radio->set_receive_function(input);
return &xmac_driver;
}
/*---------------------------------------------------------------------------*/