/*---------------------------------------------------------------------------*/ void rime_init(const struct mac_driver *m) { queuebuf_init(); route_init(); packetbuf_clear(); neighbor_init(); announcement_init(); rime_mac = m; rime_mac->set_receive_function(input); chameleon_init(&chameleon_bitopt); #if ! RIME_CONF_NO_POLITE_ANNOUCEMENTS /* XXX This is initializes the transmission of announcements but it * is not currently certain where this initialization is supposed to * be. Also, the times are arbitrarily set for now. They should * either be configurable, or derived from some MAC layer property * (duty cycle, sleep time, or something similar). But this is OK * for now, and should at least get us started with experimenting * with announcements. */ polite_announcement_init(POLITE_ANNOUNCEMENT_CHANNEL, POLITE_ANNOUNCEMENT_START_TIME, POLITE_ANNOUNCEMENT_MAX_TIME); #endif /* ! RIME_CONF_NO_POLITE_ANNOUCEMENTS */ }
/*---------------------------------------------------------------------------*/ static void init(void) { queuebuf_init(); packetbuf_clear(); announcement_init(); chameleon_init(); /* XXX This is initializes the transmission of announcements but it * is not currently certain where this initialization is supposed to * be. Also, the times are arbitrarily set for now. They should * either be configurable, or derived from some MAC layer property * (duty cycle, sleep time, or something similar). But this is OK * for now, and should at least get us started with experimenting * with announcements. */ broadcast_announcement_init(BROADCAST_ANNOUNCEMENT_CHANNEL, BROADCAST_ANNOUNCEMENT_BUMP_TIME, BROADCAST_ANNOUNCEMENT_MIN_TIME, BROADCAST_ANNOUNCEMENT_MAX_TIME); }