*/
enum {
-#if PLATFORM_MICAZ || PLATFORM_TELOSA || PLATFORM_TELOSB || PLATFORM_TMOTE || PLATFORM_INTELMOTE2
- FORWARD_PACKET_TIME = 4,
+#if PLATFORM_MICAZ || PLATFORM_TELOSA || PLATFORM_TELOSB || PLATFORM_TMOTE || PLATFORM_INTELMOTE2 || PLATFORM_SHIMMER || PLATFORM_IRIS
+ FORWARD_PACKET_TIME = 7,
#else
FORWARD_PACKET_TIME = 32,
#endif
};
enum {
- SENDDONE_FAIL_OFFSET = 512,
- SENDDONE_NOACK_OFFSET = FORWARD_PACKET_TIME << 2,
- SENDDONE_OK_OFFSET = FORWARD_PACKET_TIME << 2,
- LOOPY_OFFSET = FORWARD_PACKET_TIME << 4,
- SENDDONE_FAIL_WINDOW = SENDDONE_FAIL_OFFSET - 1,
- LOOPY_WINDOW = LOOPY_OFFSET - 1,
- SENDDONE_NOACK_WINDOW = SENDDONE_NOACK_OFFSET - 1,
- SENDDONE_OK_WINDOW = SENDDONE_OK_OFFSET - 1,
+ SENDDONE_OK_OFFSET = FORWARD_PACKET_TIME,
+ SENDDONE_OK_WINDOW = FORWARD_PACKET_TIME,
+ SENDDONE_NOACK_OFFSET = FORWARD_PACKET_TIME,
+ SENDDONE_NOACK_WINDOW = FORWARD_PACKET_TIME,
+ SENDDONE_FAIL_OFFSET = FORWARD_PACKET_TIME << 2,
+ SENDDONE_FAIL_WINDOW = SENDDONE_FAIL_OFFSET,
+ LOOPY_OFFSET = FORWARD_PACKET_TIME << 2,
+ LOOPY_WINDOW = LOOPY_OFFSET,
CONGESTED_WAIT_OFFSET = FORWARD_PACKET_TIME << 2,
- CONGESTED_WAIT_WINDOW = CONGESTED_WAIT_OFFSET - 1,
+ CONGESTED_WAIT_WINDOW = CONGESTED_WAIT_OFFSET,
+ NO_ROUTE_RETRY = 10000
};
MAX_RETRIES = 30
};
-/*
- * The network header that the ForwardingEngine introduces.
- * This header will change for the TinyOS 2.0 full release
- * (it needs several optimizations).
- */
-typedef nx_struct {
- nx_uint8_t control;
- nx_am_addr_t origin;
- nx_uint8_t seqno;
- nx_uint8_t collectid;
- nx_uint16_t gradient;
-} network_header_t;
-
/*
* An element in the ForwardingEngine send queue.
* The client field keeps track of which send client