Skip to content

ViperIDE does not connect to wasp-os on PineTime over BLE #57

Description

@positron96

Describe the bug

Hello and thanks for an awesome project. I'm trying to use it with a Pinetime (nrf32-based open source watch) with wasp-os (micropython-based OS) over BLE, because it doesn't have any other methods of meaningful communication (no USB or serial or anything). Unfortunately, it doesn't work for me.

When I try to connect from ViperIDE, nothing changes for a while until a red message "Timeout reached before finding the ending sequence" appears.

The REPL over Nordic UART Service seems to be running fine on the watch, at least when I connect to it with "Web Device Cli" tool (it's just a Nordic UART Service terminal in browser), I can use the REPL. This is in the same browser on the same machine.

Interestingly, after failing to connect with ViperEDE, REPL stops responding even to the Web Device Cli and nRF Connect on the phone, i.e. BLE connection succeeds, but no response from REPL is sent when typing any text into it. It seems connection process from ViperVPN sends something to the micropython that causes it to stop responding over the REPL. To be able to talk to REPL again I need to restart the watch.

Setup

  • MicroPython board: PineTime watch
  • MicroPython version: 1.13.0
  • OS version: Windows 11
  • Browser: chrome
  • Connection type: BLE

To Reproduce
Steps to reproduce the behavior:

  1. Opened ViperIDE on PC
  2. Put PineTime near the PC
  3. Click "BLE" button in IDE
  4. Select Pinetime in device selection
  5. BLE button turns yellow
  6. BLE button turns green
  7. Wait for ~30s
  8. Error message appears.

Expected behavior

Connection should succeed

Actual Screenshots / Logs

Image

Here are chrome devtools logs right from the start of the connection up to the error.

Image

Here is a micropython version output

>>> sys.version_info
(3, 4, 0)
>>> sys.implementation
(name='micropython', version=(1, 13, 0), mpy=7173)

In addition, I captured the wireshark dump with nRF BLE sniffer, which I can try to make sense of, if it would help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions