8000 Merge jem2 fixes · kitlab-io/micropython@497b3c3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 497b3c3

Browse files
Merge jem2 fixes
2 parents 460895d + 0f0fdb8 commit 497b3c3

File tree

3 files changed

+13
-22
lines changed

3 files changed

+13
-22
lines changed

jem/ble_info_service.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
import struct
3-
3+
from ble_uart_peripheral import IRQ_GATTS_WRITE
44

55
class BLEINFOService:
66
# service that contains mtu, jem version and other useful hw info
@@ -12,24 +12,15 @@ def __init__(self, jem_ble, service_uuid, rxbuf=2, primary=False):
1212
self.mtu_char.callback(None, self.mtu_cbk)
1313
self._rx_buffer = bytearray()
1414

15-
def mtu_cbk(self):
15+
def mtu_cbk(self, chr):
1616
print("mtu_char_cbk")
1717
try:
18-
if IRQ_GATTS_READ == chr.event():
18+
if IRQ_GATTS_WRITE == chr.event():
1919
mtu_size = self.ble.get_mtu()
2020
data = struct.pack("<h", mtu_size)
2121
self.ble.write(self.mtu_char, data)
2222
except Exception as e:
2323
print("mtu_cbk failed %s" % e)
2424

2525
def notify_mtu(self, connected):
26-
print("notify_mtu")
27-
if not connected:
28-
return
29-
try:
30-
mtu_size = self.ble.get_mtu()
31-
print("mtu_size %s" % mtu_size)
32-
data = struct.pack("<h", mtu_size)
33-
self.ble.write(self.mtu_char, data)
34-
except Exception as e:
35-
print("notify_mtu failed %s" % e)
26+
print("notify_mtu ignore")

jem/ble_uart_peripheral.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,8 @@ def __init__(self, esp32_ble, name="JEM-BLE"):
139139
self.service_uuids = []
140140
self.primary_uuid = None
141141
self.char_handles_map = {}
142+
self._ble.active(True) # call before gap_name, or name will not change
142143
self._ble.config(gap_name=name)
143-
self._ble.active(True)
144144
#self._ble.config(mtu=200)
145145
self._ble.irq(self._irq)
146146

@@ -240,9 +240,9 @@ def _irq(self, event, data):
240240
conn_handle, value_handle = data
241241
if conn_handle in self._connections and value_handle in self.char_handles_map:
242242
# self._rx_buffer += self._ble.gatts_read(self._rx_handle)
243+
char_handle = self.char_handles_map[value_handle] # ex: self.rx_char
243244
if event == IRQ_GATTS_WRITE:
244245
value = self._ble.gatts_read(value_handle)
245-
char_handle = self.char_handles_map[value_handle] # ex: self.rx_char
246246
char_handle.irq(event, value)
247247
elif event == IRQ_GATTS_READ_REQUEST:
248248
char_handle.irq(event, None)
@@ -278,7 +278,7 @@ def rx_cbk(self, chr, data=None):
278278
except Exception as e:
279279
print("rx_cbk failed %s" % e)
280280

281-
def tx_cbk(self):
281+
def tx_cbk(self, chr):
282282
print("tx_char_cbk")
283283

284284
def irq(self, handler):

jem/boot.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,20 @@
1111
from ble_info_service import BLEINFOService
1212
from machine import Timer
1313
import bluetooth
14-
import os
15-
import json
14+
import os, json
1615

1716
esp32_ble = bluetooth.BLE()
1817
name="JEM-BLE"
1918
try:
20-
with open("jem_config.json", "r") as f:
21-
json_str = f.read()
22-
json_config = json.loads(json_str)
23-
name = json_config['ble']['name'] #get ble adv name
19+
f = open("jem_config.json", "r")
20+
json_str = f.read()
21+
json_config = json.loads(json_str)
22+
name = json_config['ble']['name'] #get ble adv name
2423
except Exception as e:
2524
print("BLEMANAGER: Failed to load jem_config.json: %s" % e)
2625

2726
try:
27+
print("boot with ble name %s" % name)
2828
jem_ble = BLE(esp32_ble, name=name)
2929

3030
repl_uart = BLEUART(jem_ble, service_uuid="6E400001-B5A3-F393-E0A9-E50E24DCCA9E",

0 commit comments

Comments
 (0)
0