Open jdswope opened 1 year ago
This is marked as a bug, but... is it really a bug?
According to https://github.com/adafruit/circuitpython/pull/5425 the only pins that can be used for PinAlarm are "IN0:PB00; IN1:PB02; IN2:PA02; IN3:PC00; IN4:PC01". Of those, it seems that only the PA02
pin is brought out on ItsyBitsy m4 – according to the pinout chart, it is the A0 pin.
PinAlarm does in fact work on my ItsyBitsy m4's A0 pin with this code:
import alarm
import time
import board
import digitalio
ledPin = digitalio.DigitalInOut(board.D13)
ledPin.direction = digitalio.Direction.OUTPUT
ledPin.value = True
time.sleep(1)
pin_alarm = alarm.pin.PinAlarm(pin=board.A0, value=True, pull=True)
alarm.exit_and_deep_sleep_until_alarms(pin_alarm)
I haven't tested power consumption, but this code lights the LED for one second every time I connect A0 pin to the 3V pin, which is what I would expect from this PinAlarm.
I would be great if ItsyBitsy's doc page mentioned that A0 is the pin that can do PinAlarm, since this is a useful feature that appears to not work... unless you dig quite deep and find out that of all the pins, only A0 works.
I am guessing the same probably applies to the Feather m4 board, assuming that its CPU (which is a slightly different model number IIRC) has the same TAMPER pins as the one in ItsyBitsty m4 – on the Feather, PA02 pin is also mapped to A0. I haven't tested this on the Feather.
Thanks for the info @raquo. I think you are right.
IIRC, we don't raise the issue from PinAlarm because it make work with light sleep just fine.
@jdswope You'll need to pick a different pin for deep sleep.
CircuitPython version
Code/REPL
Behavior
soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Traceback (most recent call last): File "code.py", line 51, in
ValueError: Invalid pin
Code done running.
Red LED starts blinking twice in succession every 5 seconds or so.
Description
Only happens when using the alarm.exit_and_deep_sleep_until_alarms(pin_alarm). Ir will let me use the time_alatm and works fine but, not the pin_alarm.
It even lets me set the pin_alarm to D11 (tor basically any other pin) but errors out on the pin_alarm.
Additional information
No response