diff --git a/apps/shell/shell-reboot.c b/apps/shell/shell-reboot.c index 6b8152bd2..ded90cf5f 100644 --- a/apps/shell/shell-reboot.c +++ b/apps/shell/shell-reboot.c @@ -56,6 +56,9 @@ SHELL_COMMAND(reboot_command, PROCESS_THREAD(shell_reboot_process, ev, data) { static struct etimer etimer; + + PROCESS_EXITHANDLER(leds_off(LEDS_ALL);) + PROCESS_BEGIN(); shell_output_str(&reboot_command, diff --git a/core/net/rpl/rpl.h b/core/net/rpl/rpl.h index 2c81f36fa..4c992bcb0 100644 --- a/core/net/rpl/rpl.h +++ b/core/net/rpl/rpl.h @@ -129,7 +129,11 @@ #define DEFAULT_RPL_LIFETIME_UNIT 0xffff #define DEFAULT_RPL_DEF_LIFETIME 0xff +#ifndef RPL_CONF_MIN_HOPRANKINC #define DEFAULT_MIN_HOPRANKINC 256 +#else +#define DEFAULT_MIN_HOPRANKINC RPL_CONF_MIN_HOPRANKINC +#endif #define DEFAULT_MAX_RANKINC (3 * DEFAULT_MIN_HOPRANKINC) #define DAG_RANK(fixpt_rank, dag) ((fixpt_rank) / (dag)->min_hoprankinc) diff --git a/core/net/sicslowpan.c b/core/net/sicslowpan.c index d4e790ca3..2a795d09d 100644 --- a/core/net/sicslowpan.c +++ b/core/net/sicslowpan.c @@ -104,7 +104,7 @@ void uip_log(char *msg); #ifdef SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS #define SICSLOWPAN_MAX_MAC_TRANSMISSIONS SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS #else -#define SICSLOWPAN_MAX_MAC_TRANSMISSIONS 3 +#define SICSLOWPAN_MAX_MAC_TRANSMISSIONS 4 #endif #ifndef SICSLOWPAN_COMPRESSION @@ -1297,13 +1297,20 @@ output(uip_lladdr_t *localdest) SICSLOWPAN_MAX_MAC_TRANSMISSIONS); #define TCP_FIN 0x01 +#define TCP_ACK 0x10 +#define TCP_CTL 0x3f /* Set stream mode for all TCP packets, except FIN packets. */ if(UIP_IP_BUF->proto == UIP_PROTO_TCP && - (UIP_TCP_BUF->flags & TCP_FIN) == 0) { + (UIP_TCP_BUF->flags & TCP_FIN) == 0 && + (UIP_TCP_BUF->flags & TCP_CTL) != TCP_ACK) { packetbuf_set_attr(PACKETBUF_ATTR_PACKET_TYPE, PACKETBUF_ATTR_PACKET_TYPE_STREAM); + } else if(UIP_IP_BUF->proto == UIP_PROTO_TCP && + (UIP_TCP_BUF->flags & TCP_FIN) == TCP_FIN) { + packetbuf_set_attr(PACKETBUF_ATTR_PACKET_TYPE, + PACKETBUF_ATTR_PACKET_TYPE_STREAM_END); } - + /* * The destination address will be tagged to each outbound * packet. If the argument localdest is NULL, we are sending a diff --git a/tools/csc/csc-compute-neighbor-stats b/tools/csc/csc-compute-neighbor-stats new file mode 100755 index 000000000..4ccaa1461 --- /dev/null +++ b/tools/csc/csc-compute-neighbor-stats @@ -0,0 +1,54 @@ +#!/usr/bin/perl + +$num = 0; +$override_range = $ARGV[0]; + +# Go through the .csc file; find the transmission range and all the +# nodes' x and y coordinates. +while() { + if(/\([\d.]+)\<\//) { + $range = $1; + } + + if(/\([\d.]+)\([\d.]+)\ $csc"); + +while() { + if(m-\[\d.]+\-) { + print O "$range\n"; + } elsif(m-\[\d.]+\-) { + print O "" . ($range * 2) . "\n"; + } elsif(m-\[\d.]+\-) { + print O "$success\n"; + } else { + print O; + } +}