In the previous implementation a click event was triggered when the
button was pressed.
This implementation allows to set and release buttons independently both
by mouse clicking and by key typing.
SIM_CONTROL_PLGUIN are handled like SIM_PLUGIN, with one exception.
If the simulation is started with -nogui=<simfile> than it is checked
if a controlling plugin is loaded. If not, the simulation terminates
with an error message.
The implementation of clickButton(), pressButton(), and releaseButton()
can be shared accross the several node-dependent implementations as
they use the node-dependent doPressButton() doReleaseButton() routines.
As every Button has a node-specific implementation part, this should be
the minimal interface to the backend node emulator for pressing and
releasing a button.
* Added dev/uart1.h header file to cooja platform
* Added slip arch stub
* Suppress examples putchar definition as cooja platform provides its own
Note that the uart1.h file should only be an intermediate solution.
A generic contiki-wide definition for uart handling is required as each
platform defines its own varying set of uart functions.
By changing RELSTR= into RELSTR:= we force Make to evaluate the Git
version string only during Makefile read, and not on every single build
command execution.
The reduction in file system I/O cut the time to build
examples/er-rest-example on my development machine by a significant
amount, see below.
Core i7 notebook with ext4 file system on an SSD (building for TARGET=mulle):
"RELSTR=" make 19.70s user 1.07s system 82% cpu 25.291 total
"RELSTR:=" make 11.81s user 1.27s system 79% cpu 16.499 total
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Ipolite is used by netflood and route-discovery modules among others. If a route request is yet to be re-broadcasted and a local route discovery is started (interval == 0), the previous queuebuf used is freed but ctimer and queuebuf pointer is left unchanged. This causes corrupt route requests to be sent, invalid routing tables to be formed, memcmp() on NULL pointer on receive, and other undefined behavior.
Signed-off-by: Oskar Nordquist <oskar.nordquist@crlsweden.com>
Previously getOutputPowerIndicatorMax() returned the fixed value 31.
This is valid for e.g. the mspsim CC2420 radio implementation but not for the CC2520 implementation where the maximum returned value is 9.
Thus to fix transmission range issues (for example for Wismote node) the maxium value provided by the radio implementaiton must be used.
- Remove unused variable i in generate_routes.
- Add cast to unsigned long for printf(..%lu..) in generate_routes.
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
An off-by-one error in resolv_found() could make an strncat() call
overflow by the terminating null byte.
When building with Clang the following warning was shown:
../../../core/net/ip/resolv.c:1458:17: warning: the value of the
size argument in 'strncat' is too large, might lead to a
buffer overflow [-Wstrncat-size]
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../core/net/ip/resolv.c:1458:17: note: change the argument to
be the free space in the destination buffer minus the
terminating null byte
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(resolv_hostname) - strlen(resolv_hostname) - 1
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>