Commit graph

2,703 commits

Author SHA1 Message Date
Carles Cufi
98980c6b7c west: build: Configurable build folder format
Add the possibility of configuring the build folder format in west's
configuration system.
The build.dir-fmt configuration option controls how west will create
build folders when not specified, the following parameters are currently
accepted:

- board: The board name
- source_dir: The relative path from CWD to the source directory
- app: The name of the source directory

If CWD is below source_dir in the directory hierarchy then source_dir is
set to an empty string.

This means that if one sets:

[build]
dir-fmt = build/{board}/{source_dir}

Then when building samples/hello_world from zephyr's root for the
reel_board the build folder will be:

./build/reel_board/samples/hello_world

but when building it from inside the samples/hello_world folder it will
instead be:

./build/reel_board

Fixes https://github.com/zephyrproject-rtos/west/issues/124

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-06-11 00:00:34 +02:00
Andrew Boie
9354bb5af9 doc: fix coverage report documentation
This had numerous problems, but should now be working
end-to-end and produce correct reports with gcovr 4.1.
Use of sanitycheck is now much clearer.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2019-06-07 14:15:16 -07:00
Ulf Magnusson
e36e544cab genrest: Mention that dependencies are only propagated to 'depends on'
A recent Kconfiglib change turns

    config A
            bool
            prompt "foo" if C && D
            default A if B && C && D
            depends on C && D

into

    config A
            bool "foo"
            default A if B
            depends on C && D

Where e.g. D might be from a surrounding menu/if.

Update the note at the end of symbol pages to clarify that only the
'depends on' includes propagated dependencies.

Piggyback some minor cleanup.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-06-07 18:20:22 +02:00
Alberto Escolar Piedras
69de620e7e doc: Remove API labels
The API label does not exist anymore. Remove mentions of it
from the documentation.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2019-06-07 09:17:20 +02:00
Anas Nashif
b8e7d438d5 doc: remove .html from redirect entries
No need for .html at the end of the url in redirect map.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-06 20:50:15 -04:00
David B. Kinder
aa9b602e00 doc: add google analytics tracking to docs
This adds code to each page needed for gathering google analytics
tracking data to the LF-provided Global site tag.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-06-06 20:29:07 -04:00
Anas Nashif
6ecbe713b5 doc: redirect old board pages to new location
Redirect old style board pages to old stype URL with board name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-06 15:38:09 -04:00
Andrzej Puzdrowski
f74cebba34 doc/reference/storage/settings: storage behavior description
Elaborated on storage mechanism usage and key-value version
garbage collection.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2019-06-05 13:43:00 +02:00
Andrei Gansari
a658cf1536 doc: lpclink2 firmware reference
Documentation updated, added reference to the latest
LPClink2 firmware, default provided firmware may not
work on latest boards (e.g. LPC55xx).

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2019-06-03 15:49:35 -05:00
Ulf Magnusson
baf38e9cb8 doc: Add guiconfig documentation
Add documentation for the new GUI configuration interface in the
Application Development guide.

Also update all the images, touch up the language a bit, and tweak some
minor stuff:

 - Say *.conf instead of .conf to make it clearer that .conf isn't the
   literal name

 - Add a missing -D<board> argument when running cmake

 - Use figure:: instead of image::. Comes out left-aligned and with
   space between the images, which looks nicer.

 - Explain what '- -' and '-*-' means in the terminal menuconfig.

tkinter isn't included by default in many Python installations, despite
being part of the Python standard library, so also add the required
packages to the Development Environment Setup section of the manual. Add
a note to the Application Development section as well, to help
debugging.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-30 09:54:06 -04:00
Ulf Magnusson
6cfc13522c menuconfig: Small Space/Enter improvement + fix for obscure bug
Update menuconfig (and Kconfiglib, just to sync) to upstream revision
7e0b9f7ae1, to get these commits in:

  menuconfig: Improve space/enter behavior slightly

  Space toggles value is possible, and enters menus otherwise. Enter
  works the other way around.

  Make this explicit in the code, which also fixes some corner cases,
  like space doing nothing on a y-selected menuconfig symbol.

  -------------------------------------------------------------------

  menuconfig: Fix display issue for unsatisfied-deps selected symbol
  with children

  A symbol with unsatisfied direct dependencies can end up with visible
  children in an implicit submenu if it is selected (though that
  generates a warning), so the optimization in _shown_nodes() isn't
  safe, and causes the child nodes to not be shown outside show-all
  mode.

  Just remove the optimization. Trying things out some more,
  everything's plenty fast enough anyway.

  Checking the direct dependencies of the parent instead would be safe.

The menu path now says "(Top)" instead of "(top menu)" too, which is a
bit more compact. Make the same change in genrest.py.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-30 09:54:06 -04:00
David B. Kinder
cfa08fbb48 doc: fix devicetree doc formatting
The directory tree description was missing a code-block shorthand so the
following lines weren't formatted correctly.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-30 09:30:33 -04:00
Krzysztof Chruscinski
a211afb041 logging: Add option to detect missed transient string duplication
Added CONFIG_LOG_DETECT_MISSED_STRDUP (by default on) which enables
scanning of log message strings in search for %s and reports if
string address is not from strdup buffer pool and outside read only
memory section which indicates that log_strdup() wrapping is missing

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2019-05-29 13:52:31 +02:00
Andrei Emeltchenko
4d2b7f613f doc: usb: Remove old API documentation
Fix documentation build removing old API tags.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2019-05-27 09:25:06 -04:00
Carles Cufi
f5f1b22c5a doc: CMake: Locate Python executable before processing modules
The module processing logic in Zephyr requires Python, since it uses a
Python script to locate and process the modules. It is therefore
required to find the Python executable using CMake before actually
including the CMake script that processes the modules. In order to
prevent this from happening again, move the inclusion of version.cmake
as well in case that script chooses to use Python in the future.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-24 11:05:04 +02:00
Carles Cufi
b73790b629 cmake: Fix path handling for ZEPHYR_BASE
With the addition of a local CMake variable ZEPHYR_BASE that mirrors the
value of the environment variable the documentation build broke on
Windows. This is because CMake was incorrectly interpreting backslashes
present in the Windows path as escaping characters. In order to avoid
this, use CMake's built-in file(TO_CMAKE_PATH) functionality, which
converts the path to a canonical version using forward slashes only.
At the same time rework boilerplate.cmake to use the same mechanism
instead of manually replacing backslashes and removing trailing ones.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-24 11:05:04 +02:00
Ulf Magnusson
fde86da6f5 doc: kconfig: Fix typo in documentation for 'optional' on choices
Like for other choices, it's the prompt that gets displayed within the
parentheses, not the symbol name.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-23 20:34:54 -04:00
Ulf Magnusson
e5cca102a5 doc: kconfig: Encourage dropping 'Enable ...' from most prompts
Usually, it's clear from context, and it makes things consistent.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-23 20:34:54 -04:00
Ulf Magnusson
3e69a0e465 doc: kconfig: Explain the 'menuconfig' keyword and good uses for it
Takes a while to figure out what it's there for, so explain what it does
and give an example of a good use for it.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-23 20:34:54 -04:00
Ulf Magnusson
7c8bcf0772 doc: kconfig: Clarify that 'depends on' works for string/int/hex
Seems people are a bit hazy on this, so explain how it works.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-23 20:34:54 -04:00
Jukka Rissanen
ecac10cb47 net: shell: Refactor help information for ping command
Do not always print general help for ping cmd. Only if user supplies
'-h' or '--help' command, print information about the parameters.
After this the generated HTML documentation looks better for the
ping command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2019-05-23 22:12:23 +03:00
Jacob Siverskog
d145263691 doc: dfu: Fix module links
Link modules to their respective code directory.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2019-05-22 12:41:09 -04:00
Anas Nashif
4a5751226c qmsi: move to a zephyr module
Adds https://github.com/zephyrproject-rtos/hal_qmsi as a module managed
by west.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-22 09:28:56 -04:00
Anas Nashif
2f126bb51f doc: document submitting changes to modules
Instructions for submitting changes to modules and how they will be
integrated with the main tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-21 21:45:00 -04:00
Anas Nashif
9d3be3720a doc: move module related doc to guides
Move to a new guide which will expand on how to submit modules and how
to maintain them.

