← index #8671Issue #7130
Related · high · value 0.315
QUERY · ISSUE

ESP32-C3 BLE Long Range (Coded PHY) support

openby Solmisopened 2022-05-16updated 2024-09-08
port-esp32

Hello, I would like to use BLE Long Range in communication between the other device and my micropython application. I'm using ESP32-C3, which supports this BLE feature. As far as I know this is not supported by micropython, as well as the extended advertising, am I right? Are you planning to add Coded PHY support to micropython? I saw that micropython port to esp32 uses esp-idf, which itself supports both extended advertising and coded PHY. I've started changing the micropython (port) source code by myself, but so far without success. Could you give me some tips on how to achieve extended advertising & coded phy support in BLE in micropython? In fact I need to scan and connect with other device (which advertsises in extended advertising mode and coded PHY (125kbps)).

CANDIDATE · ISSUE

ESP32 Bluetooth: Error code "OSError: -18" when advertising with a too long payload

openby YueyanGuo1218opened 2021-04-19updated 2023-02-28
port-esp32

MicroPython v1.15 on 2021-04-18; ESP32 module with ESP32

When trying to advertising with a long payload(longer than 31 bytes) using bluetooth lib on esp32, Micropython would give an unclear error code " OSError: -18 ".

import bluetooth
esp32_ble = bluetooth.BLE()
esp32_ble.active(True)

payload = b'\x02\x01\x06\n\taLongName\x11\x07\x9e\xca\xdc$\x0e\xe5\xa9\xe0\x93\xf3\xa3\xb5\x01\x00@n'

esp32_ble.gap_advertise(interval_us=200000, adv_data=payload)
# Traceback (most recent call last):
#  File "<stdin>", line 6, in <module>
# OSError: -18

A payload longer than 31 bytes might be generated with a 128bit Service UUID and a long name(len>8).

from ble_advertising import advertising_payload    #example in /micropython/example/bluetooth

ServiceUUID = bluetooth.UUID("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")
payload = advertising_payload(name="muchTooLong", services=[ServiceUUID])

A short name would work just fine.
The error code is not helpful for debugging, but I'm not sure how to improve this.
I opened this issue to notify who have met the same problem.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied