Skip to content

Waking up from deep sleep on a Clue triggers safe mode #6478

@bmustill-rose

Description

@bmustill-rose

CircuitPython version

Adafruit CircuitPython 7.3.0 on 2022-05-23; Adafruit CLUE nRF52840 Express with nRF52840
Board ID:clue_nrf52840_express

Code/REPL

import alarm
import board
from adafruit_clue import clue

print("We're here!")
clue.play_tone(880, 0.5)

clue._a.deinit()
clue._b.deinit()
paa = alarm.pin.PinAlarm(pin=board.BUTTON_A, value=False, pull=True) 
pab = alarm.pin.PinAlarm(pin=board.BUTTON_B, value=False, pull=True) 
alarm.exit_and_deep_sleep_until_alarms(paa, pab)

Behavior

You are in safe mode because:
CircuitPython core code crashed hard. Crikey!
Attempted heap allocation when VM not running.

Description

I'm finding that waking up from a pin alarm on a Clue triggers safe mode.

I'm running:

UF2 Bootloader 0.6.4 lib/nrfx (v2.0.0) lib/tinyusb (0.12.0-145-g9775e7691) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: Adafruit CLUE nRF52840
Board-ID: nRF52840-CLUE-revA
Date: May 17 2022
SoftDevice: S140 6.1.1
adafruit-circuitpython-clue_nrf52840_express-en_GB-7.3.0
adafruit-circuitpython-bundle-7.x-mpy-20220610 (only the libraries that are required for the clue module are present)

See the code snippet for an example that replicates the problem.

Looking at the serial output "Woken up by alarm." is printed although straight after the Clue disconnects reconnecting as clueboot.
After resetting the Clue, the relevant parts of the serial output are:
You are in safe mode because:
CircuitPython core code crashed hard. Crikey!
Attempted heap allocation when VM not running.

I'll be more than happy to provide any additional info or do any further testing if required.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions