1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

148 Commits

Author SHA1 Message Date
René Kijewski
765c88d08a make: allow drivers to implement features
This change allows drivers (or any module for that matter) to provide
features. This is e.g. useful if a board does not have a transceiver,
but your application uses `USEMODULE += some_driver`, which implements
the transceiver interface.

The line `FEATURES_PROVIDED += some_feature` should go to the guarded
block in `{sys,drivers}/Makefile.include`.
2014-10-26 23:54:10 +01:00
Oleg Hahm
481d4f2ee3 doc: fix ambiguous file name warnings
doxygen does a good job itself, identifying the unique part of the path
to identify a file.
2014-10-23 20:53:00 +02:00
Oleg Hahm
559b072a59 make: don't overwrite LINKFLAGS
Fix the boards' Makefiles were a potentially set LINKFLAGS variable were
overwritten.
2014-10-17 22:39:45 +02:00
René Kijewski
f49bd3e660 make: add Makefile.features telling the BOARDs' features
Please see #1715.
Closes #1715.

This PR implements the new Makefile variables "FEATURES_PROVIDED" and
"FEATURES_REQUIRED". A board *can* have a new file `Makefile.features`
which looks like:

```make
FEATURES_PROVIDED = transceiver
```

An application can have a corresponding line

```make
FEATURES_REQUIRED = transceiver
```

If the selected BOARD does not fulfil the requirements of the
application, then a *warning* is issued at compile time.

This change only includes the feature "transceiver", further features
are expected to be listed in further PRs. The requirement "transceiver"
is automatically added if the application uses the module
"defaulttransceiver".

`make buildtest` understands the new feature listing, so the user won't
need to add boards to `BOARD_BLACKLIST` manually.

Part of the change are the added Make targets
* `info-features-missing`, which prints the required features
  `\setminus` the provided features. The output is empty if there are no
  features missing.
* `info-boards-features-missing`, the same as `info-features-missing`
  but as a table for all boards, but heeded `BOARD_WHITELIST` and
  `BOARD_BLACKLIST`.

