zephyr/subsys
Bud Wandinger 7a2b248b98 Bluetooth: Mesh: Added support for application access to mesh messages
Added bt_mesh_msg_send() which can be used by the application to
directly send model layer messages without local instantiation of
related models. Also added bt_mesh_msg_cb_set() which allows the
application to recieve mesh model layer messages without local
instantiation of related models.

Added bt_mesh_has_addr() which returns a bool. For unicast addresses,
this returns whether or not bt_mesh_elem_find() was successfull. If the
above mentioned bt_mesh_msg_cb_set() has been used by the application to
set a message callback, this returns true so that the stack attempts to
push every model message up to the application via the callback. If no
callback has been set, group addresses are searched to see if the stack
should pass the message up the stack to an instantiated model.

These changes allow applications that do not or can not instantiate
models to interface with models in a mesh network. This is applicable to
applications which act as a Bluetooth mesh gateway, sniffer, debugger,
network monitoring, non-mesh relay/extender, etc.

In app_keys.c friend.c net.c bt_mesh_elem_find() is used only to
determine the existance of an address. The full return value of
bt_mesh_elem_find() is unecessary and so was replaced by the above
mentioned bt_mesh_has_addr() function in these instances.

Simplified bt_mesh_elem_find() by removing the search through group
address. Since the above mentioned bt_mesh_has_addr() function handles
instances where group addresses must be searched, it was no longer
necessary to preform this search in this function.

Signed-off-by: Bud Wandinger <bud@budkoembedded.ca>
2021-07-22 06:23:56 -04:00
..
bluetooth Bluetooth: Mesh: Added support for application access to mesh messages 2021-07-22 06:23:56 -04:00
canbus modules: canopennode: move glue code to modules directory 2021-07-01 13:32:18 -04:00
console kernel: sem: add K_SEM_MAX_LIMIT 2021-03-05 08:13:53 -06:00
cpp cpp: Restore C++2A Kconfig 2021-07-14 07:19:43 -04:00
debug thread analyzer: fix formatting for unsigned int 2021-06-01 12:42:38 -05:00
demand_paging kernel: mmu: z_backing_store* to k_mem_paging_backing_store* 2021-05-28 11:33:22 -04:00
dfu dfu/boot: add CONFIG_UPDATEABLE_IMAGE_NUMBER option 2021-06-17 12:41:17 +02:00
disk include: move disk_access.h to storage 2021-03-23 12:16:01 +01:00
emul include: Move emul.h to drivers/emul.h 2021-04-22 12:51:01 -04:00
fb
fs fs/nvs: prevent use after clear without init 2021-07-20 13:34:45 +02:00
ipc ipc: ipc_service: RPMsg multi-instance as backend for IPC Service 2021-07-16 21:43:39 -04:00
jwt jwt: use pre-computed JWT header 2021-04-03 06:52:40 -04:00
logging logging: fs: allow maximum file size to be 1GB 2021-07-20 19:57:50 -04:00
lorawan lorawan: Fix setting APP_KEY using MacMibSetRequest 2021-07-22 06:11:41 -04:00
mgmt subsys/mgmt/mcumgr: Add SMP Zephyr specific storage erase command 2021-07-13 11:56:39 +02:00
modbus modbus: fix untrusted loop bound in modbus client 2021-05-05 11:33:56 +02:00
net net: Fix missing __ASSERT_ON micro 2021-07-22 06:21:55 -04:00
pm soc: cc13x2: Use residency policy 2021-07-21 17:54:40 +03:00
portability portability: move cmsis api headers 2021-04-20 08:45:05 -04:00
random random: rand32_timer: Avoid alignment faults by using memcpy 2021-04-16 15:34:59 -04:00
settings
shell shell: modules: devmem: use strtoul instead of strtol 2021-07-07 21:01:07 -04:00
stats
storage storage/flash_map: Fix flash area bounds checking 2021-05-25 16:59:01 -05:00
task_wdt task_wdt: Fix the way the kernel timer is used 2021-07-07 07:44:22 -05:00
testsuite testsuite: suppress usage of setjmp in a testcode 2021-06-22 10:08:02 -04:00
timing timing: add kconfig CONFIG_TIMING_FUNCTIONS_NEED_AT_BOOT 2021-04-06 16:43:55 -04:00
tracing Tracing: TRACING_NONE Compilation Fix 2021-05-27 14:39:40 -05:00
usb usb: audio: prevent unaligned memory access 2021-07-20 16:56:26 +03:00
CMakeLists.txt pm: move power subsystem to pm 2021-05-05 18:35:49 -04:00
Kconfig pm: move power subsystem to pm 2021-05-05 18:35:49 -04:00