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

Beacon and rtc combination errors

I have an issue with the NRF beacon code combining with the NRF rtc code.

I want to set up a bluetooth advertisement with an incrementing value. Therefore, want a timer function to increment a variable e.g. an Int.

I have got the beacon code to work fine and broadcast an advertisement with my specified "fixed data".

I now need to make one of these values change and want to do that Via a timer to increment one of them.

When i follow https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/application-timer-tutorial I get a whole host of errors see below:

I don't know what I am doing wrong.

Building ‘ble_app_beacon_pca10056_s140’ from solution ‘ble_app_beacon_pca10056_s140’ in configuration ‘Release’
Linking ble_app_beacon_pca10056_s140.elf
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `RTC1_IRQHandler':
multiple definition of `RTC1_IRQHandler'; Output/ble_app_beacon_pca10056_s140 Release/Obj/drv_rtc.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/drv_rtc.c:349: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_init':
multiple definition of `app_timer_init'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:525: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_create':
multiple definition of `app_timer_create'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:561: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_start':
multiple definition of `app_timer_start'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:573: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_stop':
multiple definition of `app_timer_stop'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:598: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_stop_all':
multiple definition of `app_timer_stop_all'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:606: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `rtc1_counter_get':
multiple definition of `app_timer_cnt_get'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:626: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `ticks_diff_get':
multiple definition of `app_timer_cnt_diff_compute'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:621: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_pause':
multiple definition of `app_timer_pause'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:631: first defined here
Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer.o: in function `app_timer_resume':
multiple definition of `app_timer_resume'; Output/ble_app_beacon_pca10056_s140 Release/Obj/app_timer2.o:C:\Users\Thomas\Documents\Segger Projects\DeviceDownload\components\libraries\timer/app_timer2.c:636: first defined here
Build failed

  • It seems like there is a collision between the source files nRF5_SDK_15.3.0_59ac345\components\libraries\timer\app_timer.c and nRF5_SDK_15.3.0_59ac345\components\libraries\timer\experimental\app_timer2.c. 

    • Remove the files app_timer2.c and drv_rtc.c from the Project Explorer window and remove nRF5_SDK_15.3.0_59ac345\components\libraries\timer\experimental from paths
    • Add app_timer.c to the Project Explorer window and nRF5_SDK_15.3.0_59ac345\components\libraries\timer to paths

    Best regards,

    Simon

Related