Commit Graph

30 Commits

Author SHA1 Message Date
Johan Hedberg
96a754554e samples: reel_board/mesh_badge: Add protection for fast key presses
It was possible to freeze the application by pressing the user button
too frequently. This was likely due to the stack not keeping up with
the send requests and running out of buffers.

Add rate-limiting to the app, so that at most one message per 500ms
can be sent. Also add a user message if the user presses the button
too many times in rapid succession, and inform the other badges of
this misbehaving user.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-03-15 14:05:29 +01:00
Carlos Stuart
75f77db432 include: misc: util.h: Rename min/max to MIN/MAX
There are issues using lowercase min and max macros when compiling a C++
application with a third-party toolchain such as GNU ARM Embedded when
using some STL headers i.e. <chrono>.

This is because there are actual C++ functions called min and max
defined in some of the STL headers and these macros interfere with them.
By changing the macros to UPPERCASE, which is consistent with almost all
other pre-processor macros this naming conflict is avoided.

All files that use these macros have been updated.

Signed-off-by: Carlos Stuart <carlosstuart1970@gmail.com>
2019-02-14 22:16:03 -05:00
Kumar Gala
2a14a28d19 boards: reel_board: Convert FLASH_AREA to DT_FLASH_AREA
Use DT_FLASH_AREA prefixed defined instead of FLASH_AREA as the non-DT
version is deprecated.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-08 22:39:07 -06:00
Kumar Gala
d7b7dbd910 sensor: apds9960: Convert to new DT_<COMPAT>_<INSTANCE> defines
Convert apds9960 sensor driver to use new defines so we can remove the
dts_fixup.h code for it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-29 16:03:21 -06:00
Kumar Gala
3b42943fe7 display: ssd1673: Convert to new DT_<COMPAT>_<INSTANCE> defines
Convert ssd1673 display driver to use new defines so we can remove
the dts_fixup.h code for it.  Also dropped "-spi" from compatible.

Fix up references in reel_board dts and sample.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-29 14:21:06 -06:00
Johan Hedberg
404d9017eb samples: reel_board/mesh_badge: Disable secure network beacon
The app is already sending period heart beat messages, and since it is
not designed to be used for such long times that would require IVI
Update, keep the secure network beacon sending disabled.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-01-28 14:10:58 +02:00
Johan Hedberg
b5a65d8c81 samples: reel_board/mesh_badge: Add simple power saving implementation
Suspend the mesh network after 30 minutes of inactivity. This should
help prolong the battery life of boards used at multi-day events, if
the user forgets to power off the device for the night.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-01-28 14:10:58 +02:00
Johann Fischer
6caf4e9144 boards: reel_board: use appropriate labels for HDC1010 and MMA8652FC
Use appropriate labels for HDC1010 and MMA8652FC.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2019-01-26 12:08:52 -05:00
Kumar Gala
5431762769 sensor: fxos8700: Convert to new DT_<COMPAT>_<INSTANCE> defines
Convert fxos8700 sensor driver to use new defines so we can remove the
dts_fixup.h code for it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-17 13:29:46 -06: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
Jakub Rzeszutko
e8a77808c0 samples: reel board: correct timeout condition
After this fix each LED will blink 5 times. Previously
LED_0 has been blining 6 times while others 5 times.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-12-20 18:58:01 +02:00
Patrik Flykt
079f55d519 samples: Add 'U' to unsigned variable assignments
Add 'U' to a value when assigning it to an unsigned variable.
MISRA-C rule 7.2

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2018-12-04 22:51:56 -05:00
Johan Hedberg
a633ded383 samples: reel_board/mesh_badge: Fix long name truncation
If the first name is longer than HELLO_MAX sending would fail due to
there not being sufficient MIC space (or worse overrun the net_buf).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-24 00:54:32 +01:00
Johan Hedberg
2f030f94f4 samples: reel_board/mesh_badge: Fix string parsing from buffer
This code was still incorrectly causing corrupt strings to be
generated. Now it should be correct.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-24 00:54:32 +01:00
Grzegorz Kolodziejczyk
d7b3fe4ab4 samples: reel_board/mesh_badge: Match onoff state with LED light
Inverse logic for onoff state while driving LED GPIO. For LED light on
GPIO pin is 0, 1 for LED light off.

Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@codecoup.pl>
2018-11-23 22:04:26 +02:00
Andrei Emeltchenko
4e21f0651a samples: mesh_badge: Update project config
Add CONFIG_BT.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-11-23 09:10:01 -05:00
Grzegorz Kolodziejczyk
3abb8a8521 samples: reel_board/mesh_badge: Fix sensor statuses struct organization
Patch modifies structure organization to be specification compliant.

Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@codecoup.pl>
2018-11-20 18:00:51 +02:00
Johan Hedberg
d0253d310d samples: reel_board/mesh_badge: Fix various coding style issues
Fix coding style issues, mainly related to whitespace usage.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-19 15:06:14 +02:00
Johan Hedberg
b164c9723f samples: reel_board/mesh_badge: Fix out-of-bounds array access
The show_sensors_data() function tries to access val[2] when
outputting the Z-axis value, so the array must have at least three
elements. This also triggered Coverity CID 189741.

