5c78d55b04
* 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
45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
#include <Tactility/app/btmanage/BtManagePrivate.h>
|
|
|
|
namespace tt::app::btmanage {
|
|
|
|
void State::setScanning(bool isScanning) {
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
scanning = isScanning;
|
|
}
|
|
|
|
bool State::isScanning() const {
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
return scanning;
|
|
}
|
|
|
|
void State::setRadioState(bluetooth::RadioState s) {
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
radioState = s;
|
|
}
|
|
|
|
bluetooth::RadioState State::getRadioState() const {
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
return radioState;
|
|
}
|
|
|
|
void State::updateScanResults() {
|
|
// Fetch outside the lock to avoid holding it during a service call.
|
|
auto results = bluetooth::getScanResults();
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
scanResults = std::move(results);
|
|
}
|
|
|
|
void State::updatePairedPeers() {
|
|
auto peers = bluetooth::getPairedPeers();
|
|
auto lock = mutex.asScopedLock();
|
|
lock.lock();
|
|
pairedPeers = std::move(peers);
|
|
}
|
|
|
|
} // namespace tt::app::btmanage
|