Applications don't have to use this new feature. This change does not
break existing Makefile.
2014-10-06 17:42:11 +02:00
René Kijewski
0cc699c0ce lint: reduce scope
Fix some lint warnings of kind
```
style (variableScope): The scope of the variable '…' can be reduced
```
2014-09-12 11:50:12 +02:00
Martine Lenders
6c64144e22 Merge pull request #1558 from authmillenon/fix-termflags
make: Fix TERMFLAGS
2014-08-22 01:37:17 +02:00
Martine Lenders
248a8531a5 make: Fix TERMFLAGS
Sometimes boards/*/Makefile.include (e. g. in case of the msba2) gets included
twice somehow, leading the TERMFLAG to be set twice and faulty. This
fixes that.
2014-08-22 01:09:55 +02:00
Thomas Eichinger
67fc424a76 boards:make: hardcode goodfet.bsl path in Makefile.include 2014-08-21 23:58:05 +02:00
Oleg Hahm
aa2ecf6216 initialize kernel_pid_t correctly 2014-08-07 16:31:27 +02:00
Ludwig Ortmann
1df6505db9 boards/cpu: fix some warnings 2014-08-05 18:52:26 +02:00
Oleg Hahm
cb85a901f2 pyterm: renamed pyterm.py to pyterm 2014-08-01 17:09:45 +02:00
Oleg Hahm
6340123558 make: introduced TERMFLAGS
Also added the missing -p flag for the new pyterm version where
necessary.
2014-08-01 17:09:45 +02:00
Ludwig Ortmann
d55da67fb6 Merge pull request #1329 from LudwigOrtmann/riot_license
RIOT default license header change
2014-07-31 23:12:47 +02:00
Ludwig Ortmann
73aa3739d2 doc: use lgplv2.1-short license header instead of lgplv2-short-v2 2014-07-31 22:57:20 +02:00
Ludwig Ortmann
c40b281873 doc: use lgplv2.1-short license header instead of lgplv2-short-v3 2014-07-31 22:57:20 +02:00
Cenk Gündoğan
7ca2e874e1 converting tabs to spaces in boards (#1439)
This PR converts tabs to white spaces.
The statement I used for the conversion:
'''find . -name "*.[ch]" -exec zsh -c 'expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;'''
Afterwards, I had a quick overview of the converted files to prevent odd indentation.
2014-07-31 20:34:28 +02:00
Kévin Roussel
bee4698158 boards/xx/driver_cc2420: fix race condition in CCA determination
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").
2014-07-08 16:33:18 +02:00
Kévin Roussel
e77a3b0e56 Correction of HAL for CC2420 on concerned boards 2014-07-08 11:46:14 +02:00
Thomas Eichinger
2989932fa8 boards: harmonise cc2420 isr
TelosB, wsn430-v14, Z1
2014-06-30 13:56:41 +02:00
René Kijewski
1608fd1570 make: remove local definitions of (ELF|HEX)FILE
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.
2014-06-12 10:12:49 +02:00
Thomas Eichinger
1e983c9670 s/PROJECT/APPLICATION/g
fixes #548
2014-05-26 13:21:09 +02:00
René Kijewski
a8064fd97c Automatically remove dups in $(USEMODULE) 2014-04-29 00:06:19 +02:00
Oleg Hahm
fd7217b173 Merge pull request #915 from rousselk/radio-cca
Add a standard way to query CCA status on CC2420 transceiver.
2014-04-09 16:45:20 +02:00
Kévin Roussel
7de076efb2 Fixed error caused by non-inclusion of cc2420_txrx() prototype 2014-04-09 10:33:41 +02:00
René Kijewski
3f59eefbaf Use subfolders in bin dir
Creating all object files in one directory is bound to produce name
clashes. RIOT developers may take care to use unique file names, but
external packages surely don't.

With this change all the objects of a module (e.g. `shell`) will be
created in `bin/$(BOARD)/$(MODULE)`.

I compared the final linker command before and after the change. The
`.o` files (e.g. `startup.o`, `syscall.o` ...) are included in the same
order. Neglecting the changed path name where the `.o` files reside, the
linker command stays exactly the same.

A major problem could be third party boards, because the location of the
`startup.o` needs to the specified now in
`boards/$(BOARD)/Makefile.include`, e.g.
```Makefile
export UNDEF += $(BINDIR)msp430_common/startup.o
```
2014-04-09 00:28:14 +02:00
Kévin Roussel
6c40108c9c Added standard way to query CCA status on CC2420 transceiver (squashed) 2014-04-02 17:56:07 +02:00
Kévin Roussel
90ea047546 Fix a typo that provokes many unjustified "cc2420 unexpected IFG" alerts to occur 2014-03-31 15:30:53 +02:00
Ludwig Ortmann
8ac4f3332d core cpu: add defaulttransceiver pseudomodule
update examples/default
2014-03-18 10:18:15 +01:00
Ludwig Ortmann
ac21f3c54c make: couple include path and -I
This is necessary if includes have to be filtered, such as in native
to throw out RIOTs posix includes which interfere with system
includes.
2014-02-27 08:14:33 +01:00
René Kijewski
caea069bcf Do not mandate input language
An application might want to use C11 features. The user would assume
that setting `CFLAGS=-std=gnu11` in the Makefile would work. It does not
since the board's Makefile.include shadows the `-std` flag.

This patch removes the `-std=gnu99` from the various Makefile.includes,
and sets the flag in the common Makefile.include of RIOT instead.
If an `-std` flag was provided by an earlier Makefile (the application,
the board, or the CPU [whilst only the former one should]), then no
additional flag is set. It is first tested if the supplied compiler
understands `-std=gnu99`, then `-std=c99`.
2014-02-14 00:06:02 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
Thomas Eichinger
2ce6f8ddbb fixes bug in telosb board.h introduced by PR #459 2014-01-21 15:01:05 +01:00
Oleg Hahm
9eebc532ef Merge pull request #459 from rousselk/msp430-lpm-freq
Msp430 lpm freq
2014-01-16 04:57:27 -08:00
Oleg Hahm
9df07f9238 muting compiler and binutils optionally
Instead of muting all compiler and other binutils output by default,
introduce a variable to make this behaviour configurable.
2014-01-05 16:11:08 +01:00
Oleg Hahm
c48b34f540 use proper variables in board Makefiles 2014-01-05 16:11:08 +01:00
Oleg Hahm
f8e349f76e removed superfluous slash after BINDIR 2014-01-05 16:11:08 +01:00
Oleg Hahm
c7d985d371 removed redundant include pathes from Makefiles 2014-01-05 16:11:08 +01:00
Oleg Hahm
55f31a4829 simplify include structure for boards
* do not overwrite CFLAGS in boards Makefile
2014-01-05 16:11:07 +01:00
Oleg Hahm
1e665b49de build everything in the project directory 2014-01-05 16:11:07 +01:00
Kévin Roussel
5d393d270b Sets MCU frequency in 'board.h', instead of the common 'cpu.h' file 2013-12-24 15:41:32 +01:00
Oleg Hahm
0e36f99a35 add telosb include inside telosb 2013-12-19 17:02:04 +01:00
Oleg Hahm
903ec54a43 making include directives consistent 2013-12-19 15:31:37 +01:00
Kévin Roussel
afce119138 Added definition of correct MCU model in MSP430-based board headers 2013-12-18 10:51:45 +01:00
Thomas Eichinger
0db7b98c35 Merge pull request #431 from thomaseichinger/telosb_oflags
TelosB: added OFLAGS to Makefile.include
2013-12-16 08:22:54 -08:00
Thomas Eichinger
8106974e90 added OFLAGS to Makefile.include for telosb 2013-12-16 15:12:52 +01:00
Hauke Petersen
c629229e8d Added the boards folder to the doxygen tree
- added boards to riot.doxyfile
- fixed group definitions for all boards
2013-12-16 14:00:37 +01:00
Ludwig Ortmann
d6c213fb47 fix grammar in license header 2013-11-23 13:11:56 +01:00
Oleg Hahm
232e205137 moved boards into subdirectory 2013-11-06 10:11:57 -08:00