Commit Graph

142 Commits

Author SHA1 Message Date
Vikrant More d2737d5fac samples: mesh: nrf52: coding style improvements
Corrected spellings in printk messages plus removed
unnecessary blank lines.

In case of Gen. Move client's message to Server, reduced
values of delta & transition time to improve demonstration.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-14 14:24:29 +02:00
Vikrant More 8dabf77f08 samples: mesh: nrf52: increased main stack size
Increased main stack size. This will solve issue mentioned at
https://github.com/zephyrproject-rtos/zephyr/issues/19685 which
is only related to onoff_level_lighting_vnd_app.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-14 14:24:29 +02:00
Vikrant More 235f5654d1 samples: mesh: nrf52: removed unnecessary global vaiable
Removed unnecessary global variable & replaced them with different
variable defined in struct light_ctl_state.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More fb439fd98b samples: mesh: nrf52: corrected Gen. move msg handler implementation
Corrected Generic Move (Level) message handler implementation.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More 3bc931996d sample: mesh: nrf52: coding style improvement
Adjusted lines which are crssing limit of 80 characters to remove
check Warnings.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More 3ed87e46fa samples: mesh: nrf52: removed redundant coding
Removed redundant coding which was related to old implementation.
Now Server will publish the new state information to the model’s Publish
Address only when there is mismatch between target & current values.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More 6aaddb9922 sample: mesh: nrf52: complete inst. transition without timer
If transition time (tt) estimated equal to zero then transition
get completed without using timer.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More 0bf0eb7f76 samples: mesh: nrf52: Simplified implementation
Create single structure of light_ctl_state & simplified
state binding algorithm.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-11-13 11:29:14 +02:00
Vikrant More f198258a8b samples: mesh: nrf52: removed redundunt code
Remove redundant code as per latest implementation.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-10-17 12:31:35 +03:00
Vikrant More 4d55fa50c5 samples: mesh: nrf52: amendment in States restoration implementation
For Genric OnPowerUp equal to 0x02 (Restore):
If a transition was in progress when powered down, the element
restores the target state when powered up. Otherwise the element
restores the state it was in when powered down.

This commit implements above mentioned logic.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-10-17 12:31:35 +03:00
Kamil Piszczek 366cf363b2 samples: migrating to NVS backend with settings
Bluetooth samples now use the NVS backend for Settings.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2019-10-11 14:55:24 +02:00
Peter Bigot ab91eef23b coccinelle: standardize kernel API timeout arguments
Use the int_literal_to_timeout Coccinelle script to convert literal
integer arguments for kernel API timeout parameters to the standard
timeout value representations.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2019-10-03 11:55:44 -07:00
Andrzej Głąbek c24c463328 soc: nordic: Include <nrfx.h> instead of <nrf.h> from <soc.h>
This change is done so that there is no need to additionaly include
<nrfx.h> before <soc/nrfx_coredep.h> (what might be a bit surprising)
and so that <nrfx_config.h> doesn't need to be include separately for
nRF SoCs requiring a special mapping of peripheral accessing symbols.

This commit removes also no longer needed inclusions and updates
the hal_nordic module with required minor correction of nrfx_glue.h.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2019-09-24 16:20:16 +02:00
Kumar Gala db167c606d dts: Rename LED._GPIO_* -> DT_ALIAS_LED._GPIOS_*
We use the following commands to rename any
LED._GPIO_{CONTROLLER,PIN,FLAGS} to
DT_ALIAS_LED._GPIOS_{CONTROLLER,PIN,FLAGS}

git grep -l LED._GPIO_CONTROLLER | xargs sed -i 's/LED\(.\)_GPIO_CONTROLLER/DT_ALIAS_LED\1_GPIOS_CONTROLLER/g'
git grep -l LED._GPIO_PIN | xargs sed -i 's/LED\(.\)_GPIO_PIN/DT_ALIAS_LED\1_GPIOS_PIN/g'
git grep -l LED._GPIO_FLAGS | xargs sed -i 's/LED\(.\)_GPIO_FLAGS/DT_ALIAS_LED\1_GPIOS_FLAGS/g'

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-07-02 08:26:37 -04:00
Johan Hedberg 0d9dab300e Bluetooth: Introduce separate pool for discardable events
Introduce a separate buffer pool for events which the HCI driver
considers discardable. Examples of such events could be e.g.
Advertising Reports. The benefit of having such a pool means that the
if there is a heavy inflow of such events it will not cause the
allocation for other critical events to block and may even eliminate
deadlocks in some cases.

