Bluetooth: How to include Output Report in Periferal hids

We are building a Bluetooth remote using nRF52810 and nRF connect SDK v2.5.1

The remote have 20 buttons to be transmitted every 100mS, and we need several LED on / off commands back to the remote.

The remote are using nRF52810 and the central are using nRF52832, both custom boards.

The central are based on central_hids and seems to be working so the problem seems to be on the remote side.

We have based this on the zephyr example periferal_hids.and this is working with key-pressed, but we have problem getting the response back. We have configured output report in the report map, but there seems to be issues with registering the Bluetooth services correctly. When attempting to send the caps-lock message from the central we get the following message "HID device does not have Keyboard OUT report"
.

We have limited RAM and had to modify the periferal_hids example. This was successful, however when we tried the peripheral_hids_keyboard example but was not able to make this small enough for the nRF52810.

With this we have two questions:

- How to configure the output report in this example?

- Do you have a prj_minimal configuration for the peripheral_hids_keyboard example to run on nRF52810?

Solving any of the two is sufficient, so witch is the easiest way to solve this.

Best regards

Gerhard Gullaksen

7Sense

1882.prj.confhog.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/** @file
* @brief HoG Service sample
*/
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/types.h>
#include <zephyr/drivers/gpio.h>
#include <stddef.h>
#include <string.h>
#include <errno.h>
#include <zephyr/sys/printk.h>
#include <zephyr/sys/byteorder.h>
#include <zephyr/kernel.h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
drv_bt.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* main.c - Application main entry point */
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/types.h>
#include <stddef.h>
#include <string.h>
#include <errno.h>
#include <zephyr/sys/printk.h>
#include <zephyr/sys/byteorder.h>
#include <zephyr/kernel.h>
#include <zephyr/settings/settings.h>
#include <zephyr/bluetooth/bluetooth.h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX