-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Hid mouse prototype sample #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hid mouse prototype sample #10
Conversation
lib/Kconfig
Outdated
Enable ESB functionality | ||
|
||
if BLE | ||
source "../nrf/lib/ble/Kconfig" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is best-practice to use
rsource "ble/Kconfig"
instead
lib/Kconfig
Outdated
prompt "Enable BLE" | ||
default n | ||
help | ||
Enable ESB functionality |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Help text does not match prompt.
lib/ble/Kconfig
Outdated
# SPDX-License-Identifier: BSD-5-Clause-Nordic | ||
# | ||
source "../nrf/lib/ble/common/Kconfig" | ||
source "../nrf/lib/ble/services/Kconfig" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, it is recommended to use 'rsource'.
lib/ble/common/Kconfig
Outdated
config BLE_SVC_COMMON | ||
bool | ||
prompt "Enable BLE service utils" | ||
default n |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"default n"
can and should be omitted. It will have the same semantics without.
target_sources(app PRIVATE ${app_sources}) | ||
|
||
zephyr_library_include_directories($ENV{ZEPHYR_BASE}/samples/bluetooth) | ||
zephyr_library_include_directories(src) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't see any reason why the source files in 'src' would need 'src' in their include path.
If they need to include a header file in 'src' they can simply do
#include "header_file_in_src.h"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this might be needed when some of the source files are doing the "workaround hack" ...
*/ | ||
|
||
/* Workaround build system bug that will put objects in source dir */ | ||
#include "../../../zephyr/samples/bluetooth/gatt/dis.c" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SebastianBoe, |
lib/ble/CMakeLists.txt
Outdated
# | ||
add_library(nrf_ble INTERFACE) | ||
|
||
add_subdirectory(common) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding this directory should depend on BLE_SVC_COMMON
or else you might end up with a zephyr_library without a source file, which is not permitted.
To do this you can do
add_subdirectory_ifdef(CONFIG_BLE_SVC_COMMON common)
and remove the
_ifdef(CONFIG_BLE_SVC_COMMON
from the
zephyr_library_sources
invocation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed for both: BLE_SVC_COMMON & BLE_HIDS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build and configuration related changes are OK.
@SebastianBoe or @carlescufi, could you please more reviewers? |
It would be better to name the include folder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I hope this get in quick and we can start integrating the service.
One note to others:
- there is no synchronization between notification and host query (i.e. multiple notifications can be in-flight while host query will return only the most recent value); this requires callback from gatt notification handler that data was sent and only one notification can be in-flight
- we should not store mouse movements in the service (only absolute values should be recorded - for relative host should read zero).
- API could be improved (it would be great if report map would be hidden and service would be initialized by giving an array of logical devices - buttons_device, axis_device, constructing map and maintaining ids of characteristics internally).
These were some things we have talked about already off-line.
lib/ble/services/hids.c
Outdated
|
||
#define BOOT_MOUSE_INPUT_REPORT_MIN_SIZE 3 | ||
|
||
static ssize_t hids_protocol_mode_write(struct bt_conn *conn, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alignment of arguments seems wrong
lib/ble/services/hids.c
Outdated
u16_t offset, | ||
u8_t flags) | ||
{ | ||
printk("%s\n", __func__); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better if sys log is used instead.
RTT console can easily overflow if too many messages are printed so its nice to control what is logged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the logging subsystem is being re-written, @nordic-krch any comments?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it... I heard a rumor that CLI/Logger won't be scheduled for implementation in weeks or months.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logger is coming! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to use sys_log for now, so its possible to suppress these debug messages (currently printk is used). Later on, I will port it to the new logger
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nordic-krch Do you know when? What about CLI?
include/ble/services/hids.h
Outdated
*/ | ||
int hids_inp_rep_send(struct hids *hids_obj, | ||
u8_t rep_index, | ||
u8_t *p_rep, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alignment seems wrong (in many cases its off by 1 char)
lib/ble/services/hids.c
Outdated
&hids_obj->inp_rep_group.reports[rep_index]; | ||
|
||
if (p_hids_inp_rep->buff.size != len) { | ||
return -1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-EINVAL
include/ble/services/hids.h
Outdated
struct hids_info info; | ||
struct hids_inp_rep_group inp_rep_group_init; | ||
struct hids_rep_map rep_map; | ||
bool is_mouse; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This structure lacks documentation. Especially is_mouse is not obvious. Will doxygen part be added later?
static void mouse_movement_send(s16_t x_delta, s16_t y_delta) | ||
{ | ||
if (in_boot_mode) { | ||
x_delta = min(x_delta, 0x00ff); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am adding comment here but this is common for both modes.
First, this check should use defines from limits.h (SCHAR_MAX, SCHAR_MIN).
Second, you don't handle negative values.
|
||
static struct device *gpio_devs[4]; | ||
static struct gpio_callback gpio_cbs[4]; | ||
static bool in_boot_mode; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alignment (in many other places)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will try to improve alignment in various places. However, in this case, if you view this file in normal (or raw) mode, it is aligned correctly. I am not sure why it is displayed this way here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are probably two reasons. First is that in this on-line viewer tab is 4 space long while Zephyr assumes 8. Second is that I guess you have strange mix of spaces and tabs. The easiest way to solve it would be to use only tabs or only spaces in such cases.
I pointed out the places where it looks the worst.
Anyway - we can make code pretty in subsequent changes :)
include/ble/services/hids.h
Outdated
* @param _name Name of the HIDS instace | ||
*/ | ||
#define HIDS_DEF(_name) \ | ||
static struct bt_gatt_attr \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could gatt attr array become part of the struct hids? Is there any reason to keep it separate?
Also, can we not hide the type of this variable and instead use xys_INITIALIZER macro (e.g. see _THREAD_INITIALIZER from kernel.h)?
include/ble/services/hids.h
Outdated
/** @def HIDS_DEF | ||
* @brief HIDS instance declaration macro. | ||
* | ||
* @param _name Name of the HIDS instace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing dot after instance
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*instance typo :)
include/ble/services/hids.h
Outdated
}; | ||
|
||
/* HIDS report type values. */ | ||
enum { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many of these enums and structures are actually private to the service. Could you consider moving them to the c file?
Keeping private elements in public files has disadvantages: it makes API less readable, private element can be misused and unnecessary code is preprocessed in all files where header is included.
include/ble/services/hids.h
Outdated
|
||
/* HID Information descriptor. */ | ||
struct hids_info { | ||
u16_t bcd_hid; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As @pdunaj mentioned, please document the fields in these structures.
lib/ble/services/hids.c
Outdated
|
||
/* Register Report Map characteristic and its descriptor. */ | ||
memcpy(&hids_obj->rep_map, &hids_init_obj->rep_map, | ||
sizeof(hids_obj->rep_map)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alignment.
}; | ||
|
||
|
||
static void hids_evt_handler(struct hids_evt *p_evt) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what we have been doing in the nRF5 SDK, but perhaps since zephyr implements callbacks slightly differently (see bt_conn_cb above for example), it could be worth considering whether we should do it differently in nRF Connect SDK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean that we should use dedicated API for registering callbacks and individual callbacks for each event type?
|
||
static void hog_init(void) | ||
{ | ||
int err_code; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This naming "err_code" is not very much used in zephyr. I would suggest the shorter and more common "rc".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or just 'err'
static u8_t buttons_buff[INPUT_REP_BUTTONS_LEN]; | ||
static u8_t movement_buff[INPUT_REP_MOVEMENT_LEN]; | ||
static u8_t media_buff[INPUT_REP_MEDIA_PLAYER_LEN]; | ||
static u8_t report_map[] = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a constant?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its constant now
hids_init_obj.info.flags = (HIDS_REMOTE_WAKE | | ||
HIDS_NORMALLY_CONNECTABLE); | ||
|
||
p_hids_inp_rep = &hids_init_obj.inp_rep_group_init.reports[0]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no variable prefixes in zephyr, e.g. no p for pointers, although I like them, it would be good to align.
I have seen underscore prefixed static variables though e.g. "_var".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed pointer prefixes.
"_" prefix for static variables is not always used, so I didn't rename my variables
|
||
void configure_buttons(void) | ||
{ | ||
static const u32_t pin_id[4] = { SW0_GPIO_PIN, SW1_GPIO_PIN, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these be static?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was intended to be a per pin configuration. As such is static const.
|
||
#include <gatt/dis.h> | ||
#include <gatt/bas.h> | ||
#include <ble/services/hids.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lemrey suggested to change the name of includes/ble to includes/bluetooth for consistency.
This can be confusing when trying to find out whether the included header is part of zephyr (the same bluetooth directory) or nrf:
#include <bluetooth/hids.h> // NRF header
#include <bluetooth/uuid.h> // Zephyr header
Maybe we should use "nrf_" prefix for directories inside includes/. In this case:
#include <nrf_bluetooth/hids.h> // NRF header
#include <bluetooth/uuid.h> // Zephyr header
Any other suggestions/ideas are welcome.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's mention @carlescufi.
Update:
|
subsys/bluetooth/services/hids.c
Outdated
SYS_LOG_DBG("Boot Mouse Input Report CCCD has changed."); | ||
|
||
if (value == BT_GATT_CCC_NOTIFY) { | ||
SYS_LOG_DBG("Notification for Boot Mouse has been turned on\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\n is not needed
This is by far the worst review tool I have ever used. I have no idea which defects I created are fixed or even are commented as I need to dig to get the comments from the author. There is no indication how many defects are open in total. Does anybody else have the same feelings? @carlescufi would it be possible to drop doing reviews here and switch to codecollaborator instead? |
subsys/bluetooth/services/hids.c
Outdated
buffer[len++] = hid_info->flags; | ||
|
||
__ASSERT(len == HIDS_INFORMATION_CHAR_LEN, | ||
"HIDS Information encoding failed\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\n is not needed
subsys/bluetooth/services/hids.c
Outdated
} | ||
|
||
|
||
static u8_t hid_information_encode(u8_t *buffer, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this alignment correct?
subsys/bluetooth/services/hids.c
Outdated
evt.type = HIDS_EVT_HOST_EXIT_SUSP; | ||
evt_handler(&evt); | ||
break; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
either remove this empty line or add one at line 227
subsys/bluetooth/services/hids.c
Outdated
static ssize_t hids_info_read(struct bt_conn *conn, | ||
struct bt_gatt_attr const *attr, | ||
void *buf, | ||
u16_t len, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alignment of argument names is inconsistent
subsys/bluetooth/services/hids.c
Outdated
} | ||
|
||
|
||
static ssize_t hids_boot_mouse_inp_report_read(struct bt_conn *conn, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
inconsistent alignment or argument names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the same in other places
subsys/bluetooth/services/hids.c
Outdated
evt.type = HIDS_EVT_REPORT_MODE_ENTERED; | ||
evt_handler(&evt); | ||
break; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
excessive empty line
subsys/bluetooth/common/svc_common.c
Outdated
break; | ||
|
||
default: | ||
__ASSERT(false, "Unknown UUID type\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\n not needed
subsys/bluetooth/common/svc_common.c
Outdated
static int uuid_register(struct bt_uuid **const dest_uuid, | ||
struct bt_uuid const *const src_uuid) | ||
{ | ||
__ASSERT(*dest_uuid == NULL, "Overriding attribute UUID!\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\n not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also in other places (this is needed only with printk)
} else { | ||
u8_t buffer[INPUT_REP_MOVEMENT_LEN]; | ||
|
||
x_delta = min(x_delta, 0x0fff); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sanity check is incorrect - note that x_delta is signed. Please check as in line 321 (max(a,min(b,c)). I suggest connecting this with logical maximum/minimum from the report map.
x_delta = min(x_delta, 0x0fff); | ||
y_delta = min(y_delta, 0x0fff); | ||
|
||
buffer[0] = x_delta & 0x00ff; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe there is some macro that will convert to little endian whatever the endianess. If not can you check if memcpy would do the trick. In this second case please add static assert to check if endianess is as expected.
As this is sample somebody may compile it for different endianess configuration.
This commit adds HID service and its helper module to the ble library codebase. The module interacts with Zephyr bluetooth host layer to register HID service in the GATT database, pass notification data and respond to attribute callbacks. Signed-off-by: Kamil Piszczek <[email protected]>
This commit adds a sample with HIDS mouse application. The sample acts as peripheral and uses HIDS library to implement the HIDS service. After connecting to the central, pressing keys will emulate mouse motion. Signed-off-by: Kamil Piszczek <[email protected]>
Hi @SebastianBoe , can this be merged now or somebody else needs to approve? |
-Using nRF Connect SDK fork pr for TF-M (nrfconnect#10) which adds settable BL2 configuration Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-Using nRF Connect SDK fork pr for TF-M (nrfconnect#10) which adds settable BL2 configuration Signed-off-by: Frank Audun Kvamtrø <[email protected]>
…nrfconnect#10) Get timestamp from controller to allow drift compensation on gateway Signed-off-by: Alexander Svensen <[email protected]>
…#10) Get timestamp from controller to allow drift compensation on gateway Signed-off-by: Alexander Svensen <[email protected]>
…#10) Get timestamp from controller to allow drift compensation on gateway Signed-off-by: Alexander Svensen <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing. Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing. Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing. Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request nrfconnect#15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request nrfconnect#10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
-This manifest update and relevant commits in sdk-nrf is made to add support for nRF54H20 devices without a local build of the core -This includes taking in sdk-mbedtls pull request #15 for better client support in PK and MD wrapper APIs -This includes taking in sdk-oberon-psa-crypto pull request #10 for better client support as well as fixups for psa_util used for TLS/DTLS and X.509 testing Ref: NCSDK-15632 Signed-off-by: Frank Audun Kvamtrø <[email protected]>
This PR adds a prototype sample with HIDS mouse application. The sample acts as Bluetooth peripheral and uses HIDS library to implement the HID service. After connecting to the central, pressing keys will emulate mouse motion.
This sample is based on the example that is available in the nRF5 SDK.
So far, it has been tested with Android devices and Windows 7.