Also move topology documentation to repository management section where
it fits better.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-21 21:45:00 -04:00
David B. Kinder
cd6ba94bd4 doc: add references to builds mailing list
builds@lists.zephyrproject.org archives the CI build results for every
and nightly build.  Add references to this in the contribution
guidelines and introduction (pulled from README).

Also added a reference to the "Asking for Help" doc (there was a note to
add this once that doc was merged).

Fixes: #15652

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-21 21:40:20 -04:00
Anas Nashif
21e964ec99 doc: guide for optimizing zephyr
Add section about how to optimize Zephyr for footprint.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-21 14:58:41 -04:00
Ulf Magnusson
605a390633 doc: kconfig: Fix accidental SPDX-License-Identifier in generated doc
RST uses '..' for comments, not '#'. The license line currently shows up
on https://docs.zephyrproject.org/latest/guides/kconfig/index.html

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-18 12:13:17 -05:00
Marti Bolivar
6cb8e3ec53 doc: move sign command docs before catch-all page
The current order makes no sense. Move it earlier in the order, so the
catch-all page appears last.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-16 13:49:10 +02:00
Marti Bolivar
64c6a10bd1 doc: updates to west multi-repo docs
Minor updates.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-16 13:49:10 +02:00
Marti Bolivar
90276c28cd doc: updates for west installation docs
Grammar and formatting improvements, as well as changes requested in
review that weren't made (in particular, the ones recommending using
"pip3 show -f west" to see where west is installed instead of listing
common places that might not be right.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-16 13:49:10 +02:00
Carles Cufi
bedfcf4d1b doc: coding style: Expand the list of keywords with braces
Zephyr requires braces on every code block that a keyword introduces, so
list the complete set in the documentation.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-15 13:25:10 -05:00
Marti Bolivar
f3d1386ae8 doc: save ZEPHYR_BASE in more places where it's needed
This fixes a corner case.

The ZEPHYR_BASE variable might be set in the environment at generation
time, but unset at build time. Save it in the cmake -E env calls to
scripts that need it.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-12 15:14:16 -04:00
Carles Cufi
9cea26ae77 doc: west: Document west installation in-depth
Create a new dedicated section for west installation that details
some of the finer aspects of the process and steps involved.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-10 13:08:27 +02:00
Carles Cufi
66fdd48fdd west: Add completion command
Add a completion command that dumps the contents of a shell
completion file present in the zephyr repository.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-10 13:08:27 +02:00
Marcin Szymczyk
e5cbe6a9e7 usb: cdc: Add unique PIDs for each sample
Unique PID is required for each sample in order
to be recognized by host.

When creating a new sample:
- Add USB_PID_<SAMPLE_NAME>_SAMPLE
  in samples/subsys/usb/usb_pid.Kconfig
- Create Kconfig file in your sample's subdirectory, containing:
  config USB_DEVICE_PID
	default USB_PID_<SAMPLE_NAME>_SAMPLE

  source "Kconfig.zephyr"

Signed-off-by: Marcin Szymczyk <Marcin.Szymczyk@nordicsemi.no>
2019-05-09 08:20:34 -04:00
David B. Kinder
c5112327a7 doc: fix mentions of Wi-Fi trademark name
The approved trademark name is Wi-Fi so update references to WiFi and
other spellings to Wi-Fi in documentation and Kconfig help strings.
(Note that use of spelling variatios of "wifi" in module names, CONFIG
names, link names and such are untouched.)

