QUERY · ISSUE
[nrf-port] NRF51822 BLE is not working (can't apply GAP parameters)
I've tried to compile and use bluetooth on a NRF51822 on a PCA10028, but I think that something in the code is broken..
If I compile for PCA10028 the board hang and REPL don't start.
if I compile for PCA10000, PCA10001, PCA10031 I always get this error:
No problem on the PCA10040.
>>> MicroPython v1.17-63-g67d1dca9c-dirty on 2021-09-21; PCA10001 with NRF51822
Type "help()" for more information.
>>> import ble
>>> ble.enable()
SoftDevice enabled
Traceback (most recent call last):
File "<stdin>", in <module>
OSError: can't apply GAP parameters
CANDIDATE · ISSUE
nRF microbit (nRF51822) issues
I've built the ports/nrf for microbit with default configuration :
[nrf]$ make BOARD=microbit clean
[nrf]$ make -j8 BOARD=microbit
and using $ screen /dev/ttyACM0 115200 to access REPL, but have some issues :
- file system microbitfs is not accessible via
ufsor Mu Editor. How to externally acess the internal file system ? With official MicroPython for BBC micro:bit ufs and Mu Editor can access the files; Ctrl+din REPL freezes, as well asmachine.soft_reset();deepsleep()andlightsleep()don't work. It seems that__WFIand__WFEare not working on microbit/nRF51822;- unstable I2C scan reading.
And building with Bluetooth :
[nrf]$ make BOARD=microbit clean
[nrf]$ make -j8 BOARD=microbit SD=s110
then REPL is not accessible at all via $ screen /dev/ttyACM0 115200.
Not issues, but features lacking with respect to official MicroPython for BBC Micro:bit :
- no float numbers and math module, but it is possible to enable, see my commit "nrf : nRF51 with float enabled" in my branch;
- module 'microbit' :
- no
button_a.*/button_b.*; - no
display.read_light_level(); - no
accelerometer.*; - no
compass.*.
- no
About the buttons A and B, it is simple to read via machine.Pin :
from machine import Pin
button_a = Pin(Pin.cpu.P17, Pin.IN, Pin.PULL_UP)
button_b = Pin(Pin.cpu.P26, Pin.IN, Pin.PULL_UP)
button_a.value() # button A not pressed
1
button_a.value() # button A pressed
0