mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-06-19 04:15:06 +00:00
* Bluetooth LE addition * fixes * use the psram! helps a little on S3 (t-deck) * custom device name * Update symbols.c * Feedback + fixes Fixes external app start/stop server (child devices) Fixes BtManage causing a full system hang upon disabling bt when a device is connected to the host. * updoot * more updoot * move back! * Revert "move back!" This reverts commit d3694365c634acc5db62ac59771c496cb971a727. * fix some of the things * Addressing feedback? hmm * Fixes Bug 1 — Reconnect loop / Reconnect not working fixed Bug 2 — Name-only advertising overwrites HID advertising Bug 3 — BleHidDeviceCtx leak on re-enable Enhancement — HID device auto-start on radio re-enable * stuff... * update for consistency with others * fix crashes and some bonus symbols * a few symbols, i2c speed, cdn message 100kHz i2c speed seems to be more compatible with m5stack modules...and probably in general. cdn message no longer applies * Hide BT Settings when bt not enabled * Addressing things and device fixes * Missed one! * stuff
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
#pragma once
|
|
|
|
#ifdef ESP_PLATFORM
|
|
#include <sdkconfig.h>
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_NIMBLE_ENABLED)
|
|
|
|
#include <tactility/drivers/bluetooth_midi.h>
|
|
#include <tactility/error.h>
|
|
|
|
#include <esp_timer.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct Device;
|
|
|
|
bool ble_midi_get_active(struct Device* device);
|
|
void ble_midi_set_active(struct Device* device, bool v);
|
|
uint16_t ble_midi_get_conn_handle(struct Device* device);
|
|
void ble_midi_set_conn_handle(struct Device* device, uint16_t h);
|
|
bool ble_midi_get_use_indicate(struct Device* device);
|
|
void ble_midi_set_use_indicate(struct Device* device, bool v);
|
|
|
|
// MIDI keepalive timer helpers — timer handle lives in BleCtx.
|
|
// ble_midi_ensure_keepalive creates the timer if needed and starts it periodically.
|
|
// ble_midi_stop_keepalive stops (but does not delete) the timer.
|
|
error_t ble_midi_ensure_keepalive(struct Device* device, esp_timer_cb_t cb, uint64_t period_us);
|
|
void ble_midi_stop_keepalive(struct Device* device);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // CONFIG_BT_NIMBLE_ENABLED
|