0 results found on Nordicsemi
All results111807 results found on DevZone
Hi! I have multiple peripherals and centrals that I want to manage connections to. From the peripherals perspective, Is there a way to filter which centrals can connect to the peripheral by name? Eg - peripheral A can connect to central 1 or central 2. If switch is engaged, only allow central 1, if switch is disengaged, only allow central 2. I tried searching but keep finding the opposite, which is easy! Thanks
forum
2/16/2025
Hello, i'm considering an application using nRF52840 in following configuration: - I2S RX would be connected to some external I2S source (I2S slave) - I2S TX would be connected to an audio DAC (I2S slave) - In one mode, nRF52840 would act as a bluetooth audio sink, passing received bluetooth audio data to a DAC - In another mode, nRF52840 would receive I2S audio data from I2S RX and pass it immediately to I2S TX, also to a DAC - Occasionally i would like to be able to mix in some sound into an audio stream (in both modes) to play a chime, some informational sound or some voice information Would such an application be possible with nRF52840? Would it be possible to have two different IC's connected to I2S RX and TX lines, providing both IC's are I2S slaves using clocks from nRF52840? Thank you
forum
2/15/2025
Hi guys, I am using the SDK v2.9.0 and the toolchains b620d30767. To add the build configuration for the sample peripheral_uart, the console print some error log.The log as below: uilding peripheral_uart -- west build: generating a build system Loading Zephyr module(s) (Zephyr base): sysbuild_default -- Found Python3: C:/ncs/toolchains/b620d30767/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter -- Cache files will be written to: C:/ncs/v2.9.0/zephyr/.cache -- Found west (found suitable version "1.2.0", minimum required is "0.14.0") CMake Error at C:/ncs/v2.9.0/zephyr/cmake/modules/boards.cmake:196 (message): Error finding board: nrf52833dk Error message: Traceback (most recent call last): File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 469, in dump_v2_boards(args) File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 416, in dump_v2_boards boards = find_v2_boards(args) ^^^^^^^^^^^^^^^^^^^^ File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 341, in find_v2_boards b, e = load_v2_boards(args.board, board_yml, systems) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 230, in load_v2_boards b = yaml.load(f.read(), Loader=SafeLoader) ^^^^^^^^ UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 46: illegal multibyte sequence Call Stack
forum
2/15/2025
When I was developing a keyboard using the nRF52840 with the NCS SDK, I found that the keyboard couldn't type on macOS when connected via USB or BLE. However, it worked perfectly on Windows and Android. I tried modifying the CONFIG_DESKTOP_DEVICE_VID and CONFIG_DESKTOP_DEVICE_PID to Apple's IDs, but it still didn't work. Could you help me solve this problem?
forum
2/15/2025
I am trying to send data from icm20948 sensor from the sensor node to the observer node using ble mesh. Due to the data from icm20948 is too large (9 uint16_t, 18bytes) for the given sensor types from nordic sample, so I created a custom sensor server to send them. The sensor server structure looks like this: static const struct bt_mesh_sensor_channel people_count_sensor_channels[] = { { .format = &bt_mesh_sensor_format_count_16, .name = "channel_1", }, { .format = &bt_mesh_sensor_format_count_16, .name = "channel_2", }, { .format = &bt_mesh_sensor_format_count_16, .name = "channel_3", }, }; static const struct bt_mesh_sensor_type icm20948_sensor_type_accel = { .id = BT_MESH_PROP_ID_CUSTOM_ICM20948_ACCEL, .channel_count = 3, .channels = people_count_sensor_channels, }; static const struct bt_mesh_sensor_type icm20948_sensor_type_gyro = { .id = BT_MESH_PROP_ID_CUSTOM_ICM20948_GYRO, .channel_count = 3, .channels = people_count_sensor_channels, }; static const struct bt_mesh_sensor_type icm20948_sensor_type_mag = { .id = BT_MESH_PROP_ID_CUSTOM_ICM20948_MAG, .channel_count = 3, .channels = people_count_sensor_channels, }; /* ... ... other codes ... ... */ static struct
forum
2/15/2025
Hello, In an nRF52840, NCS2.7.0 application (based on BT NUS shell) I need to address the following case: UART Interrupt handler monitors incoming bytes A working thread (UART message parser & handler) is blocked on a sync object until a full message is received Once the interrupt handler recognizes the end-of-UART-messgae condition, it asserts the sync object The thread gets unblocked and handles the received message. The problem I'm facing is a very looong (>20ms !) latency from the time the interrupt asserted the sync object until the thread is unblocked. I tried: Using events for synchronization (k_event_post/k_event_wait) Using Semaphore (k_sem_give/k_sem_take) Changing the thread priority between priority 7 & priority 1 Nothing seems to improve the poor real-time response to a reasonable latency. I have past experience with freertos and I've never experienced such long latencies. I assume I'm missing something here. Is there a recommended 'light' sync object that
forum
2/15/2025
Hello In SDK 2.6.xx I used to define an extra CMake argument in the VSCode UI, i.e "-DMFG=1" This argument was available when CMakeLists.txt was processed so I could do additional processing i.e if(MFG) additional processing.. endif() This broke in 2.7.0 and higher which use sysbuild The argument is on the command line generated by VSCode but not available to CMake What's the recommended way to make it visible to CMake in SDK 2.7.0 and later that use sysbuild? Thanks Andy
forum
2/15/2025
Hello, I have implemented an application for the nRF52832 that uses peripheral NUS with LittleFS. The application receives sensor data via UART and stores it to a file using LittleFS. The central can then send a command via NUS which triggers reading the file with sensor data. All the file operations like reading, writting, erasing, and listing directory are implemented in a workqueue like recommended by Littlefs thread safe to make it thread safe. Here is the file read handler: static void littleFS_read_handler() { int err; struct fs_dirent entry; size_t pos = 0; int bytes_read = 0; char inChar; char file_read_buf[100]; err = fs_stat("/lfs/test.txt", &entry); if (err) { bt_nus_send(NULL, "No file to read\n", 16); return; } err = fs_open(&myFile, "/lfs/test.txt", FS_O_READ); if (err < 0) { LOG_INF("Error opening file [%d]\n", err); return; } bt_nus_send(NULL, "---Reading File---", strlen("---Reading File---")); while (pos < 100 - 1) { bytes_read = fs_read(&myFile, &inChar, 1);
forum
2/15/2025
Is it because the SDK is so new? The routines I pulled down from github didn't compile. Kconfig doesn't seem to have the following Settings at all
forum
2/15/2025
Hi, I am using sensor observer sample to get the data from sensor sample. However, I notice the power consuption is too high. I have look thourgh the forum and found this technique to reduce the power consumtion. I write one driver for this tehcnique. After I flash my board, it can work well for around 30s and then will have " bt_mesh_access: Failed to publish (err -105) bt_mesh_transport: Out of network advs" and cannot print "People count is %". I also notice that the Bluetooth Mesh: Sensor can still be trigger and generate data correctly. Here is my code: model handler /* * Copyright (c) 2020 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ #include #include #include "model_handler.h" #include "nus_handler.h" #include "pm.h" #define GET_DATA_INTERVAL 999 static struct k_work_delayable get_data_work; /* 传感器客户端回调函数 - 只处理People Count */ static void sensor_cli_data_cb(struct bt_mesh_sensor_cli *cli, struct bt_mesh_msg_ctx *ctx, const struct bt_mesh_sensor_type *sensor, const struct
forum
2/15/2025