https://www.wi-fi.org/

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-06 20:10:59 -04:00
Marti Bolivar
3696eccc1a doc: fix west boards tip
Doc fix for an unaddressed review comment from when the feature was
first merged.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-06 16:30:05 -04:00
Marti Bolivar
83a5fd8d4c scripts: make west build -h fit on a screen
The west build --help output no longer fits in a single page.  Move
details and examples into the documentation, so the -h output doesn't
require scrolling around.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-06 16:30:05 -04:00
Marti Bolivar
bbe890ab30 scripts: add build.generator config option for west build
This can be used to override the default CMake generator
permanently. Its values are the same as those acceptable to cmake's -G
option.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-06 16:30:05 -04:00
Marti Bolivar
81e005f4d5 doc: re-word and extend west build documentation
Try to make the language simpler. Introduce each example with a
paragraph that says "To <DO XYZ>" to make them easier to find.

Move the config options to the documentation for that command to make
them easier to find.

Add some more examples for use cases we've gotten questions about.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-06 16:30:05 -04:00
Marti Bolivar
88fb8bacfb scripts: improve west build's board handling
- Respect the BOARD environment setting.
- Don't require --force if the board can't be figured out: it might be
  set in CMakeLists.txt, for example. Instead, downgrade to a warning
  which can be disabled with "west config build.board_warn false".
- Add a build.board configuration option used as a final BOARD fallback
  after CACHED_BOARD (in the CMake cache), --board (command line), and
  BOARD (environment).
- Keep the config docs up to date.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-05-06 16:30:05 -04:00
Carles Cufi
d6f033e690 west: Add a boards command
Add a new "boards" command that is able to list all the boards in the
upstream tree. There is currently no support for out-of-tree boards.

The command executes cmake to use the built-in CMake script,
boards.cmake, to list the boards, and then stores the information
retrieved and allows the user to present it in a user-definable format.

Fixes https://github.com/zephyrproject-rtos/west/issues/53

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-05-03 21:55:13 +02:00
Ioannis Glaropoulos
1a2ef42973 arch: arm: remove FP activation in system boot
This commit removes the activation of the FP context
in ARM system boot. There is no need to do this, since
the FP context will be activated in the presence of
floating point instructions. We update the reference
documentation accordingly.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-05-03 14:25:22 -04:00
Oleg Zhurakivskyy
b54f1a949a doc/getting_started: mention ZEPHYR_TOOLCHAIN_VARIANT=llvm
Mention that host installed clang can be used for native_posix.

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2019-04-30 09:33:54 -04:00
Krzysztof Chruscinski
7e26f53470 shell: Add macros for creating conditional commands
Added macros which can be used to create a command which depends
on compilation flag. Macros are a cleaner alternative to #ifdefs
around command registration and command handler.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2019-04-28 13:31:34 -04:00
François Delawarde
94451b22fc subsys/settings: Allow to register custom backends in settings subsystem
Major changes are:
- Expose settings backend API to enable custom backend support.
- Add a new CONFIG_SETTINGS_CUSTOM backend to allow registering a custom
backend.
- Change api of the handlers h_set() routines to allow for
backend-specific read callbacks.
- Provide a customizable settings_backend_init() routine for custom
backends.
- Move runtime settings support to be its own backend.

Signed-off-by: François Delawarde <fnde@oticon.com>
2019-04-26 11:24:31 +03:00
Benjamin Valentin
812b999731 net: shell: Improve the output of the ping function
Report rtt, ttl and rssi if available.

Signed-off-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2019-04-26 09:05:14 +03:00
Jacob Siverskog
15333eb391 doc: dfu: Fix mcuboot reference
The previous mcuboot reference didn't make sense - it linked to
itself. Linking to the official website should be more useful.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2019-04-25 09:07:15 -07:00
Carles Cufi
3a88dce9c5 scripts: west: Run pristine.cmake directly instead of the target
When making a build folder pristine until now we were running the
'pristine' build target. The issue with that is that ninja/make or
whatever build tool is being used might decide to re-run CMake itself if
some of the dependencies have changes. This might trigger an error that
is unfriendly and unnecessary, since the user is explicitly asking for
the build folder to be wiped before starting a fresh build.
To avoid this issue restor to running directly the CMake script that the
'pristine' build target itself uses, so as to make sure that the build
folder is wiped unconditionally regardless of changes made to the tree.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-04-23 13:24:41 -07:00