From 0bcd44af6106f4336173b11a4370f3a3ff6c4cdc Mon Sep 17 00:00:00 2001 From: krikun98 Date: Tue, 31 Aug 2021 01:49:28 +0300 Subject: [PATCH] Add messages to BLE queue without a waiting interval --- app/src/hog.c | 8 +++----- app/src/mouse/key_listener.c | 4 +--- app/src/mouse/main.c | 1 + 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/src/hog.c b/app/src/hog.c index 6b71c98f..259ab744 100644 --- a/app/src/hog.c +++ b/app/src/hog.c @@ -309,14 +309,12 @@ void send_mouse_report_callback(struct k_work *work) { K_WORK_DEFINE(hog_mouse_work, send_mouse_report_callback); int zmk_hog_send_mouse_report(struct zmk_hid_mouse_report_body *report) { - int err = k_msgq_put(&zmk_hog_mouse_msgq, report, K_MSEC(100)); + int err = k_msgq_put(&zmk_hog_mouse_msgq, report, K_NO_WAIT); if (err) { switch (err) { case -EAGAIN: { - LOG_WRN("Mouse message queue full, popping first message and queueing again"); - struct zmk_hid_mouse_report_body discarded_report; - k_msgq_get(&zmk_hog_mouse_msgq, &discarded_report, K_NO_WAIT); - return zmk_hog_send_mouse_report(report); + LOG_WRN("Mouse message queue full, dropping report"); + return err; } default: LOG_WRN("Failed to queue mouse report to send (%d)", err); diff --git a/app/src/mouse/key_listener.c b/app/src/mouse/key_listener.c index 4b8443f7..37fb3551 100644 --- a/app/src/mouse/key_listener.c +++ b/app/src/mouse/key_listener.c @@ -41,7 +41,7 @@ void mouse_timer_cb(struct k_timer *dummy) { k_work_submit_to_queue(zmk_mouse_work_q(), &mouse_tick); } -K_TIMER_DEFINE(mouse_timer, mouse_timer_cb, mouse_timer_cb); +K_TIMER_DEFINE(mouse_timer, mouse_timer_cb, NULL); static int mouse_timer_ref_count = 0; @@ -50,8 +50,6 @@ void mouse_timer_ref() { k_timer_start(&mouse_timer, K_NO_WAIT, K_MSEC(CONFIG_ZMK_MOUSE_TICK_DURATION)); } mouse_timer_ref_count += 1; - // trigger the first mouse tick event immediately - mouse_tick_timer_handler(NULL); } void mouse_timer_unref() { diff --git a/app/src/mouse/main.c b/app/src/mouse/main.c index a36b0047..271417c1 100644 --- a/app/src/mouse/main.c +++ b/app/src/mouse/main.c @@ -5,6 +5,7 @@ */ #include +#include #if IS_ENABLED(CONFIG_ZMK_MOUSE_WORK_QUEUE_DEDICATED)