mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 04:30:24 +01:00
There should be no change to these tests for existing PYBV1x and PYBD_SFx boards. Signed-off-by: Damien George <damien@micropython.org>
44 lines
1.0 KiB
Python
44 lines
1.0 KiB
Python
import sys
|
|
from pyb import Pin, ADCAll
|
|
|
|
if "STM32WB" in sys.implementation._machine:
|
|
pa0_adc_channel = 5
|
|
skip_temp_test = True # temperature fails on WB55
|
|
else:
|
|
pa0_adc_channel = 0
|
|
skip_temp_test = False
|
|
|
|
pins = [Pin.cpu.A0, Pin.cpu.A1, Pin.cpu.A2, Pin.cpu.A3]
|
|
|
|
# set pins to IN mode, init ADCAll, then check pins are ANALOG
|
|
for p in pins:
|
|
p.init(p.IN)
|
|
adc = ADCAll(12)
|
|
for p in pins:
|
|
print(p)
|
|
|
|
# set pins to IN mode, init ADCAll with mask, then check some pins are ANALOG
|
|
for p in pins:
|
|
p.init(p.IN)
|
|
adc = ADCAll(12, 0x70000 | 3 << pa0_adc_channel)
|
|
for p in pins:
|
|
print(p)
|
|
|
|
# init all pins to ANALOG
|
|
adc = ADCAll(12)
|
|
print(adc)
|
|
|
|
# read all channels
|
|
for c in range(19):
|
|
print(type(adc.read_channel(c)))
|
|
|
|
# call special reading functions
|
|
print(skip_temp_test or 0 < adc.read_core_temp() < 100)
|
|
print(0 < adc.read_core_vbat() < 4)
|
|
print(0 < adc.read_core_vref() < 2)
|
|
print(0 < adc.read_vref() < 4)
|
|
|
|
if sys.implementation._build == "NUCLEO_WB55":
|
|
# Restore button pin settings.
|
|
Pin("SW", Pin.IN, Pin.PULL_UP)
|