diff --git a/CMakePresets.json b/CMakePresets.json index bb08148..f4c52b6 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -5,34 +5,6 @@ "minor": 20 }, "configurePresets": [ - { - "name": "build_bl54_radio0", - "displayName": "Build for nRF54l15 DK nRF54l15 Application", - "generator": "Ninja", - "binaryDir": "${sourceDir}/build_bl54_radio0", - "cacheVariables": { - "NCS_TOOLCHAIN_VERSION": "NONE", - "BOARD": "nrf54l15dk/nrf54l15/cpuapp", - "EXTRA_CONF_FILE": "iso.conf;internal_osc.conf", - "CONF_FILE": "prj.conf", - "DTC_OVERLAY_FILE": "bl54l15_radio0_new.overlay", - "BOARD_ROOT": "${sourceDir}/" - } - }, - { - "name": "build_bl54_radio1", - "displayName": "Build for nRF54l15 DK nRF54l15 Application", - "generator": "Ninja", - "binaryDir": "${sourceDir}/build_bl54_radio1", - "cacheVariables": { - "NCS_TOOLCHAIN_VERSION": "NONE", - "BOARD": "nrf54l15dk/nrf54l15/cpuapp", - "EXTRA_CONF_FILE": "iso.conf;internal_osc.conf", - "CONF_FILE": "prj.conf", - "DTC_OVERLAY_FILE": "bl54l15_radio1.overlay", - "BOARD_ROOT": "${sourceDir}/" - } - }, { "name": "build_nrf54_radio0_radio1", "displayName": "Build for nRF54l15 DK nRF54l15 Application", @@ -41,7 +13,7 @@ "cacheVariables": { "NCS_TOOLCHAIN_VERSION": "NONE", "BOARD": "nrf54l15dk/nrf54l15/cpuapp", - "EXTRA_CONF_FILE": "iso.conf;internal_osc.conf", + "EXTRA_CONF_FILE": "iso.conf;internal_osc.conf;lfxo.conf", "CONF_FILE": "prj.conf", "DTC_OVERLAY_FILE": "bl54l15_radio0_radio1.overlay" } diff --git a/ai_stuff/agents.md b/ai_stuff/agents.md new file mode 100644 index 0000000..24f45d5 --- /dev/null +++ b/ai_stuff/agents.md @@ -0,0 +1,22 @@ +Complete hci_uart_beacon build/flash/reset/UART workflow (user-provided commands): + +# 1. Build +cd /home/paul/ncs/v3.0.2 && nrfutil toolchain-manager launch --ncs-version v3.0.2 -- west build --build-dir /home/paul/Documents/hci_uart_beacon/build /home/paul/Documents/hci_uart_beacon --board nrf54l15dk/nrf54l15/cpuapp + +# 2. Flash +cd /home/paul/ncs/v3.0.2 && nrfutil toolchain-manager launch --ncs-version v3.0.2 -- west flash --build-dir /home/paul/Documents/hci_uart_beacon/build + +# 3. Reset device +nrfutil device reset --serial-number 1050076061 + +# 4. UART capture (30s timeout) +timeout 30 minicom --device /dev/serial/by-id/usb-FTDI_C232HM-DDHSL-0_FTUD2ZB4-if00-port0 --baudrate 1000000 + +Notes: +- Use nrfutil toolchain-manager launch wrapper for NCS v3.0.2 +- Board: nrf54l15dk/nrf54l15/cpuapp for nRF54L15 +- Serial number for reset: 1050076061 +- UART device: /dev/serial/by-id/usb-FTDI_C232HM-DDHSL-0_FTUD2ZB4-if00-port0 +- Baudrate: 1000000 (matches UART configuration) +- Timeout 30s on minicom to auto-exit +- Start the UART and directly after that reset, to get the output \ No newline at end of file diff --git a/bl54l15_radio0.overlay b/bl54l15_radio0.overlay deleted file mode 100644 index 2a662cd..0000000 --- a/bl54l15_radio0.overlay +++ /dev/null @@ -1,43 +0,0 @@ -&uart20 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <1000000>; - hw-flow-control; -}; - -&pinctrl { - uart20_default: uart20_default { - group1 { - psels = , - ; - }; - group2 { - psels = , - ; - bias-pull-up; - }; - }; - - uart20_sleep: uart20_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -/ { - chosen { - //zephyr,console = &uart20; - //zephyr,shell-uart = &uart20; - //zephyr,uart-mcumgr = &uart0; - //zephyr,bt-mon-uart = &uart0; - zephyr,bt-c2h-uart = &uart20; - }; -}; -&power { - status = "okay"; -}; \ No newline at end of file diff --git a/bl54l15_radio0_new.overlay b/bl54l15_radio0_new.overlay deleted file mode 100644 index 20e3da4..0000000 --- a/bl54l15_radio0_new.overlay +++ /dev/null @@ -1,44 +0,0 @@ -&uart20 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <1000000>; - hw-flow-control; -}; - - -&pinctrl { - uart20_default: uart20_default { - group1 { - psels = , - ; - }; - group2 { - psels = , - ; - bias-pull-up; - }; - }; - - uart20_sleep: uart20_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -/ { - chosen { - //zephyr,console = &uart20; - //zephyr,shell-uart = &uart20; - //zephyr,uart-mcumgr = &uart0; - //zephyr,bt-mon-uart = &uart0; - zephyr,bt-c2h-uart = &uart20; - }; -}; -&power { - status = "okay"; -}; \ No newline at end of file diff --git a/bl54l15_radio0_radio1.overlay b/bl54l15_radio0_radio1.overlay index ebca968..9c65a87 100644 --- a/bl54l15_radio0_radio1.overlay +++ b/bl54l15_radio0_radio1.overlay @@ -1,3 +1,10 @@ +&lfxo { + status = "okay"; + clock-frequency = <32768>; + load-capacitors = "internal"; + load-capacitance-femtofarad = <7000>; +}; + &uart20 { compatible = "nordic,nrf-uarte"; status = "okay"; diff --git a/bl54l15_radio1.overlay b/bl54l15_radio1.overlay deleted file mode 100644 index 2109160..0000000 --- a/bl54l15_radio1.overlay +++ /dev/null @@ -1,43 +0,0 @@ -&uart20 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <1000000>; - hw-flow-control; -}; - -&pinctrl { - uart20_default: uart20_default { - group1 { - psels = , - ; - }; - group2 { - psels = , - ; - bias-pull-up; - }; - }; - - uart20_sleep: uart20_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -/ { - chosen { - //zephyr,console = &uart20; - //zephyr,shell-uart = &uart20; - //zephyr,uart-mcumgr = &uart0; - //zephyr,bt-mon-uart = &uart0; - zephyr,bt-c2h-uart = &uart20; - }; -}; -&power { - status = "okay"; -}; \ No newline at end of file diff --git a/bl654pa_gpio_uart.overlay b/bl654pa_gpio_uart.overlay deleted file mode 100644 index 00e6fd0..0000000 --- a/bl654pa_gpio_uart.overlay +++ /dev/null @@ -1,58 +0,0 @@ -&uart0 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <1000000>; //<115200>; - hw-flow-control; -}; - - -&pinctrl { - uart0_default: uart0_default { - group1 { - psels = , // SIO6 - ; //SIO5 - }; - group2 { - psels = , //SIO8 - ; //SIO7 - bias-pull-up; - }; - }; - - uart0_sleep: uart0_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -/ { - chosen { - //zephyr,console = &uart0; - //zephyr,shell-uart = &uart0; - //zephyr,uart-mcumgr = &uart0; - //zephyr,bt-mon-uart = &uart0; - zephyr,bt-c2h-uart = &uart0; - }; -}; - -/ { - /* Information from Nordic SDK-Based Application Development and SKY66112 datasheet */ - nrf_radio_fem: fem { // node needs to be named nrf_radio_fem for the build system to pull in the nececcarry configs - compatible = "generic-fem-two-ctrl-pins"; - ctx-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; - crx-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; - ctx-settle-time-us = <23>; - crx-settle-time-us = <5>; - tx-gain-db = <22>; - rx-gain-db = <11>; - }; -}; - -&radio { - fem = <&nrf_radio_fem>; -}; diff --git a/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index 7613ab8..fa92d38 100644 --- a/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -4,6 +4,13 @@ * SPDX-License-Identifier: Apache-2.0 */ +&lfxo { + status = "okay"; + clock-frequency = <32768>; + load-capacitors = "internal"; + load-capacitance-femtofarad = <7000>; +}; + &uart20 { compatible = "nordic,nrf-uarte"; current-speed = <1000000>; diff --git a/hci.code-workspace b/hci.code-workspace deleted file mode 100644 index d2b5f98..0000000 --- a/hci.code-workspace +++ /dev/null @@ -1,11 +0,0 @@ -{ - "folders": [ - { - "path": "../echo_bot" - }, - { - "path": "." - } - ], - "settings": {} -} \ No newline at end of file diff --git a/lfxo.conf b/lfxo.conf new file mode 100644 index 0000000..ae374c2 --- /dev/null +++ b/lfxo.conf @@ -0,0 +1,4 @@ +CONFIG_CLOCK_CONTROL=y +CONFIG_CLOCK_CONTROL_NRF=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n diff --git a/nrf52840_gpio_uart.overlay b/nrf52840_gpio_uart.overlay deleted file mode 100644 index bfdc3af..0000000 --- a/nrf52840_gpio_uart.overlay +++ /dev/null @@ -1,17 +0,0 @@ -&uart0 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <1000000>; - hw-flow-control; -}; - - -/ { - chosen { - // zephyr,console = &uart0; - // zephyr,shell-uart = &uart0; - // zephyr,uart-mcumgr = &uart0; - // zephyr,bt-mon-uart = &uart0; - zephyr,bt-c2h-uart = &uart0; // make uart0 the hci interfac - }; -}; \ No newline at end of file diff --git a/overlay-all-bt_ll_sw_split.conf b/overlay-all-bt_ll_sw_split.conf deleted file mode 100644 index 8d6dbdd..0000000 --- a/overlay-all-bt_ll_sw_split.conf +++ /dev/null @@ -1,109 +0,0 @@ -CONFIG_BT_BUF_EVT_RX_COUNT=16 - -CONFIG_BT_BUF_EVT_RX_SIZE=255 -CONFIG_BT_BUF_ACL_RX_SIZE=255 -CONFIG_BT_BUF_ACL_TX_SIZE=251 -CONFIG_BT_BUF_CMD_TX_SIZE=255 - -# Host and Controller common dependencies -CONFIG_BT_EXT_ADV=y -CONFIG_BT_PER_ADV=y -CONFIG_BT_PER_ADV_SYNC=y -CONFIG_BT_PER_ADV_SYNC_MAX=2 - -# Broadcast and Connected ISO -CONFIG_BT_ISO_BROADCASTER=y -CONFIG_BT_ISO_SYNC_RECEIVER=y -CONFIG_BT_ISO_CENTRAL=y -CONFIG_BT_ISO_PERIPHERAL=y - -# ISO Streams -CONFIG_BT_ISO_MAX_CHAN=2 - -# Controller -CONFIG_BT_LL_SW_SPLIT=y -CONFIG_BT_CTLR_ASSERT_HANDLER=y -CONFIG_BT_CTLR_DTM_HCI=y - -# Rx ACL and Adv Reports -CONFIG_BT_CTLR_RX_BUFFERS=9 -CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 - -# Coded PHY support -CONFIG_BT_CTLR_PHY_CODED=y - -# Advertising Sets and Extended Scanning -CONFIG_BT_CTLR_ADV_EXT=y -CONFIG_BT_CTLR_ADV_SET=3 -CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191 -CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650 - -CONFIG_BT_CTLR_ADVANCED_FEATURES=y -CONFIG_BT_CTLR_ADV_AUX_SET=3 -CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK=y -CONFIG_BT_CTLR_ADV_SYNC_SET=3 -CONFIG_BT_CTLR_ADV_SYNC_PDU_BACK2BACK=y -CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=6 - -# Increase the below to receive interleaved advertising chains -CONFIG_BT_CTLR_SCAN_AUX_SET=1 - -CONFIG_BT_CTLR_ADV_RESERVE_MAX=n -CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n -CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n -CONFIG_BT_CTLR_SCAN_UNRESERVED=y -CONFIG_BT_TICKER_NEXT_SLOT_GET_MATCH=y -CONFIG_BT_TICKER_EXT=y -CONFIG_BT_TICKER_EXT_SLOT_WINDOW_YIELD=y - -# Control Procedure -CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6 - -# Direction Finding -CONFIG_BT_CTLR_DF=y -CONFIG_BT_CTLR_DF_PER_ADV_CTE_NUM_MAX=3 -CONFIG_BT_CTLR_DF_PER_SCAN_CTE_NUM_MAX=3 - -# Direction Finding Tx -CONFIG_BT_CTLR_DF_CTE_TX=y -CONFIG_BT_CTLR_DF_CONN_CTE_TX=y -CONFIG_BT_CTLR_DF_ANT_SWITCH_TX=y -CONFIG_BT_CTLR_DF_CONN_CTE_RSP=y - -# Direction Finding Rx -CONFIG_BT_CTLR_DF_CTE_RX=y -CONFIG_BT_CTLR_DF_CONN_CTE_RX=y -CONFIG_BT_CTLR_DF_ANT_SWITCH_RX=y -CONFIG_BT_CTLR_DF_CONN_CTE_REQ=y - -# ISO Broadcaster Controller -CONFIG_BT_CTLR_ADV_EXT=y -CONFIG_BT_CTLR_ADV_PERIODIC=y -CONFIG_BT_CTLR_ADV_ISO=y -CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247 -CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2 - -# ISO Receive Controller -CONFIG_BT_CTLR_ADV_EXT=y -CONFIG_BT_CTLR_SYNC_PERIODIC=y -CONFIG_BT_CTLR_SYNC_ISO=y -CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 -CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2 - -# ISO Connection Oriented -CONFIG_BT_CTLR_CENTRAL_ISO=y -CONFIG_BT_CTLR_PERIPHERAL_ISO=y -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 -CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 - -# ISO Transmissions -CONFIG_BT_CTLR_ISO_TX_BUFFERS=8 -CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 -CONFIG_BT_CTLR_ISOAL_SOURCES=2 - -# ISO Receptions -CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 -CONFIG_BT_CTLR_ISOAL_SINKS=2 - -# Tx Power Dynamic Control -CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y diff --git a/prj.conf b/prj.conf index 0ad4858..986dae0 100644 --- a/prj.conf +++ b/prj.conf @@ -4,6 +4,11 @@ CONFIG_UART_CONSOLE=n CONFIG_GPIO=y CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y + +CONFIG_CLOCK_CONTROL=y +CONFIG_CLOCK_CONTROL_NRF=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n CONFIG_BT=y CONFIG_BT_CTLR=y CONFIG_BT_LL_SOFTDEVICE=y