From 34b808efb7f8d769a241e08d62c3e7c703d1c3c6 Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Tue, 3 Nov 2020 11:41:03 -0800 Subject: [PATCH] change default BLE name --- kmk/extensions/ble_split.py | 14 +++++++++++--- kmk/hid.py | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/kmk/extensions/ble_split.py b/kmk/extensions/ble_split.py index 67c87a4..a925db2 100644 --- a/kmk/extensions/ble_split.py +++ b/kmk/extensions/ble_split.py @@ -6,6 +6,7 @@ from kmk.extensions import Extension from kmk.hid import HIDModes from kmk.kmktime import ticks_diff, ticks_ms from kmk.matrix import intify_coordinate +from storage import getmount class BLE_Split(Extension): @@ -47,7 +48,15 @@ class BLE_Split(Extension): return def during_bootup(self, keyboard): - self._is_target = bool(self.split_side == 'Left') + self._ble.name = str(getmount('/').label) + if self._ble.name.endswith('L'): + # If name ends in 'L' assume left and strip from name + self._is_target = True + elif self._ble.name.endswith('R'): + # If name ends in 'R' assume right and strip from name + self._is_target = False + else: + self._is_target = bool(self.split_side == 'Left') if self.split_flip and not self._is_target: keyboard.col_pins = list(reversed(keyboard.col_pins)) @@ -108,7 +117,7 @@ class BLE_Split(Extension): self._ble.stop_scan() for adv in self._ble.start_scan(ProvideServicesAdvertisement, timeout=20): print('Scanning') - if UARTService in adv.services: + if UARTService in adv.services and adv.rssi > -70: self._uart_connection = self._ble.connect(adv) self._uart_connection.connection_interval = 11.25 self._uart = self._uart_connection[UARTService] @@ -126,7 +135,6 @@ class BLE_Split(Extension): self._uart = UARTService() advertisement = ProvideServicesAdvertisement(self._uart) - self._ble.stop_advertising() self._ble.start_advertising(advertisement) self.ble_time_reset() diff --git a/kmk/hid.py b/kmk/hid.py index 7fdcb24..6216154 100644 --- a/kmk/hid.py +++ b/kmk/hid.py @@ -230,12 +230,13 @@ class BLEHID(AbstractHID): from adafruit_ble import BLERadio from adafruit_ble.advertising.standard import ProvideServicesAdvertisement from adafruit_ble.services.standard.hid import HIDService + from storage import getmount BLE_APPEARANCE_HID_KEYBOARD = const(961) # Hardcoded in CPy MAX_CONNECTIONS = const(2) - def post_init(self, ble_name='KMK Keyboard', **kwargs): + def post_init(self, ble_name=str(getmount('/').label), **kwargs): self.conn_id = -1 self.ble = self.BLERadio()