Previously if multiple motes were selected
and the context menu of a non-selected mote
was used to delete, not the clicked mote
but the other selected ones were removed.
This behavior is fixed so that if another
mote is clicked only this is deleted.
Motes were highlighted only by the UDGMVisualizerSkin before.
Now highlighting moved from individual VisualizerSkin to Visualizer.
A selected mote is highlighted with a blue circle
and a semi-transparent gray overlay.
Long serial port names like
/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN0038W8-if00-port0
cause crashes. This is the simplest fix to avoid the problem.
This helps reduce the chance of a build failure due to transient
download error. This also switches to consistent use of wget
throughout, which reports download errors more cleanly in the travis
build logs.
Besides general whitespace and quoting cleanup, commands that test
variables were changed from:
[ $B = a ] && command || true
to
if [ $B = a ] ; then command ; fi
This form correctly returns the exit code of "command".
In order to use the er-server-example Radio resource it is required that the platform defines that it has a radio. This line might be required in other platforms.
The problem with the current version of the code was that the condition at the end of the do...while loop at Timer A1 interrupt:
while((TACCR1 - TAR) > INTERVAL);
evaluates to false whenever TACCR1 == TAR.
Not incrementing TACCR1 in this case leads to Timer A1 interrupt not being called for 2 seconds, until TAR counter reaches TACCR1 again after an overflow.
The patch avoids this problem by changing the condition of the loop, and using CLOCK_LT macro to compare between time values.
The patch also attempts to fix another problem: a read of TAR register while it is being updated may return a lower value than the actual contents. To avoid that, the "read twice and compare results" idiom should be used. As the TAR register is updated by the actual hardware, it is of no importance whether it is read with interrupts disabled or enabled; the problem can occur in both contexts.
The next-hop address did not get updated in the routing table
in case an entry for the destination already existed.
This patch resolves the issue by removing the entry and
having it re-created from scratch.
The issue causes a routing error triggering reconstruction of
the DODAG through version increase.
In case of somewhat frequent downward traffic in not (yet) stabilized DODAG
a vicious circle is formed: unstable topology means churn, downward
routing under churn causes reconstruction of DODAG. In this situation
the network does not have chance to stabilize.
We encountered a constant churn caused by this bug
in a network of 50 nodes and a periodic traffic (a packet every 5
seconds) generated at the root.
More info and a PCAP demonstrating the issue can be found here:
https://github.com/contiki-os/contiki/issues/496