Bind Bluetooth driver to host_driver_t (#25199)

This commit is contained in:
Joel Challis 2025-05-05 04:05:04 +01:00 committed by GitHub
parent 614b631ee2
commit 842c840145
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 174 additions and 93 deletions

View file

@ -1,62 +1,26 @@
/*
* Copyright 2022
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Copyright 2025 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include "bluetooth.h"
#if defined(BLUETOOTH_BLUEFRUIT_LE)
# include "bluefruit_le.h"
#elif defined(BLUETOOTH_RN42)
# include "rn42.h"
#endif
__attribute__((weak)) void bluetooth_init(void) {}
void bluetooth_init(void) {
#if defined(BLUETOOTH_BLUEFRUIT_LE)
bluefruit_le_init();
#elif defined(BLUETOOTH_RN42)
rn42_init();
#endif
__attribute__((weak)) void bluetooth_task(void) {}
__attribute__((weak)) bool bluetooth_is_connected(void) {
return true;
}
void bluetooth_task(void) {
#if defined(BLUETOOTH_BLUEFRUIT_LE)
bluefruit_le_task();
#endif
__attribute__((weak)) uint8_t bluetooth_keyboard_leds(void) {
return 0;
}
void bluetooth_send_keyboard(report_keyboard_t *report) {
#if defined(BLUETOOTH_BLUEFRUIT_LE)
bluefruit_le_send_keyboard(report);
#elif defined(BLUETOOTH_RN42)
rn42_send_keyboard(report);
#endif
}
__attribute__((weak)) void bluetooth_send_keyboard(report_keyboard_t *report) {}
void bluetooth_send_mouse(report_mouse_t *report) {
#if defined(BLUETOOTH_BLUEFRUIT_LE)
bluefruit_le_send_mouse(report);
#elif defined(BLUETOOTH_RN42)
rn42_send_mouse(report);
#endif
}
__attribute__((weak)) void bluetooth_send_nkro(report_nkro_t *report) {}
void bluetooth_send_consumer(uint16_t usage) {
#if defined(BLUETOOTH_BLUEFRUIT_LE)
bluefruit_le_send_consumer(usage);
#elif defined(BLUETOOTH_RN42)
rn42_send_consumer(usage);
#endif
}
__attribute__((weak)) void bluetooth_send_mouse(report_mouse_t *report) {}
__attribute__((weak)) void bluetooth_send_consumer(uint16_t usage) {}
__attribute__((weak)) void bluetooth_send_system(uint16_t usage) {}