mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-03 07:13:51 +00:00
mesh: provide att db with mesh provisioning service
This commit is contained in:
parent
0f163b6ea8
commit
0b2c76e9ae
@ -45,12 +45,23 @@ list(SORT SOURCES)
|
||||
add_library(btstack STATIC ${SOURCES})
|
||||
|
||||
# list of targets
|
||||
set(TARGETS_C mesh.c)
|
||||
set(EXAMPLES_C mesh.c)
|
||||
|
||||
file(GLOB EXAMPLES_GATT "*.gatt")
|
||||
|
||||
# create targets
|
||||
foreach(EXAMPLE_FILE ${TARGETS_C})
|
||||
foreach(EXAMPLE_FILE ${EXAMPLES_C})
|
||||
get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE)
|
||||
message("example ${EXAMPLE}")
|
||||
add_executable(${EXAMPLE} ${EXAMPLE_FILE})
|
||||
if ( "${EXAMPLES_GATT}" MATCHES ${EXAMPLE} )
|
||||
message("example ${EXAMPLE} -- with GATT DB")
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE}.h
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/../../tool/compile_gatt.py ${CMAKE_SOURCE_DIR}/${EXAMPLE}.gatt ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE}.h > /dev/null
|
||||
)
|
||||
add_executable(${EXAMPLE} ${EXAMPLE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE}.h)
|
||||
else()
|
||||
message("example ${EXAMPLE}")
|
||||
add_executable(${EXAMPLE} ${EXAMPLE_FILE})
|
||||
endif()
|
||||
target_link_libraries(${EXAMPLE} btstack)
|
||||
endforeach(EXAMPLE_FILE)
|
||||
|
@ -46,8 +46,8 @@ LDFLAGS += $(shell pkg-config libusb-1.0 --libs)
|
||||
LDFLAGS += -lCppUTest -lCppUTestExt
|
||||
|
||||
|
||||
mesh: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} pb_adv.o pb_gatt.o mesh_foundation.o mesh_proxy_service_server.o mesh_provisioning_service_server.o mesh_crypto.o provisioning_device.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_transport.o mesh_virtual_addresses.o mesh_keys.o mesh.o
|
||||
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
|
||||
mesh: mesh.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} pb_adv.o pb_gatt.o mesh_foundation.o mesh_proxy_service_server.o mesh_provisioning_service_server.o mesh_crypto.o provisioning_device.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_transport.o mesh_virtual_addresses.o mesh_keys.o mesh.o
|
||||
${CC} $(filter-out *.h,$^) ${CFLAGS} ${LDFLAGS} -o $@
|
||||
|
||||
provisioner: ${CORE_OBJ} ${COMMON_OBJ} ${SM_OBJ} pb_adv.o mesh_crypto.o provisioning_provisioner.o provisioner.o
|
||||
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
|
||||
@ -68,7 +68,7 @@ mesh_provisioning_device.h: mesh_provisioning_device.gatt
|
||||
python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
|
||||
|
||||
mesh_provisioning_device: mesh_provisioning_device.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} pb_adv.o pb_gatt.o mesh_crypto.o provisioning_device.o mesh_proxy_service_server.o mesh_provisioning_service_server.o mesh_provisioning_device.o
|
||||
${CC} $(filter-out mesh_provisioning_device.h,$^) ${CFLAGS} ${LDFLAGS} -o $@
|
||||
${CC} $(filter-out *.h,$^) ${CFLAGS} ${LDFLAGS} -o $@
|
||||
|
||||
mesh_proxy_server.h: mesh_proxy_server.gatt
|
||||
python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
|
||||
|
@ -52,6 +52,7 @@
|
||||
#include "provisioning_device.h"
|
||||
#include "mesh_transport.h"
|
||||
#include "mesh_foundation.h"
|
||||
#include "mesh.h"
|
||||
#include "btstack.h"
|
||||
#include "btstack_tlv.h"
|
||||
|
||||
@ -125,6 +126,11 @@ static void mesh_setup_from_provisioning_data(const mesh_provisioning_data_t * p
|
||||
mesh_provisioning_dump(provisioning_data);
|
||||
}
|
||||
|
||||
static void mesh_setup_without_provisiong_data(void){
|
||||
printf("Starting Unprovisioned Device Beacon\n");
|
||||
beacon_unprovisioned_device_start(device_uuid, 0);
|
||||
}
|
||||
|
||||
static mesh_transport_key_t test_application_key;
|
||||
|
||||
static void mesh_application_key_set(uint16_t netkey_index, uint16_t appkey_index, uint8_t aid, const uint8_t *application_key) {
|
||||
@ -217,8 +223,7 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
||||
if (prov_len){
|
||||
mesh_setup_from_provisioning_data(&provisioning_data);
|
||||
} else {
|
||||
printf("Starting Unprovisioned Device Beacon\n");
|
||||
beacon_unprovisioned_device_start(device_uuid, 0);
|
||||
mesh_setup_without_provisiong_data();
|
||||
}
|
||||
// load app keys
|
||||
mesh_load_app_keys();
|
||||
|
Loading…
x
Reference in New Issue
Block a user