Commit Graph

1594 Commits

Author SHA1 Message Date
Piotr Mienkowski
970aef2905 kernel: ensure System Power Managment enables Tickless Idle.
System Power Management is only supported in Tickless Idle mode.
This patch modifies Kconfig dependencies to ensure System Power
Management option selects Tickless Idle one.

Fixes: #11046

Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2018-11-21 23:16:35 -05:00
Robert Lubos
21a2e1eb5e doc: Add secure sockets documentation
Add documentation for secure sockets subsystem.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-11-21 12:25:57 -05:00
Marek Pieta
ac31020deb doc: subsystems: shell: Documentation fix
Change fixes typo in documentation.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2018-11-20 12:11:22 +01:00
Sathish Kuttan
e275ae5e06 doc: kernel: add k_msgq_peek() API
Add documentation for k_msgq_peek()

Signed-off-by: Sathish Kuttan <sathish.k.kuttan@intel.com>
2018-11-19 17:53:22 -05:00
Sebastian Bøe
8ba5aff8c0 kconfig: Drop support for specifying CROSS_COMPILE through Kconfig
When we move DT infront of Kconfig we are going to need access to a C
toolchain before Kconfig is evaluated. This means it will not be
possible to specify the toolchain used through Kconfig.

To deal with this we ...

Drop support for specifying CROSS_COMPILE through Kconfig. Still
available is the ability to specify CROSS_COMPILE through the
environment or through a CMake variable.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-11-19 15:04:13 -05:00
Anas Nashif
10970a60c0 sanitycheck: remove unused platforms keyword
This keyword had no effect and was being copied over to many samples
errornously.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-19 15:03:55 -05:00
Himanshu Jha
4d1a1217f1 doc: application: coccinelle: Add information about coccinelle list
Add link to coccinelle mailing list info and archives.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
2018-11-17 14:50:33 -05:00
Harry Jiang
b0d2a7add7 doc: fix the example code typo
This commit fix the typo of k_poll_signal_raise() api example code

Signed-off-by: Harry Jiang <explora26@gmail.com>
2018-11-13 08:09:53 -05:00
Sebastian Bøe
5a2ddf37d9 msys: Drop support for building in an MSYS environment
MSYS support was added as a stop-gap while native windows support was
unsupported. Now that Native windows support is stable we can drop
support for MSYS.

Dropping support for MSYS fixes #11260 and allows us to spend more
resources on native windows support.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-11-13 10:28:33 +01:00
Ulf Magnusson
42a7c43a2a doc: Fix some typos on the Kconfig best practices page
Found some copy-paste errors while going through it.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-11-11 14:31:26 -05:00
Ulf Magnusson
ef11776460 doc: Document some Kconfig best practices and tips
Add a new 'Kconfig tips and best practices' page that covers some
Kconfig best practices, tips, and arcana, like the following:

 - What should be turned into a Kconfig symbol?

 - Best practices and pitfalls for 'select'

 - Factoring out common dependencies

 - Kconfig shorthands

 - Redundant defaults

 - Explanations of various more obscure Kconfig features, like 'imply',
   optional prompts, optional choices, and 'visible if'

Link the new page in the sidebar (under Developer Guides), the
application development primer, and the architecture and board porting
guides.

Perhaps other, more Zephyr-specific information could be added later on
as well, but this is a good start.

Include some other Kconfig-related documentation improvements as well:

 - In the application development primer, give 'CONFIG_FOO=n' as the way
   to set a bool symbol to 'n', instead of '# CONFIG_FOO is not set'.
   That seems to be what people usually do in practice in Zephyr.

   Explain why '# CONFIG_FOO is not set' works as well. There's a
   technical reason for it, related to Make.

 - Mention that the recommended syntax for referencing environment
   variables is now $(FOO) (which uses the Kconfig preprocessor)

 - Mention that the kconfiglib.py docstring has more in-depth
   information about how symbol values are calculated.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-11-11 09:01:14 -05:00
