When waiting for transmission (to CC2420) to be done,
we were wrongly waiting for UCBUSY bit to be set,
while one should actually wait for that bit to be cleared.
Ensure that CS is active and IRQ disabled when querying CCA
on CC2420 (cc2420_get_cca() function).
Also do a little refactoring (renamed c variable into count,
and named the constant corresponding to RSSI "timeout").
Currently `boards/qemu-i386/dist/term.py` expects QEMU to connect in
less than 5 seconds, which is plenty on any user machine. Travis CI,
which we use without paying a cent, sometimes fails to start QEMU in
this is timeframe, though.
This PR increases the timeout to one minute.
Currrently native overrides the object file targets, because it needs
the different include paths to interact with libc and the OS.
This PR simplifies their makefiles to only override the variable
INCLUDES, instead of overriding the targets.
When qemu-i386 shuts down the instance on its own accord, like in the
hello-world example, then the terminal is broken afterwards.
This PR ensures that the terminal flags are restored on shutdown.
This includes GNU readline features and debugging.
Build with `make BOARD=qemu-i386 all-debug`.
Run with `make BOARD=qemu-i386 term`.
Debug with `make BOARD=qemu-i386 debug`. The default debugger is `gdb`.
Also supported are `debug-tui` (GDB Text User Interface), `debug-kdbg`,
and `debug-ddd`. Set a breakpoint in e.g. "startup" or "main", and
hit/write "continue".
The debugger can only run with a quite new toolchain (e.g. Debian
testing). Ubuntu 13.10. for example will likely report a crash in GDB
when switching from 16bit code to 32bit code.
Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:
```make
DIRS = …
all: $(BINDIR)$(MODULE).a
@for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;
include $(RIOTBASE)/Makefile.base
clean::
@for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```
This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
Creates file structure that maps files to licenses by grepping for
license patterns (patterns for licenses found in RIOT included).
Sets exit code to 1 if an unknown license header is detected.
We have sane defaults for `ELFFILE` and `HEXFILE` in the root
`Makefile.include`. The local definition for `ELFFILE` of mbed_lpc1768's
`Makefile.include` was wrong, which caused e.g. `make buildsize` to
fail.