The official demo of AoA/AoD shows an error about cte_report_cb

I got an error while building the direction finding demo In nRF Connect:

../src/main.c:254:10: error: 'const struct bt_conn_cb' has no member named 'cte_report_cb'
254 | .cte_report_cb = cte_recv_cb,
| ^~~~~~~~~~~~~
../src/main.c:254:26: warning: initialization of '_Bool (*)(struct bt_conn *, struct bt_le_conn_param *)' from incompatible pointer type 'void (*)(struct bt_conn *, const struct bt_df_conn_iq_samples_report *)' [-Wincompatible-pointer-types]
254 | .cte_report_cb = cte_recv_cb,
| ^~~~~~~~~~~
../src/main.c:254:26: note: (near initialization for 'bt_conn_cb_conn_callbacks.le_param_req')
[27/118] Building C object zephyr/subsys/bluetooth/host/CMakeFiles/subsys__bluetooth__host.dir/hci_core.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\c57af46cb7\opt\bin\cmake.EXE' --build 'd:\AoAAoD\direction_finding_central\build'

* The terminal process terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.

In VSCode:

I found two similar problems in Nordic DevZone, but it doesn't seem to be solved:

Direction_finding_central test

Problems building Direction_finding_central sample

Other than that, I didn't find any helpful posts using Google.


I am a beginner in BLE and just finished the basic Bluetooth course in Nordic a few days ago. So, I don't think I had any problems with my environment, In that I was able to run all the demos In Bluetooth Low Energy Fundamentals.


I directly built the demo named direction finding central without any modification, because I did not see any information in the document that necessary to be changed to build successfully. Note that I just built it, it doesn't involve flash, so I don't think it's hardware related.


In contrast, the associated demo called direction finding peripheral was build successfully without any modification.


My operating system is Windows 10.
My nRF Connect SDK is v2.5.1.in VSCode.
My Zephyr version: 3.4.99

I don't know if this is an official Sample Bug, because I'm just getting started with embedded development. Is there any information that can help me?

Parents
  • Hi

    2. Check out the documentation page for CONFIG_BT_DF_CONNECTIONLESS_CTE_RX and make sure all the dependencies for it is in place, as it depends on some other configs to be enabled correctly. Also, it could be overwritten in a .overlay file on your end, but that shouldn't be it for just a sample project.

    3. Okay, what do you mean by that you need both the AoA and AoD values for your application? Direction Finding is usually based on either AoA or AoD, as it depends on whether the central or beacon should have the antenna array. If you want to implement both, then both devices will need an antenna array. But I don't see the use case for that to be honest.

    Best regards,

    Simon

Reply
  • Hi

    2. Check out the documentation page for CONFIG_BT_DF_CONNECTIONLESS_CTE_RX and make sure all the dependencies for it is in place, as it depends on some other configs to be enabled correctly. Also, it could be overwritten in a .overlay file on your end, but that shouldn't be it for just a sample project.

    3. Okay, what do you mean by that you need both the AoA and AoD values for your application? Direction Finding is usually based on either AoA or AoD, as it depends on whether the central or beacon should have the antenna array. If you want to implement both, then both devices will need an antenna array. But I don't see the use case for that to be honest.

    Best regards,

    Simon

Children
  • Hi again,

    2. I noticed the missing dependencies earlier, so I added the following code to prj.conf:

    CONFIG_BT_HCI=y
    CONFIG_BT_CTLR=y
    CONFIG_BT_CTLR_DF_CTE_RX_SUPPORT=y
    CONFIG_BT_HCI_HOST=y
    CONFIG_BT_RPC_STACK=y

    However, it showed me the following error:

    CONFIG_BT_CTLR_DF_CTE_RX_SUPPORT was assigned the value y, but got the value n. Missing dependencies:
    BT_HCI
    
    Symbol CONFIG_BT_HCI_HOST cannot be set (has no prompt)

    Today I tried creating a new overlay, but the result was the same as adding these codes directly into the prj.conf, and it didn't work.

    Yes, I agree that shouldn't be it for just a sample project. All I want to do is successfully run this sample and obtain the IQ. I built this sample today on another PC with Mac OS, but the errors encountered during the build process are the same as in this case on Windows10.

    3. Yes, haha, our requirement is a little bit uncommon because we only need AoA and AoD and we don't do direction finding. We only need the central device to have an antenna array because we only need AoA from the central device and AoD from the tag. 

    Thanks for your relpy!

    Yours,

    Zihao

Related