Krzysztof Chruscinski
5e346812ac logging: Refactor LOG_MODULE_REGISTER and LOG_MODULE_DECLARE macros
Changed LOG_MODULE_REGISTER and LOG_MODULE_DECLARE macros to take log
level as optional parameter. LOG_MODULE_DECLARE can now also be used
in static inline functions in headers. Added LOG_LEVEL_SET macro
which is used when instance logging API is used to indicate maximal
log level compiled into the file.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-11-10 12:38:29 -05:00
Andrew Boie
110728af53 doc: add details about dynamic interrupts
Update interrupts.rst with information on how to use dynamic
interrupts. As they are used in the same way as IRQ_CONNECT(),
not much needs to be written.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-11-10 11:01:22 -05:00
Flavio Ceolin
899914ed6a doc: Fix duplicated word
The word version was duplicated for Latexmk.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2018-11-09 16:34:14 -05:00
Luiz Augusto von Dentz
6c95b555ac shell: Add macros to print messages
This adds macros for printing info, normal, warning and error messages
including line termination.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-11-09 11:19:49 +01:00
Luiz Augusto von Dentz
a89690d10f shell: Add APIs to set number of arguments
This allows the shell core to perform precheck before calling the
handler which then can assume the number of arguments is correct.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-11-09 11:19:49 +01:00
Ulf Magnusson
f70f323193 scripts: west: Add documentation for the multi-repo commands
Explain multi-repo concepts like manifests and projects, give an
overview of the currently implemented commands, and give an example of a
potential workflow.

There's no way to submit a multi-repo change for review yet, so this is
still experimental.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-11-09 10:27:36 +01:00
Maureen Helm
4ab023d31f doc: Fix licensing links for cmsis, nordic, and mcux components
Fixes broken licensing links for the cmsis, nordic, and mcux external
components. Updates the cmsis license to Apache 2.0 now that we're using
cmsis version 5.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-11-07 22:57:50 -05:00
Carles Cufi
f803a25ec1 doc: bluetooth: Add existing qualification listings
List the currently available Bluetooth Qualification Listings for the
Zephyr Host and Controller.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-11-07 15:30:34 -05:00
Ioannis Glaropoulos
e9432c6e94 doc: kernel: usermode: correct prefixes in app memory section
Application shared memory API uses 'appmem_' prefix for
its functions and macros. This commit updates the respective
documentation to align with the API convention.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-11-06 16:14:41 -05:00
Anas Nashif
62cce740ea sanitycheck: clarify -s vs -T options in ztest doc
Clarify the difference and fix the ztest documentation adding more
examples.

This fixes #10662.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-05 17:31:36 -05:00
Anas Nashif
0819684703 doc: update docs with latest SDK
Changed documentation to point to SDK 0.9.4.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-05 11:00:38 -05:00
Flavio Ceolin
aecd4ecb8d kernel: Change k_poll_signal api
k_poll_signal was being used by both, struct and function. Besides
this being extremely error prone it is also a MISRA-C violation.
Changing the function to contain a verb, since it performs an action
and the struct will be a noun. This pattern must be formalized and
followed and across the project.

MISRA-C rules 5.7 and 5.9

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2018-11-04 11:37:24 -05:00
David B. Kinder
6871b927b7 doc: update getting started pip3 --user info
Using ``pip3 install --user`` installs Python packages in the Python
user install directory (``.local``) so we should remind folks to add
``~/.local/bin`` to their PATH.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-03 22:58:48 -04:00
David B. Kinder
babc199545 doc: fix misspellings in docs
Scan and fix for misspellings missed during regular
reviews.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-02 20:10:20 -04:00
Christoph Schramm
ff50393bf0 doc: shell: rtt: Add documentation for RTT shell backend
Please see notes for running RTT on macOS

Signed-off-by: Christoph Schramm <schramm@makaio.com>
2018-11-02 12:19:58 -04:00
Alberto Escolar Piedras
27ec9fa7f2 doc: Linux installation: Add gcc and gcc_mulitlib for Ubuntu
In 0d811b9aee the gcc-mulitlib package
was removed from the Ubuntu list of packages to install.
Seems this may be creating some confusion for some developers (see
comments in #10243)
Let's add it back.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-01 18:39:09 -04:00
Paul Sokolovsky
bd0ab78677 doc: usermode: Add missing "called" in _k_object_init() description
The phrase "object must have _k_object_init() on it at some point"
visibly misses "called".

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-11-01 16:36:26 -04:00
Ravi kumar Veeramally
c8954d3544 net: coap: CoAP library support over sockets
CoAP library is migrated to support over socket based
applications or other higher layer protocols. Most of the
API's and functionality is kept as it is except few changes.

net_pkt/net_buf is removed from CoAP library. Now it expects
a pre-allocated flat buffer and length. If there is not enough
space to append any data, library simply returns an error.
It's user's responsibility to allocate and free memory.

One change in functionality is, earlier coap_pending_clear()
used to clear the memory, but now it's user's responsibility
to free the memory.

Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2018-10-31 19:44:25 -04:00
Jan Van Winkel
ca66c8ea41 doc: Added generic display interface to API doc
Added generic display interface to Display Interfaces APIs
documentation

Signed-off-by: Jan Van Winkel <jan.van_winkel@dxplore.eu>
2018-10-31 08:41:27 -04:00
Pavel Kral
1a583fa8be ext: debug: segger: Add USE_SEGGER_RTT that enables RTT libraries.
This option allows to explicitly include Segger RTT libraries and
enables use of it for various subsystems. It is disabled by
default as it consumes more RAM.

Signed-off-by: Pavel Kral <pavel.kral@omsquare.com>
2018-10-31 12:47:53 +01:00
Ioannis Glaropoulos
3e02f38a38 kernel: mem_domain: minor typo fixes
Fixing a few minor typo fixes in kernel/mem_domain.c
and the respective documentation section.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-10-29 12:34:12 -04:00
Jakub Rzeszutko
7e3a6e85d3 doc: shell: add information about dummy backend
Shell documentation has been updated with information about new
backend called DUMMY.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-28 11:45:41 -04:00
Himanshu Jha
1e7a70c082 doc: application: coccinelle: Miscellaneous cleanups
Update documentation with spell fixes and refactoring
changes.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
2018-10-28 11:42:43 -04:00
Reto Schneider
7eabab2f5d samples, tests: Use semi-accurate project names
When using an IDE (e.g. Eclipse, Qt Creator), the project name gets
displayed. This greatly simplifies the navigation between projects when
having many of them open at the same time. Naming every project "NONE"
defeats this functionality.

This patch tries to use sensible project names while not duplicating
too much of what is already represented in the path. This is done by
using the name of the directory the relevant CMakeLists.txt file is
stored in. To ensure unique project names in the samples (and again, in
the tests folder) folder, small manual adjustments have been done.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
2018-10-27 21:31:25 -04:00
Carles Cufi
9fd4c3a70d doc: Remove quotes from Windows env var
Windows requires that there are no quotes around environment variables,
remove the ones in the documentation.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-10-26 18:27:01 +01:00
Sebastian Bøe
e8420d91bb doc: Fix pip3 install command
The getting started guide says to run:

pip3 install -r --user zephyr/scripts/requirements.txt

but this is broken. It should be:

pip3 install --user -r zephyr/scripts/requirements.txt

This fixes #10817 and is a regression from:
0d811b9aee

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-25 07:21:35 +01:00
Andrei Emeltchenko
e408d9c3a4 doc: usb: Use new USB API for sample code
Replace sample code, making it use newest USB API, reading code
directly from sources, and changing to the simplest sample - loopback.
CDC ACM is quite big and modifying sample would render line change
quite often.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-10-24 11:18:12 +01:00
Krzysztof Chruscinski
5d28fcd689 logging: Add optional function name prefix
Extended logger to support optional log message prepending with
function name.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-10-24 11:14:26 +01:00
Henrik Brix Andersen
74ca4f58a6 doc: bluetooth: clarify where to find the btmgmt binary
Prepend the btmgmt call with the tools/ subdirectory to line up with
the other BlueZ tool calls in the examples.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2018-10-24 11:13:47 +01:00
Carles Cufi
24da65276a doc: extract_content: Normalize path of ignored folders
Normalize the path of ignored folders so that variations in paths
formats on Windows are detected correctly.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-10-23 10:28:27 +01:00
Jakub Rzeszutko
917dd83e8b doc: shell: update example usage of shell_cmd_precheck function
Updated example usage of shell_cmd_precheck according to new API.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-19 13:35:56 +02:00
Marti Bolivar
61042c3ea9 application: fix code-block directive in custom SoC section
Without the extra colon, this is showing up as a comment.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-17 19:07:58 -04:00
Marti Bolivar
0b6bbcf6df doc: application primer: improvements to "creating an application"
- Fix a few errors and bits of stale information in "Creating an
  Application", also adding additional cross-references.

- Consolidate some of the steps to help users create CMakeLists.txt
  correctly by unambiguously putting target_sources() after the
  boilerplate include.

- Split the description of the important build system variables into
  its own section and add more context for what they do.

- Add whitespace warning

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-17 19:07:58 -04:00
Marti Bolivar
23d12e9e68 doc: reorder the sections for better flow
Put the Developer Guides after the Getting Started guide, and make
sure the Application Development Primer is the first item in the
Developer Guides. Make some other ordering adjustments as well.

These changes collectively make for a more logical order for linearly
reading through the Zephyr documentation for the average user.
"Average user" here is defined as a person who wants to:

1. learn what Zephyr is and its distinguishing features
2. install a Zephyr development environment, building/running hello
   world
3. learn the basics of how Zephyr applications are structured
4. start diving deeper

This privileges "users" over "developers", i.e. it pushes sections
related to Zephyr's internals and how to edit them down lower in the
order.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-17 19:07:58 -04:00
Marti Bolivar
0d811b9aee doc: overhaul getting_started
The getting started documentation has become a bit of a mess over
time:

- The reader needs to jump forward and backward in the documents
  depending on what their system already has installed (e.g. "start by
  cloning Zephyr, oh wait, see below if you don't have Git yet" etc.).

- The operating system setup guides, toolchain setup instructions, and
  application build and run information have each become their own
  balkanized fiefdom, with duplicated, confusing and sometimes
  inconsistent results.

- Linux documentation for all distributions is incomplete in some
  places (the Arch documentation in particular is vestigial)
  and wrong in others (platforms like Ubuntu still nominally require
  tools, like autoconf, that haven't been necessary since we stopped
  using the C Kconfig tools)

- The dependencies needed to build the documentation have
  gotten *huge* since the LaTeX additions and massively overstate the
  footprint of Zephyr's real dependencies. This is particularly a
  problem on Linux, where those dependencies were not clearly
  separated from those needed to build Zephyr.

- The toolchain setup documentation is confusing and scattered across
  the main file and the platform-specific files. There are various
  bits of incomplete and/or incorrect information. For example, the
  docs imply that you can use the Zephyr SDK on non-Linux hosts, which
  isn't true. As another example, some toolchains, such as GNU Arm
  Embedded, are documented several times. As a final example, some
  toolchains, such as Intel's ISSM, are squirrelled away in the
  Windows document when there are Linux builds available.

Overhaul the pages to fix these issues and otherwise clean up the
language. One significant side-effect is that all the
toolchain-related information is rooted in a single toctree. Another
is that it should now be possible to follow the instructions, in
order, on any supported platform.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-17 19:07:58 -04:00
Marti Bolivar
27eb8d3db4 doc: add warning about sphinx errors
I committed a user error and edited a file named in the sphinx output
to correct an error. To my dismay later, I discovered my work had been
lost as that file is not versioned.

Warn the others.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-16 15:10:18 -04:00
Marti Bolivar
d7dc113783 doc: avoid copying content twice
In a clean build, Ninja is creating copies of the extracted
documentation outputs regardless of whether they already exist or
not. I can't explain this behavior from the documentation of the build
command, but it's so, even if extract_content.py is patched to use
copyfile() instead of copy2() so that outputs (copied .rst files in
the build directory) have strictly newer mtimes than inputs (source
tree .rst files).

This extra copying doesn't happen for incremental builds, for some
reason.

To account for this behavior, add and use an extract_content.py option
that skips content extraction completely and leaves that all up to the
add_custom_command() which tracks each individual input->output build
command.

Reported-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-16 15:10:18 -04:00
Anas Nashif
deaab90641 tests/samples: cleanup tags
Remove redundant 'sample' tag and add something that matches the
functionality and features being tested, demonstrated.

Avoid short abbriviations and using full names for fs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-10-16 09:17:51 -04:00
Marti Bolivar
b307be0382 doc: cmake must be re-run if adding/removing files
This is a consequence of the move to tracking each documentation
source file individually.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-12 11:37:48 +02:00