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

Error while porting library to ATmel studio

I'm getting Error 7 too few arguments to function 'lib_aci_set_local_data' C:\Users\nishant\Documents\Atmel Studio\6.2\ATmega_AdafruitLIB_nRF8001\ATmega_adafruitLIB_nRF8001\utility\uart\services.c 47 3 ATmega_adafruitLIB_nRF8001 and

Error 11 too few arguments to function 'lib_aci_is_pipe_available' C:\Users\nishant\Documents\Atmel Studio\6.2\ATmega_AdafruitLIB_nRF8001\ATmega_adafruitLIB_nRF8001\utility\uart\services.c 59 3 ATmega_adafruitLIB_nRF8001

while trying to compile the code(arduino SDK for arduino) that I ported to ATmel studio.

I looked in services.c and lib_ac.h and lib_aci.cpp and see that the arguments are less in count, 3 in place of 4! so that's why the error BUT the same library is compiling for in the arduino IDE , why is it so?

Parents
  • It looks as if the Adafruit library is based on the earlier version of the nRF8001 SDK or that you generated the services.c file and it actually not used in the project.

    You can just delete the services.c file and check the build or you can build the github.com/.../ble_uart_project_template, this should work well with Atmel studio.

    The most likely reason for this issue is that the Arduino IDE may not have the flags that do these checks i.e. number of parameters in the function when compiling, while Atmel studio is more strict on that.

  • Yes ,I took that too and was able to compile successfully had to do a lot of changes ,it compiled, I loaded the code but then it didn't initialise the nRF8001 at all and my app couldn't see it?

    can that be because of characteristics, I think no because the much i understand ,your apps needs to match characteristics in the XML file to communicate but if the characterictics UUID is different then atleast the app should be able to get device's name and address in the UUID?

Reply
  • Yes ,I took that too and was able to compile successfully had to do a lot of changes ,it compiled, I loaded the code but then it didn't initialise the nRF8001 at all and my app couldn't see it?

    can that be because of characteristics, I think no because the much i understand ,your apps needs to match characteristics in the XML file to communicate but if the characterictics UUID is different then atleast the app should be able to get device's name and address in the UUID?

Children
No Data
Related