Hola,
Tal vez ya muchos grupos estén encaminados con el lab 5, pero por las dudas comparto con todos:
1) En la parte 2.1 nullRDC tengan cuidado al modificar NETSTACK_CONF_RDC para nullrdc, no lo hagan dentro de los #ifdef, porque sino no lo modifican (al evaluar falso el if). Tienen que ponerlo antes o después, incluso la mejor opción sería en un #else.
2) En la parte d. de 2.3.1 TSCH minimal se pide identificar el tiempo de slot y largo del slotframe.
A. Tiempo de slot
Si no recuerdo mal con algún grupo hoy al final de la clase vimos que enviaba un IE en el EB con la información Timeslot ID = 0x00. Eso indica usar el timeslot por defecto que sería 10ms (según la Tabla 8-86 de la norma, ver 7.4.4.4 TSCH Timeslot IE, de IEEE std 802.15.4-2015). Sin embargo para el z1 este valor se aumenta a 15 ms por tratarse de una plataforma "lenta". En contiki/core/net/mac/tsch/tsch-config.h, se define TSCH_CONF_DEFAULT_TIMESLOT_LENGTH como 10000 (10 ms), pero para z1 se define en 15000 (15 ms) en contiki/platform/z1/contiki-conf.h. El tiempo tienen que medirlo en el timeline de Cooja.
B. Largo del slotframe.
Si bien también está previsto enviarse en los EB (ver 7.4.4.3 TSCH
Slotframe and Link IE
) no se envía ese valor. Eso también llegamos a verlo hoy. Busacndo en el código pueden comprobar que los valores de orchestra
se configuran en cada nodo por código (con defines) y no se envía. Por ejemplo ORCHESTRA_COMMON_SHARED_PERIOD se usa únicamente en una función de
init para agregar el sechedule:
struct tsch_slotframe *sf_common =
tsch_schedule_add_slotframe(slotframe_handle,
ORCHESTRA_COMMON_SHARED_PERIOD);
En resumen, lo que esperamos es verificar, observando en el timeline de Cooja (y no en Wireshark), los diferentes valores de largo de slotframe.
Espero haberles aclarado las dudas, si es que la tenían.
Saludos
Leo