Fixes #11482

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-19 15:06:14 +02:00
Johan Hedberg
381a9dd1ee samples: reel_board/mesh_badge: Fix comparison with unsigned number
This comparison was always supposed to be > rather than >=. Fixing
this also fixes Coverity CID 189740.

Fixes #11483

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-19 15:06:14 +02:00
Andrzej Głąbek
20202902f2 dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig
These changes were obtained by running a script  created by
Ulf Magnusson <Ulf.Magnusson@nordicsemi.no> for the following
specification:

1. Read the contents of all dts_fixup.h files in Zephyr
2. Check the left-hand side of the #define macros (i.e. the X in
   #define X Y)
3. Check if that name is also the name of a Kconfig option
   3.a If it is, then do nothing
   3.b If it is not, then replace CONFIG_ with DT_ or add DT_ if it
       has neither of these two prefixes
4. Replace the use of the changed #define in the code itself
   (.c, .h, .ld)

Additionally, some tweaks had to be added to this script to catch some
of the macros used in the code in a parameterized form, e.g.:
- CONFIG_GPIO_STM32_GPIO##__SUFFIX##_BASE_ADDRESS
- CONFIG_UART_##idx##_TX_PIN
- I2C_SBCON_##_num##_BASE_ADDR
and to prevent adding DT_ prefix to the following symbols:
- FLASH_START
- FLASH_SIZE
- SRAM_START
- SRAM_SIZE
- _ROM_ADDR
- _ROM_SIZE
- _RAM_ADDR
- _RAM_SIZE
which are surprisingly also defined in some dts_fixup.h files.

Finally, some manual corrections had to be done as well:
- name##_IRQ -> DT_##name##_IRQ in uart_stm32.c

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-11-13 10:44:42 -06:00
Grzegorz Kolodziejczyk
2cce0a6f9f samples: reel_board/mesh_badge: Introduce sensor model
Patch introduces sensor model to mesh badge application. Along with
model definition a sensor get message is implemented and handled on
server.

Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@codecoup.pl>
2018-11-13 12:33:14 +02:00
Grzegorz Kolodziejczyk
5148e68da5 samples: reel_board/mesh_badge: Add generic on off model
Add generic on/off model which drives green led on board.

Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@codecoup.pl>
2018-11-13 12:33:14 +02:00
Grzegorz Kolodziejczyk
92117dc27c samples: reel_board/mesh_badge: Add sensors
This patch introduces new screen to mesh_badge application. Sensor
screen shows measurements from board sensors updated every 2 seconds.

Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@codecoup.pl>
2018-11-13 12:33:14 +02:00
Andrzej Głąbek
386846fbff samples: reel_board: Change a DTS-derived label to the alias one
Change the label GPIO_KEYS_BUTTON_0_GPIO_CONTROLLER that is generated
for the DT node directly to the corresponding one generated through
the "sw0" alias (i.e. SW0_GPIO_CONTROLLER) to make it consistent with
other DT related labels used in this code (SW0_* and LED?_*).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-11-10 08:59:50 -05:00
Johan Hedberg
39155d55b6 samples: boards/mesh_badge: Fix checking for null in hello message
Use strncpy instead of memcpy to make sure copying stops at the first
null-character.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-06 22:31:24 +02:00
Johan Hedberg
a19ca5cce6 samples: reel_board/mesh_badge: Fix null-termination of string buffer
The way the code is structured the buffer is always guaranteed to be
large enough, however perform explicit termination anyway to avoid
Coverity warnings.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-06 22:31:24 +02: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
Johan Hedberg
b0ad17d0a4 samples: reel_board/mesh_badge: Add statistics and new message
Add a new "heartbeat" message so that number of hops between nodes can
be discovered. Also add a statistics page which can be toggled using a
long key press, showing local information and the top message senders.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-10-27 11:16:30 +01:00
Johan Hedberg
7fd7be0fc6 samples: reel_board: Add Bluetooth Mesh badge demo app
Add a demo app for showcasing badge functionality together with
Bluetooth Mesh.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-10-24 22:06:46 +01:00