Also update all mesh samples not to specify explicit RX buffer counts
anymore. Instead, create appropriate defaults in Kconfig so that we
only need to override this in the app for cases like the bbc:microbit
with limited memory.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-07-01 16:36:15 +03:00
Kumar Gala 284bc9d964 dts: Rename SW._GPIO_* -> DT_ALIAS_SW._GPIOS_*
We use the following commands to rename any
SW._GPIO_{CONTROLLER,PIN,FLAGS} to
DT_ALIAS_SW._GPIOS_{CONTROLLER,PIN,FLAGS}

git grep -l SW._GPIO_CONTROLLER | xargs sed -i 's/SW\(.\)_GPIO_CONTROLLER/DT_ALIAS_SW\1_GPIOS_CONTROLLER/g'
git grep -l SW._GPIO_PIN | xargs sed -i 's/SW\(.\)_GPIO_PIN/DT_ALIAS_SW\1_GPIOS_PIN/g'
git grep -l SW._GPIO_FLAGS | xargs sed -i 's/SW\(.\)_GPIO_FLAGS/DT_ALIAS_SW\1_GPIOS_FLAGS/g'

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-07-01 07:14:36 -05:00
Anas Nashif 9ab2a56751 cleanup: include/: move misc/printk.h to sys/printk.h
move misc/printk.h to sys/printk.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Anas Nashif 5d001f3e41 cleanup: include/: move misc/byteorder.h to sys/byteorder.h
move misc/byteorder.h to sys/byteorder.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Anas Nashif 6aa9c3a68f cleanup: include/: move gpio.h to drivers/gpio.h
move gpio.h to drivers/gpio.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Anas Nashif 52e0efac97 cleanup: include/: move stats.h to stats/stats.h
move stats.h to stats/stats.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Laczen JMS 8ca8708224 subsys/settings: Update client modules
This updates all client modules to const char processing of
setting names.

Update of peripheral_dis sample

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2019-06-18 17:57:08 +02:00
Luiz Augusto von Dentz b65fe62719 Bluetooth: Add possibility to pass a user_data to conn_tx_cb_t
This allows setting a custom pointer to be passed back to the complete
callback at expense of increasing the buffers in 4 bytes.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2019-05-29 16:31:03 +03:00
Vikrant More f78599fbca samples: mesh: sync the init procedure to initialise the mesh
Synchronising the init procedure to initialise the mesh
state only after the settings have been loaded.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Vikrant More 35f14bc3ae samples: mesh: replaced magic numbers with values defined in stdint.h
Replaced magic numbers with constant defined in stdint.h

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Vikrant More 0cf1991508 samples: mesh: corrected implemenation of gen. move message handlers
After receiving Generic Level Move set/set_unack message, generic
level state should move towards positive or negative extreme end
(which is depend upon sign of delta value) till it not get interruped.
This commit has introduced this feature.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Vikrant More 36a6adafd9 samples: mesh: removed redundant code
Remove redundant code from implementation.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Vikrant More 4835c0f201 samples: mesh: removed bugs in on-off transition
If Node Lightness is in downward transition & received Generic
onoff message to set state equal to 1 then Node transaction get
stopped in between. Ideally it should reach to default lightness
value if it is non-zero. This commit has solved this bug.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Vikrant More 243044361b samples: mesh: single timer to handle all transitions
This commit upgrade the implementation to reduce complexity in
algorithm. Previously there was different timers for lightness
as well as temperature transitions. But at time only single
transition is remain activated & hence there is no need
of multiple timer for each entiity.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-05-10 14:09:36 +03:00
Johan Hedberg e69b4be2af Bluetooth: Fix return type for settings read callback
settings_read_cb is defined to return ssize_t and not size_t. This
also eliminates several Coverity warnings.

Fixes #15765
Fixes #15768
Fixes #15771
Fixes #15774
Fixes #15778

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-05-02 11:18:30 +03: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
Vikrant More 47b7c79e39 samples: mesh: enable SMP service for DFU
This commit enable Bluetooth SMP Service which will help
us to do Device Firmware Upgrade over thr air. By default
it is not enable.

Reference: $zephyr/samples/subsys/mgmt/mcumgr/smp_svr

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-04-17 10:19:16 +03:00
Anas Nashif 3ae52624ff license: cleanup: add SPDX Apache-2.0 license identifier
Update the files which contain no license information with the
'Apache-2.0' SPDX license identifier.  Many source files in the tree are
missing licensing information, which makes it harder for compliance
tools to determine the correct license.

By default all files without license information are under the default
license of Zephyr, which is Apache version 2.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-04-07 08:45:22 -04:00
Anas Nashif 6e6f13c18a samples: fix identifiers for samples
Fix identifiers for tests in samples.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-04-01 12:23:09 -04:00
Patrik Flykt 21358baa72 all: Update unsigend 'U' suffix due to multiplication
As the multiplication rule is updated, new unsigned suffixes
are added in the code.

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2019-03-28 17:15:58 -05:00
Patrik Flykt 24d71431e9 all: Add 'U' suffix when using unsigned variables
Add a 'U' suffix to values when computing and comparing against
unsigned variables.

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2019-03-28 17:15:58 -05:00
Carles Cufi 8f05a4c6d5 doc: Bluetooth: Documentation overhaul
Overhaul the Bluetooth documentation to split it into manageable units
and include additional information, such as architecture and tooling.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-03-13 10:40:05 +01:00
David B. Kinder 505cc2bb0e doc: use :zephyr_file: where appropriate
A new role :zephyr_file: is available that renders to a link to the file
or folder in GitHub.  Find appropriate references using :file: and
convert to :zephyr_file: to take advantage of its linking capability.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-03-09 09:50:27 -05:00
Henrik Brix Andersen 17cc291d68 samples: nrf52: mesh: onoff-app: add missing CONFIG_GPIO
Add missing CONFIG_GPIO required by the nRF52 board-specific Bluetooth
Mesh On/Off application sample.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2019-02-24 12:55:54 -05:00
Vikrant More 49aeb1ffe3 samples: mesh: taking care of interrupted transition
With this commit, it is now possible that if (for e.g.) lightness
transition is interrupted by temperature transition (which could
be instantaneous or non-instanstaneous) then as soon as temperature
transition get over, then algorithm would achieve target value
of lightness.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-02-07 21:01:37 +02:00
Vikrant More 732cfac519 samples: mesh: removed bug which is cause of divide by zero exception
If Client send transition time values as 0x40 or 0x80 or 0xC0 then
this was cause the behind divide by zero exception during calculation
of transition->counter. This PR will solve this bug.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-30 21:48:02 +02:00
Sebastian Bøe c7af520915 cmake: samples: mesh: Remove redundant CMake code
This sample is linking the 'app' with 'subsys__bluetooth', which will
add zephyr/subsys/bluetooth to the include path of the app. But this
is unnecessary as the app already has this path on it's include path.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2019-01-17 17:26:01 +02:00
Vikrant More b5017ec7dc samples: mesh: restriction to re-transmit publish messages
If Server receives re-transmitted message then it will not
transmit corresponding publish message for it.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-16 13:35:54 +02:00
Vikrant More a61f7c39aa samples: mesh: feature to save Lightness & Temp. Range on Flash
With this commit, it is now possible to save Lightness &
temperature Range values on SoC flash.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-16 13:35:54 +02:00
Vikrant More f4f6426582 samples: mesh: code improvements
Added app_gpio.c & no_transition_work_handler.c to reduce
burden on main.c. It will simplify & help to understand
overall architecture.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-16 13:35:54 +02:00
Vikrant More b9511f2117 samples: mesh: revised states binding & target value calculation
Simplified algorithm behind states binding & target values calculation.
This has improved code readability.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-16 13:35:54 +02:00
Vikrant More 41b1e3e238 samples: mesh: Remove redundant code
Removed redundant code.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2019-01-16 13:35:54 +02:00
Anas Nashif 5060ca6a30 cmake: increase minimal required version to 3.13.1
Move to latest cmake version with many bug fixes and enhancements.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-01-03 11:51:29 -05:00
Vikrant More e498271652 samples: mesh: enable retransmission of GET & Publish messages
Now if Server receives re-transmitted messages from client then
it will not get completely ignored but respective GET & Publish
message will get release from Server side.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-12-13 16:52:24 +02:00
Vikrant More 59d4589e14 samples: mesh: follow Mesh study guide to avoid retransmitted message
As per Mesh Model Specification,
when a Server receives a Set message or a Set Unacknowledged message,
it shall set the state to the target field of the message,
unless the message has the same values for the SRC, DST, and TID
fields as the previous message received within the last 6 seconds.

This commit take care of this requirement.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-12-13 16:52:24 +02:00
Vikrant More 5ea8454e46 samples: mesh: nrf52: coding style improvement (Vendor Model)
This commit's implementation update Vendor Model dummy response
value in vnd_get() instead of vnd_set_unack().

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-12-12 16:47:53 +02:00