diff --git a/example/Makefile.inc b/example/Makefile.inc index 1ea866d5f..6da8a5104 100644 --- a/example/Makefile.inc +++ b/example/Makefile.inc @@ -134,31 +134,35 @@ HXCMOD_PLAYER = \ nao-deceased_by_disease.c \ MESH = \ - mesh.c \ - mesh_access.c \ - mesh_configuration_server.c \ - mesh_foundation.c \ - mesh_keys.c \ - mesh_virtual_addresses.c \ - mesh_peer.c \ - mesh_proxy.c \ - provisioning.c \ - provisioning_device.c \ - provisioning_provisioner.c \ - mesh_generic_server.c \ - mesh_iv_index_seq_number.c \ adv_bearer.c \ beacon.c \ gatt_bearer.c \ + mesh.c \ + mesh_access.c \ + mesh_configuration_server.c \ mesh_crypto.c \ + mesh_foundation.c \ + mesh_generic_level_client.c \ + mesh_generic_level_server.c \ + mesh_generic_on_off_client.c \ + mesh_generic_on_off_server.c \ + mesh_health_server.c \ + mesh_iv_index_seq_number.c \ + mesh_keys.c \ mesh_lower_transport.c \ mesh_network.c \ mesh_node.c \ + mesh_peer.c \ + mesh_provisioning_service_server.c \ + mesh_proxy.c \ + mesh_proxy_service_server.c \ mesh_upper_transport.c \ + mesh_virtual_addresses.c \ pb_adv.c \ pb_gatt.c \ - mesh_provisioning_service_server.c \ - mesh_proxy_service_server.c \ + provisioning.c \ + provisioning_device.c \ + provisioning_provisioner.c \ # List of General Examples without Bluetooth diff --git a/src/btstack.h b/src/btstack.h index c8c3698ee..715da8559 100644 --- a/src/btstack.h +++ b/src/btstack.h @@ -131,6 +131,8 @@ #endif #ifdef ENABLE_MESH +#include "ble/gatt-service/mesh_provisioning_service_server.h" +#include "ble/gatt-service/mesh_proxy_service_server.h" #include "mesh/adv_bearer.h" #include "mesh/beacon.h" #include "mesh/gatt_bearer.h" @@ -139,11 +141,12 @@ #include "mesh/mesh_configuration_server.h" #include "mesh/mesh_crypto.h" #include "mesh/mesh_foundation.h" +#include "mesh/mesh_generic_level_client.h" +#include "mesh/mesh_generic_level_server.h" #include "mesh/mesh_generic_model.h" -#include "mesh/mesh_generic_server.h" -#include "mesh/mesh_iv_index_seq_number.h" -#include "mesh/mesh_lower_transport.h" -#include "mesh/mesh_peer.h" +#include "mesh/mesh_generic_on_off_client.h" +#include "mesh/mesh_generic_on_off_server.h" +#include "mesh/mesh_health_server.h" #include "mesh/mesh_proxy.h" #include "mesh/mesh_upper_transport.h" #include "mesh/mesh_virtual_addresses.h" @@ -151,6 +154,7 @@ #include "mesh/pb_gatt.h" #include "mesh/provisioning.h" #include "mesh/provisioning_device.h" +#include "mesh/provisioning_provisioner.h" #endif #endif // __BTSTACK_H diff --git a/src/mesh/mesh.c b/src/mesh/mesh.c index c1b4a25bc..53c97d747 100644 --- a/src/mesh/mesh.c +++ b/src/mesh/mesh.c @@ -56,7 +56,7 @@ #include "mesh/mesh_configuration_server.h" #include "mesh/mesh_foundation.h" #include "mesh/mesh_generic_model.h" -#include "mesh/mesh_generic_server.h" +#include "mesh/mesh_generic_on_off_server.h" #include "mesh/mesh_iv_index_seq_number.h" #include "mesh/mesh_lower_transport.h" #include "mesh/mesh_peer.h" diff --git a/src/mesh/mesh_generic_level_client.c b/src/mesh/mesh_generic_level_client.c index 0023a9521..58505253f 100644 --- a/src/mesh/mesh_generic_level_client.c +++ b/src/mesh/mesh_generic_level_client.c @@ -35,12 +35,12 @@ * */ -#define __BTSTACK_FILE__ "mesh_generic_client.c" +#define __BTSTACK_FILE__ "mesh_generic_level_client.c" #include #include -#include "mesh/mesh_generic_client.h" +#include "mesh/mesh_generic_level_client.h" #include "bluetooth_company_id.h" #include "btstack_debug.h" @@ -183,14 +183,14 @@ uint8_t mesh_generic_level_client_publish_level(mesh_model_t * mesh_model, int16 // Delta uint8_t mesh_generic_level_client_delta_set(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index, - uint16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ + int16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ return mesh_generic_level_client_set_value(mesh_model, &mesh_generic_delta_set_with_transition, &mesh_generic_delta_set_instantaneous, dest, netkey_index, appkey_index, delta_value, transition_time_gdtt, delay_time_gdtt, transaction_id, 1); } uint8_t mesh_generic_level_client_delta_set_unacknowledged(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index, - uint16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ + int16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ return mesh_generic_level_client_set_value(mesh_model, &mesh_generic_delta_set_unacknowledged_with_transition, &mesh_generic_delta_set_unacknowledged_instantaneous, dest, netkey_index, appkey_index, delta_value, transition_time_gdtt, delay_time_gdtt, transaction_id, 0); @@ -198,14 +198,14 @@ uint8_t mesh_generic_level_client_delta_set_unacknowledged(mesh_model_t * mesh_m // Move uint8_t mesh_generic_level_client_move_set(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index, - uint16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ + int16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ return mesh_generic_level_client_set_value(mesh_model, &mesh_generic_move_set_with_transition, &mesh_generic_move_set_instantaneous, dest, netkey_index, appkey_index, delta_value, transition_time_gdtt, delay_time_gdtt, transaction_id, 1); } uint8_t mesh_generic_level_client_move_set_unacknowledged(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index, - uint16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ + int16_t delta_value, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, uint8_t transaction_id){ return mesh_generic_level_client_set_value(mesh_model, &mesh_generic_move_set_unacknowledged_with_transition, &mesh_generic_move_set_unacknowledged_instantaneous, dest, netkey_index, appkey_index, delta_value, transition_time_gdtt, delay_time_gdtt, transaction_id, 0); diff --git a/src/mesh/mesh_generic_level_client.h b/src/mesh/mesh_generic_level_client.h index 811213a6f..7618cfc94 100644 --- a/src/mesh/mesh_generic_level_client.h +++ b/src/mesh/mesh_generic_level_client.h @@ -102,7 +102,7 @@ uint8_t mesh_generic_level_client_level_get(mesh_model_t *mesh_model, uint16_t d * @param transaction_id * @return status 0 if successful */ -void mesh_generic_level_client_publish_level(mesh_model_t * mesh_model, int16_t level_value, uint8_t transaction_id); +uint8_t mesh_generic_level_client_publish_level(mesh_model_t * mesh_model, int16_t level_value, uint8_t transaction_id); /** * @brief Set Level value diff --git a/src/mesh/mesh_generic_client.c b/src/mesh/mesh_generic_on_off_client.c similarity index 98% rename from src/mesh/mesh_generic_client.c rename to src/mesh/mesh_generic_on_off_client.c index a52c84ff9..e8b4131c7 100644 --- a/src/mesh/mesh_generic_client.c +++ b/src/mesh/mesh_generic_on_off_client.c @@ -35,9 +35,9 @@ * */ -#define __BTSTACK_FILE__ "mesh_generic_client.c" +#define __BTSTACK_FILE__ "mesh_generic_on_off_client.c" -#include "mesh/mesh_generic_client.h" +#include "mesh/mesh_generic_on_off_client.h" #include #include diff --git a/src/mesh/mesh_generic_client.h b/src/mesh/mesh_generic_on_off_client.h similarity index 98% rename from src/mesh/mesh_generic_client.h rename to src/mesh/mesh_generic_on_off_client.h index aa3d1a2bd..fcafcd6f2 100644 --- a/src/mesh/mesh_generic_client.h +++ b/src/mesh/mesh_generic_on_off_client.h @@ -35,8 +35,8 @@ * */ -#ifndef __MESH_GENERIC_CLIENT_H -#define __MESH_GENERIC_CLIENT_H +#ifndef __MESH_GENERIC_ON_OFF_CLIENT_H +#define __MESH_GENERIC_ON_OFF_CLIENT_H #include diff --git a/src/mesh/mesh_generic_server.c b/src/mesh/mesh_generic_on_off_server.c similarity index 99% rename from src/mesh/mesh_generic_server.c rename to src/mesh/mesh_generic_on_off_server.c index 52cb91c95..f7d271d00 100644 --- a/src/mesh/mesh_generic_server.c +++ b/src/mesh/mesh_generic_on_off_server.c @@ -35,7 +35,9 @@ * */ -#define __BTSTACK_FILE__ "mesh_generic_server.c" +#define __BTSTACK_FILE__ "mesh_generic_on_off_server.c" + +#include "mesh/mesh_generic_on_off_server.h" #include #include @@ -48,7 +50,6 @@ #include "mesh/mesh_access.h" #include "mesh/mesh_foundation.h" #include "mesh/mesh_generic_model.h" -#include "mesh/mesh_generic_server.h" #include "mesh/mesh_keys.h" #include "mesh/mesh_network.h" #include "mesh/mesh_upper_transport.h" diff --git a/src/mesh/mesh_generic_server.h b/src/mesh/mesh_generic_on_off_server.h similarity index 97% rename from src/mesh/mesh_generic_server.h rename to src/mesh/mesh_generic_on_off_server.h index b4ab14383..7c1cd7e7a 100644 --- a/src/mesh/mesh_generic_server.h +++ b/src/mesh/mesh_generic_on_off_server.h @@ -35,8 +35,8 @@ * */ -#ifndef __MESH_GENERIC_SERVER_H -#define __MESH_GENERIC_SERVER_H +#ifndef __MESH_GENERIC_ON_OFF_SERVER_H +#define __MESH_GENERIC_ON_OFF_SERVER_H #include diff --git a/src/mesh/mesh_health_server.c b/src/mesh/mesh_health_server.c index 4cd6ce2f1..b708ec524 100644 --- a/src/mesh/mesh_health_server.c +++ b/src/mesh/mesh_health_server.c @@ -35,7 +35,7 @@ * */ -#define __BTSTACK_FILE__ "mesh_generic_server.c" +#define __BTSTACK_FILE__ "mesh_health_server.c" #include #include @@ -48,9 +48,10 @@ #include "btstack_util.h" #include "mesh/mesh_access.h" +#include "mesh/mesh_node.h" #include "mesh/mesh_foundation.h" #include "mesh/mesh_generic_model.h" -#include "mesh/mesh_generic_server.h" +#include "mesh/mesh_generic_on_off_server.h" #include "mesh/mesh_keys.h" #include "mesh/mesh_network.h" #include "mesh/mesh_upper_transport.h" @@ -206,7 +207,7 @@ static mesh_pdu_t * health_fault_status(btstack_linked_list_t * faults, uint32_t } void mesh_health_server_report_test_done(uint16_t element_index, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index, uint8_t test_id, uint16_t company_id){ - mesh_element_t * element = mesh_element_for_index(element_index); + mesh_element_t * element = mesh_node_element_for_index(element_index); if (element == NULL) return; mesh_model_t * mesh_model = mesh_model_get_by_identifier(element, mesh_model_get_model_identifier_bluetooth_sig(MESH_SIG_MODEL_ID_HEALTH_SERVER)); @@ -248,5 +249,5 @@ void mesh_health_server_register_packet_handler(mesh_model_t *mesh_model, btsta log_error(" mesh_health_server_register_packet_handler called with NULL mesh_model"); return; } - mesh_model->model_packet_handler = &events_packet_handler; + mesh_model->model_packet_handler = events_packet_handler; } diff --git a/test/mesh/Makefile b/test/mesh/Makefile index b27eb0de1..0b8d49134 100644 --- a/test/mesh/Makefile +++ b/test/mesh/Makefile @@ -26,10 +26,12 @@ CORE += \ rijndael.c \ main.c \ + # examples include ${BTSTACK_ROOT}/example/Makefile.inc include ${BTSTACK_ROOT}/src/ble/gatt-service/Makefile.inc + CFLAGS += -g -DUNIT_TEST -Wall \ -I$(BTSTACK_ROOT)/platform/embedded \ -I$(BTSTACK_ROOT)/platform/posix \ @@ -55,7 +57,7 @@ LDFLAGS += $(shell pkg-config libusb-1.0 --libs) LDFLAGS += -lCppUTest -lCppUTestExt -mesh_pts: mesh_pts.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} pb_adv.o pb_gatt.o mesh_foundation.o mesh_provisioning_service_server.o mesh_crypto.o provisioning_device.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_upper_transport.o mesh_virtual_addresses.o mesh_keys.o mesh_proxy.o mesh_access.o mesh_configuration_server.o mesh_generic_server.o mesh_generic_level_server.o mesh_generic_client.o mesh_generic_level_client.o mesh_health_server.o mesh.o mesh_pts.o +mesh_pts: mesh_pts.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} ${MESH_OBJ} mesh_pts.o ${CC} $(filter-out mesh_pts.h,$^) ${CFLAGS} ${LDFLAGS} -o $@ provisioner: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${SM_OBJ} pb_adv.o mesh_crypto.o provisioning_provisioner.o mesh_keys.o mesh_foundation.o mesh_network.o provisioner.o