This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SDK for Mesh 2.1.1 thingy52-mesh-provisioning-demo

I am trying to get the thingy52-mesh-provisioning-demo to work with the SDK for mesh 2.1.1 and nRF5_SDK_15.0.0_a53641a.

I am using the Segger Embedded studio project from the github download.

I could not get the files to compile In the SDKpatch directory so I Used the files from the SDK for Mesh 2.1.1.

The files now compile but I am getting linker errors .    

Any Idea when the example will be Upgraded to SDK for Mesh 2.1.1 ?

Parents
  • I can build the example with SDK for Mesh 2.0.1

    I have to use the files from the SDK not the SDKpatch folder to get it to compile in SDK 2.1.1

    But SDK 2.1.1 gives the following linker erros

    Building 'light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0' from solution 'light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0' in configuration 'Debug'
    Linking light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0.elf
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/core_tx_adv.o: In function `core_tx_adv_tx_power_set':
    undefined reference to `advertiser_tx_power_set'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/access.o: In function `packet_tx':
    undefined reference to `is_access_loopback'
    undefined reference to `access_loopback_handle'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/access.o: In function `access_init':
    undefined reference to `access_loopback_init'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `prepare_last_tx':
    undefined reference to `mesh_pa_lna_setup_stop'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `broadcast_start':
    undefined reference to `mesh_pa_setup_start'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `end_action':
    undefined reference to `mesh_pa_lna_cleanup'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `radio_irq_handler':
    undefined reference to `mesh_pa_lna_disable_start'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `radio_stop':
    undefined reference to `mesh_pa_lna_cleanup'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `radio_start':
    undefined reference to `mesh_lna_setup_start'
    undefined reference to `mesh_pa_lna_setup_stop'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `scanner_timer_irq_handler':
    undefined reference to `mesh_pa_lna_disable_start'
    Build failed

  • Hi Jay, 


    Have you made sure those .c file (advertiser.c, mesh_adv.c netowork.c, etc) has been referred in your project to the one in SDK v2.1.1 instead of the files in SDKPatch ?

    Suggest to remove those files in SDKPatch, except for sx150x_led_drv_calc.c

  • Rebuilding 'light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0' from solution 'light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0' in configuration 'Debug'
    Compiling 'main.c'
    "SLAVE_LATENCY" redefined
    m_ble.h
    m_ui.h
    main.c
    this is the location of the previous definition
    Compiling 'rtt_input.c'
    Compiling 'mesh_app_utils.c'
    Compiling 'nrf_mesh_weak.c'
    Compiling 'app_error_weak.c'
    Compiling 'nrf_mesh_prov_bearer_gatt.c'
    Compiling 'mesh_provisionee.c'
    In function ?prov_evt_handler?:
    passing argument 1 of ‘m_params.auth_output_cb’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    expected ‘uint8_t * {aka unsigned char *}’ but argument is of type ‘const uint8_t * const {aka const unsigned char * const}’
    Compiling 'assertion_handler_weak.c'
    Compiling 'mesh_adv.c'
    Compiling 'network.c'
    Compiling 'proxy.c'
    Compiling 'sx150x_led_drv_calc.c'
    Compiling 'internal_event.c'
    Compiling 'nrf_mesh_configure.c'
    Compiling 'advertiser.c'
    Compiling 'aes.c'
    Compiling 'msg_cache.c'
    Compiling 'flash_manager_defrag.c'
    Compiling 'packet_buffer.c'
    Compiling 'event.c'
    Compiling 'transport.c'
    Compiling 'fifo.c'
    Compiling 'nrf_flash.c'
    Compiling 'net_state.c'
    Compiling 'packet_mgr.c'
    Compiling 'mesh_flash.c'
    Compiling 'nrf_mesh_utils.c'
    Compiling 'nrf_mesh.c'
    Compiling 'queue.c'
    Compiling 'hal.c'
    Compiling 'timer.c'
    Compiling 'ticker.c'
    Compiling 'timer_scheduler.c'
    Compiling 'rand.c'
    Compiling 'aes_cmac.c'
    Compiling 'nrf_mesh_opt.c'
    Compiling 'timeslot.c'
    Compiling 'bearer_event.c'
    Compiling 'enc.c'
    Compiling 'net_packet.c'
    Compiling 'nrf_mesh_keygen.c'
    Compiling 'msqueue.c'
    Compiling 'cache.c'
    Compiling 'uri.c'
    Compiling 'log.c'
    Compiling 'flash_manager.c'
    Compiling 'list.c'
    Compiling 'ccm_soft.c'
    Compiling 'replay_cache.c'
    Compiling 'flash_manager_internal.c'
    Compiling 'beacon.c'
    Compiling 'toolchain.c'
    Compiling 'heartbeat.c'
    Compiling 'net_beacon.c'
    Compiling 'core_tx.c'
    Compiling 'fsm.c'
    Compiling 'mesh_stack.c'
    Compiling 'access.c'
    Compiling 'access_publish.c'
    Assembling 'thumb_crt0.s'
    Compiling 'proxy_filter.c'
    Compiling 'mesh_gatt.c'
    Compiling 'core_tx_adv.c'
    Compiling 'device_state_manager.c'
    Compiling 'access_reliable.c'
    Compiling 'ad_listener.c'
    Compiling 'ad_type_filter.c'
    Compiling 'bearer_handler.c'
    Compiling 'adv_packet_filter.c'
    Compiling 'broadcast.c'
    Compiling 'gap_address_filter.c'
    Compiling 'filter_engine.c'
    Compiling 'rssi_filter.c'
    Compiling 'SEGGER_RTT.c'
    Compiling 'scanner.c'
    Compiling 'radio_config.c'
    Compiling 'SEGGER_RTT_printf.c'
    Compiling 'uECC.c'
    Compiling 'app_util_platform.c'
    Compiling 'ble_advdata.c'
    Compiling 'nrf_sdh.c'
    Compiling 'nrf_section_iter.c'
    Compiling 'nrf_sdh_ble.c'
    Compiling 'system_nrf52.c'
    Compiling 'nrf_sdh_soc.c'
    Compiling 'app_error_handler_gcc.c'
    Compiling 'app_error.c'
    Assembling 'ses_nRF_Startup.s'
    Compiling 'prov_provisionee.c'
    Assembling 'ses_nrf52_Vectors.s'
    Compiling 'provisioning.c'
    Compiling 'nrf_mesh_prov.c'
    Compiling 'prov_beacon.c'
    Compiling 'prov_bearer_adv.c'
    Compiling 'prov_utils.c'
    Compiling 'packed_index_list.c'
    Compiling 'health_server.c'
    Compiling 'config_server.c'
    Compiling 'composition_data.c'
    Compiling 'drv_ext_light.c'
    Compiling 'generic_on_off_server.c'
    Compiling 'generic_on_off_client.c'
    Compiling 'drv_sx1509.c'
    Compiling 'twi_manager.c'
    Compiling 'app_timer.c'
    Compiling 'nrf_strerror.c'
    Compiling 'nrf_drv_twi.c'
    nrf_drv_twi.c
    "INTERRUPT_PRIORITY_IS_VALID" redefined
    nrfx.h
    nrf_twi.h
    nrf_drv_twi.h
    nrf_drv_twi.c
    this is the location of the previous definition
    Compiling 'nrf_log_frontend.c'
    Compiling 'nrf_drv_common.c'
    Compiling 'support_func.c'
    Compiling 'nrf_log_backend_serial.c'
    Compiling 'drv_ext_gpio.c'
    Generating linker script 'light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0.ld'
    Linking light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0.elf
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/access.o: In function `packet_tx':
    undefined reference to `is_access_loopback'
    undefined reference to `access_loopback_handle'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/access.o: In function `access_init':
    undefined reference to `access_loopback_init'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `prepare_last_tx':
    undefined reference to `mesh_pa_lna_setup_stop'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `broadcast_start':
    undefined reference to `mesh_pa_setup_start'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `end_action':
    undefined reference to `mesh_pa_lna_cleanup'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/broadcast.o: In function `radio_irq_handler':
    undefined reference to `mesh_pa_lna_disable_start'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `radio_stop':
    undefined reference to `mesh_pa_lna_cleanup'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `radio_start':
    undefined reference to `mesh_lna_setup_start'
    undefined reference to `mesh_pa_lna_setup_stop'
    build/light_switch_proxy_server_nrf52832_xxAA_s132_6.0.0_Debug/obj/scanner.o: In function `scanner_timer_irq_handler':
    undefined reference to `mesh_pa_lna_disable_start'
    Build failed

  • I was able to get it working.

    I had to add access_loopback.c and mesh_pa_lna.c to the project.

Reply Children
Related